찾다
웹 프론트엔드CSS 튜토리얼CSS3 플렉스 레이아웃 요약

CSS3 플렉스 레이아웃 요약

Feb 21, 2020 pm 05:49 PM
css3flex요약

CSS3 플렉스 레이아웃 요약

CSS3 플렉스 레이아웃 요약

2009년 W3C는 새로운 솔루션을 제안했습니다 --- -Flex 레이아웃 다양한 페이지 레이아웃을 간단하고 완전하며 반응적으로 구현할 수 있습니다. 현재는 모든 브라우저에서 지원됩니다.

Flex는 유연한 상자(Flexible Box)의 약어로 "탄력적인 레이아웃"을 의미하며 상자 모양 모델에 최대한의 유연성을 제공하는 데 사용됩니다. 모든 컨테이너를 Flex 레이아웃으로 지정할 수 있습니다.

(권장 학습: CSS 튜토리얼 )

인라인 요소는 Flex 레이아웃을 사용할 수도 있습니다.

.box{
  display: flex;
}
.box{
  display: inline-flex;
}

Webkit 코어가 있는 브라우저는 -webkit 접두사를 추가해야 한다는 점에 유의해야 합니다.

.box{
  display: -webkit-flex; /* Safari */
  display: flex;
}

또한 Flex 레이아웃으로 설정한 후에는 하위 요소의 부동, 투명 및 수직 정렬 속성이 유효하지 않게 됩니다.

플렉스 레이아웃에 일반적으로 사용되는 6가지 속성

  • flex-direction
  • flex-wrap#🎜 🎜## 🎜🎜#flex-flow
  • justify-content
  • align-items
  • align-content
  • #🎜🎜 #
  • 1.flex-direction
속성은 주축의 방향(즉, 항목의 배열 방향)을 결정합니다.

.box {
  flex-direction: row | row-reverse | column | column-reverse;
}
1、flex-direction属性决定主轴的方向(即项目的排列方向)。

.box{
  flex-wrap: nowrap | wrap | wrap-reverse;
}
  • row(默认值):主轴为水平方向,起点在左端。
  • row-reverse:主轴为水平方向,起点在右端。
  • column:主轴为垂直方向,起点在上沿。
  • column-reverse:主轴为垂直方向,起点在下沿。

2、<strong>flex-wrap</strong>属性定义,如果一条轴线排不下,如何换行。

.box {
  flex-flow: <flex-direction> || <flex-wrap>;
}
  • nowrap(默认):不换行。
  • wrap:换行,第一行在上方。
  • wrap-reverse:换行,第一行在下方。

3、<strong>flex-flow</strong>属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

-content: flex-start | flex-end | center | space-between | space-

4、<strong>justify-content</strong>属性定义了项目在主轴上的对齐方式。

.box {
  align-items: flex-start | flex-end | center | baseline | stretch;
}
  • flex-start(默认值):左对齐
  • flex-end:右对齐
  • center: 居中
  • space-between:两端对齐,项目之间的间隔都相等。
  • space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

5、<strong>align-items</strong>属性定义项目在交叉轴上如何对齐。

