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-shrink
row(기본값): 주축이 수평이고 시작점이 왼쪽 끝에 있습니다.
2. #🎜🎜#flex-wrap#🎜🎜#
속성 정의, 한 축을 정렬할 수 없는 경우 줄 바꿈 방법. #🎜🎜#.item { flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] }
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; }
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-grow
, flex-shrink
和 flex-basis
的简写,默认值为0 1 auto
。后两个属性可选。
.item { flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] }
该属性有两个快捷值: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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











순수한 CSS3로 물결 효과를 얻는 방법은 무엇입니까? 이 기사에서는 SVG 및 CSS 애니메이션을 사용하여 물결 효과를 만드는 방법을 소개합니다. 도움이 되길 바랍니다.

이 글에서는 CSS를 활용하여 자주 나타나는 다양한 모양의 버튼을 쉽게 구현하는 방법을 알려드리겠습니다. 도움이 되셨으면 좋겠습니다.

두 가지 방법: 1. 표시 속성을 사용하여 요소에 "display:none;" 스타일을 추가합니다. 2. 요소를 숨기려면 위치 및 상단 속성을 사용하여 요소의 절대 위치를 설정하세요. 요소에 "position:absolute;top:-9999px;" 스타일을 추가하세요.

Linux에서의 system() 함수 요약 Linux 시스템에서 system() 함수는 명령줄 명령을 실행하는 데 사용할 수 있는 매우 일반적으로 사용되는 함수입니다. 이 기사에서는 system() 함수를 자세히 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. 1. system() 함수의 기본 사용법은 다음과 같습니다. intsystem(constchar*command) 여기서 명령 매개변수는 문자입니다.

CSS에서는 border-image 속성을 사용하여 레이스 테두리를 만들 수 있습니다. border-image 속성은 이미지를 사용하여 테두리를 생성할 수 있습니다. 즉, 배경 이미지를 레이스 스타일로 지정하기만 하면 됩니다. "border-image: url(이미지 경로)은 이미지 테두리 너비가 안쪽으로 반복되는지 여부입니다.

텍스트 회전판과 이미지 회전판을 만드는 방법은 무엇입니까? 누구나 가장 먼저 생각하는 것은 js를 사용할지 여부입니다. 실제로 순수 CSS를 사용하여 구현하는 방법도 모두에게 도움이 되기를 바랍니다.

구현 방법: 1. ":active" 선택기를 사용하여 그림에 대한 마우스 클릭 상태를 선택합니다. 2. 변환 속성과 scale() 함수를 사용하여 그림 확대 효과를 얻습니다. 구문은 "img:active {transform; : scale(x축 배율, y축 배율);}".

프론트엔드 인터뷰에서 CSS를 사용하여 주사위/마작 레이아웃을 구현하는 방법에 대한 질문을 자주 받습니다. 다음 기사에서는 CSS를 사용하여 3D 주사위를 만드는 방법을 소개합니다(Flex 및 Grid 레이아웃은 3D 주사위를 구현함).
