이 글은 CSS3의 디스플레이 속성의 Flex 레이아웃에 대한 간략한 소개를 제공합니다. 이는 특정 참조 값을 가지고 있으므로 도움이 될 수 있습니다.
최근에 WeChat 애플릿을 배우고 있는데, 홈 페이지의 레이아웃을 디자인할 때 새로운 레이아웃 방법인 display:flex
.container { display: flex; flex-direction: column; align-items: center; background-color: #b3d4db; }
를 발견했습니다. 컴파일 후의 효과는 매우 분명하고 인터페이스의 레이아웃도 매우 합리적입니다. 매우 명확해 보입니다. 그렇다면 이 속성은 무엇에 사용됩니까?
Flex는 유연한 레이아웃(flexible Layout)이라는 뜻을 지닌 Flex Box의 약어로, 박스 형태의 모델에 최대한의 유연성을 제공하기 위해 사용됩니다. Flex 레이아웃으로 설정한 후에는 하위 요소의 float
, clear
및 vertical-align
속성이 유효하지 않게 됩니다. float
、clear
和vertical-align
属性将失效。
它即可以应用于容器中,也可以应用于行内元素。(以上说明结合微信开发者工具说明)2009年,W3C提出了一种新的方案----Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目"。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start
,结束位置叫做main end
;交叉轴的开始位置叫做cross start
,结束位置叫做cross end
。项目默认沿主轴排列。单个项目占据的主轴空间叫做main size
,占据的交叉轴空间叫做cross size
main start
라고 하고, 끝 위치를 main end
라고 합니다. 교차축의 시작 위치는 다음과 같습니다. 교차 시작
이라고 하며 끝 위치를 교차 끝
이라고 합니다. 항목은 기본적으로 기본 축을 따라 정렬됩니다. 단일 항목이 차지하는 주축 공간을 기본 크기
, 교차 축이 차지하는 공간을 교차 크기
라고 합니다. 다음 6가지 속성이 컨테이너에 설정됩니다. flex-direction 컨테이너에 있는 항목의 배열 방향(기본 가로 배열) flex-wrap 컨테이너에 있는 항목의 포장 방법 flex -flow 위의 두 속성 약어 justify-content 주축에 항목이 정렬되는 방식align-items 항목이 교차축에 정렬되는 방식align-content 여러 축의 정렬을 정의합니다. 프로젝트에 축이 하나만 있는 경우 이 속성은 효과가 없습니다.
flex-direction
1 .box { 2 flex-direction: row | row-reverse | columns | column-reverse }
속성의 선택적 값 범위는 수평 주축 왼쪽에서 오른쪽으로, 수평 주축을 따라 오른쪽에서 왼쪽으로 행 역순으로, 수직 주축을 따라 위에서 오른쪽에서 아래로, 열 역순으로 배열합니다.
flex-wrap
1 .box{ 2 flex-wrap: nowrap | Wrap-reverse 3 }속성의 선택적 값 범위는 nowrap(기본값)이며 줄 바꿈이 없습니다. 줄 바꿈(첫 번째 줄은 위에 있음) 및 줄 바꿈(알고 계시나요~)
flex-flow
1 .box { 2 flex-flow:속성 작성, 위 두 메소드의 값을 ||
justify-content
1 .box { 2 justify-content: flex-start | center | space-between | space- around 3 }
주축의 항목 정렬(주축은 flex-direction 속성의 설정에 따라 다름)flex-start: 왼쪽부터 정렬 or top on the main axisflex-end : 주축의 오른쪽 또는 아래에서 배열 center : 주축의 중앙에 배열 space-between : 왼쪽과 오른쪽 끝 또는 위쪽과 위쪽에서 배열 주축에서 아래로 space-around: 각 항목의 양쪽 공간이 동일합니다. 따라서 항목 사이의 공간은 항목과 테두리 사이의 공간의 두 배입니다. 3} -content 1 .box { 2 align-content: flex-start | flex-end | center | space-around | Stretch; 컨테이너, 아래에서 이에 대해 이야기해 보겠습니다. 컨테이너에 있는 항목의 속성은 다음과 같습니다. order 항목이 정렬되는 순서입니다. 값이 작을수록 순위가 높아집니다. 기본값은 0입니다.flex-grow 항목의 확대 비율, 기본값은 0, 즉 남은 공간이 있으면 확대되지 않습니다.
flex-basis 在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,项目的本来大小。
flex 是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
align-self 允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
1 .item { 2 order: <integer>; 3 }
1 .item { 2 flex-grow: <number>; /* default 0 */ 3 }
1 .item { 2 flex-shrink: <number>; /* default 1 */ 3 }
1 .item { 2 flex-basis: <length> | auto; /* default auto */ 3 }
1 .item { 2 flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] 3 }
1 .item { 2 align-self: auto | flex-start | flex-end | center | baseline | stretch; 3 }
容器属性和项目属性是可以配合使用的,用法类似于CSS的行内式和嵌入式的道理一样。希望你可以在实际应用中熟练使用。
相关推荐:
CSS选择器的代码实例以及css优先级的代码实例위 내용은 CSS3의 디스플레이 속성 Flex 레이아웃에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!