.box {
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
  • flex-start:交叉轴的起点对齐。
  • flex-end:交叉轴的终点对齐。
  • center:交叉轴的中点对齐。
  • baseline: 项目的第一行文字的基线对齐。
  • stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。

6、<strong>align-content</strong>属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

.item {
  order: <integer>;
}

该属性可能取6个值。

  • flex-start:与交叉轴的起点对齐。
  • flex-end:与交叉轴的终点对齐。
  • center:与交叉轴的中点对齐。
  • space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
  • space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
  • stretch(默认值):轴线占满整个交叉轴。

 还有以下6个属性设置在项目上。

  • order
  • flex-grow
  • flex-shrink
  • flex-basis
  • flex
  • align-self

 order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

.item {
  flex-grow: <number>; /* default 0 */}

flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

.item {
  flex-shrink: <number>; /* default 1 */}

如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。

flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。

.item {
  flex-basis: <length> | auto; /* default auto */}

如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrinkrow(기본값): 주축이 수평이고 시작점이 왼쪽 끝에 있습니다.

#🎜🎜#row-reverse: 주축이 수평이고 시작점이 오른쪽 끝에 있습니다. #🎜🎜##🎜🎜#column: 주축은 수직이고 시작점은 위쪽 가장자리에 있습니다. #🎜🎜##🎜🎜#column-reverse: 주축이 수직이고 시작점이 아래쪽 가장자리에 있습니다. #🎜🎜##🎜🎜##🎜🎜#2. #🎜🎜#flex-wrap#🎜🎜#속성 정의, 한 축을 정렬할 수 없는 경우 줄 바꿈 방법. #🎜🎜#
.item {
  flex: none | [ <&#39;flex-grow&#39;> <&#39;flex-shrink&#39;>? || <&#39;flex-basis&#39;> ]
}
#🎜🎜##🎜🎜#nowrap(기본값): 줄 바꿈이 없습니다. #🎜🎜##🎜🎜#wrap: 줄 바꿈, 첫 번째 줄이 맨 위에 오도록 합니다. #🎜🎜##🎜🎜#wrap-reverse: 줄 바꿈, 첫 번째 줄은 아래에 있습니다. #🎜🎜##🎜🎜##🎜🎜#3, #🎜🎜#flex-flow#🎜🎜# 속성은 flex-direction 속성이고 flex -wrap 속성의 약어로, 기본값은 row nowrap입니다. #🎜🎜#
align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
#🎜🎜#4. #🎜🎜#justify-content#🎜🎜#속성은 주축의 항목 정렬을 정의합니다. #🎜🎜#
.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
#🎜🎜##🎜🎜#flex-start(기본값): 왼쪽 정렬 #🎜🎜##🎜🎜#flex-end: 오른쪽 정렬 #🎜🎜##🎜🎜#center: 가운데 #🎜 🎜 ##🎜🎜#space-between: 양쪽 끝을 정렬하고 항목 사이의 간격을 동일하게 만듭니다. #🎜🎜##🎜🎜#space-around: 각 항목이 양쪽에 동일한 간격으로 배치되어 있습니다. 따라서 항목 사이의 공간은 항목과 테두리 사이의 공간의 두 배입니다. #🎜🎜##🎜🎜##🎜🎜#5. #🎜🎜#align-items#🎜🎜#속성은 항목이 교차 축에 정렬되는 방식을 정의합니다. #🎜🎜#rrreee#🎜🎜##🎜🎜#flex-start: 교차축의 시작점을 정렬합니다. #🎜🎜##🎜🎜#flex-end: 교차축의 끝점 정렬입니다. #🎜🎜##🎜🎜#중앙: 교차축의 중간점을 정렬합니다. #🎜🎜##🎜🎜#baseline: 항목 텍스트 첫 줄의 기준선 정렬입니다. #🎜🎜##🎜🎜#stretch(기본값): 항목이 높이를 설정하지 않거나 자동으로 설정된 경우 컨테이너의 전체 높이를 차지합니다. #🎜🎜##🎜🎜##🎜🎜#6. #🎜🎜#align-content#🎜🎜#속성은 여러 축의 정렬을 정의합니다. 프로젝트에 축이 하나만 있는 경우 이 속성은 효과가 없습니다. #🎜🎜#rrreee#🎜🎜#이 속성은 6개의 값을 가질 수 있습니다. #🎜🎜##🎜🎜##🎜🎜#flex-start: 교차축의 시작점에 맞춰 정렬됩니다. #🎜🎜##🎜🎜#flex-end: 교차축의 끝점에 맞춰 정렬됩니다. #🎜🎜##🎜🎜#중앙: 교차축의 중간점에 맞춰 정렬됩니다. #🎜🎜##🎜🎜#space-between: 교차축의 양쪽 끝에 정렬되며, 축 사이의 간격이 균등하게 분포됩니다. #🎜🎜##🎜🎜#space-around: 각 축의 양쪽 간격이 동일합니다. 따라서 축 사이의 거리는 축과 프레임 사이의 거리의 두 배입니다. #🎜🎜##🎜🎜#stretch(기본값): 축이 전체 교차 축을 차지합니다. #🎜🎜##🎜🎜##🎜🎜# 프로젝트에는 다음과 같은 6가지 속성이 설정되어 있습니다. #🎜🎜##🎜🎜##🎜🎜#주문#🎜🎜##🎜🎜#flex-grow#🎜🎜##🎜🎜#flex -shrink#🎜🎜##🎜🎜#플렉스 기반#🎜🎜##🎜🎜#플렉스#🎜🎜##🎜🎜#align-self#🎜🎜##🎜🎜##🎜🎜# order 속성은 항목이 정렬되는 순서를 정의합니다. 값이 작을수록 순위가 높아집니다. 기본값은 0입니다. #🎜🎜##🎜🎜#rrreee#🎜🎜# flex-grow 속성은 항목의 확대 비율을 정의합니다. 기본값은 0입니다. 남은 공간이므로 확대되지 않습니다. #🎜🎜#rrreee#🎜🎜#모든 항목의 flex-grow 속성이 1인 경우 남은 공간(있는 경우)을 균등하게 나눕니다. 한 항목의 flex-grow 속성이 2이고 다른 항목이 1인 경우 전자는 다른 항목보다 남은 공간의 두 배를 차지합니다. #🎜🎜##🎜🎜# flex-shrink 속성은 항목의 축소 비율을 정의합니다. 즉, 공간이 부족하면 항목이 축소됩니다. #🎜🎜#rrreee#🎜🎜#모든 항목의 flex-shrink 속성이 1인 경우 공간이 부족할 경우 비례하여 모두 축소됩니다. 한 항목의 flex-shrink 속성이 0이고 다른 항목이 1인 경우 전자는 공간이 부족할 때 축소되지 않습니다. #🎜🎜#

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

.item {
  flex-basis: <length> | auto; /* default auto */}

flex属性是flex-growflex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

.item {
  flex: none | [ <&#39;flex-grow&#39;> <&#39;flex-shrink&#39;>? || <&#39;flex-basis&#39;> ]
}

该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。

align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

위 내용은 CSS3 플렉스 레이아웃 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 博客园에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
두 개의 이미지와 API : 제품을 다시 칠하는 데 필요한 모든 것두 개의 이미지와 API : 제품을 다시 칠하는 데 필요한 모든 것Apr 15, 2025 am 11:27 AM

최근에 제품 이미지의 색상을 동적으로 업데이트하는 솔루션을 찾았습니다. 따라서 제품 중 하나만 사용하여 다른 방식으로 색칠 할 수 있습니다.

주간 플랫폼 뉴스 : 제 3 자 코드, 수동 혼합 콘텐츠, 가장 느린 연결이있는 국가의 영향주간 플랫폼 뉴스 : 제 3 자 코드, 수동 혼합 콘텐츠, 가장 느린 연결이있는 국가의 영향Apr 15, 2025 am 11:19 AM

이번 주에 라운드 업, Lighthouse는 타사 스크립트에 빛을 비추고 불안한 자원이 안전한 사이트에서 차단되고 많은 국가 연결 속도가 차단됩니다.

직접 비자 스크립트 기반 분석을 호스팅하는 옵션직접 비자 스크립트 기반 분석을 호스팅하는 옵션Apr 15, 2025 am 11:09 AM

사이트에서 방문자 및 사용 데이터를 추적하는 데 도움이되는 분석 플랫폼이 많이 있습니다. 아마도 널리 사용되는 Google 웹 로그 분석

그것은 모두 헤드에있는 모든 것 : React Helmet과 함께 React 전원 사이트의 문서 헤드 관리그것은 모두 헤드에있는 모든 것 : React Helmet과 함께 React 전원 사이트의 문서 헤드 관리Apr 15, 2025 am 11:01 AM

문서 헤드는 웹 사이트에서 가장 화려한 부분이 아닐 수도 있지만 웹 사이트의 성공에 중요합니다.

JavaScript의 Super () 란 무엇입니까?JavaScript의 Super () 란 무엇입니까?Apr 15, 2025 am 10:59 AM

Super ()?를 호출하는 JavaScript를 볼 때 어떤 일이 발생 하는가. 아동 클래스에서는 Super ()를 사용하여 부모의 생성자와 Super를 호출합니다. 그것의 접근

다양한 유형의 기본 JavaScript 팝업 비교다양한 유형의 기본 JavaScript 팝업 비교Apr 15, 2025 am 10:48 AM

JavaScript에는 사용자 상호 작용을위한 특수 UI를 표시하는 다양한 내장 팝업 API가 있습니다. 뛰어나게:

액세스 가능한 웹 사이트를 구축하기가 어려운 이유는 무엇입니까?액세스 가능한 웹 사이트를 구축하기가 어려운 이유는 무엇입니까?Apr 15, 2025 am 10:45 AM

나는 다른 날에 많은 회사들이 액세스 가능한 웹 사이트를 만드는 데 어려움을 겪고있는 이유에 대해 다른 프론트 엔드 사람들과 대화를 나누고있었습니다. 액세스 가능한 웹 사이트가 왜 그렇게 어려운가

'숨겨진'속성은 눈에 띄게 약합니다'숨겨진'속성은 눈에 띄게 약합니다Apr 15, 2025 am 10:43 AM

당신이해야 할 일을 정확하게 수행하는 HTML 속성이 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구