CSS3가 유연한 레이아웃을 구현하는 방법에 대한 자세한 설명
1. CSS3 가변 상자
가변 상자는 CSS3의 새로운 레이아웃 모드입니다.
CSS3 유연한 상자(Flexible Box 또는 Flexbox)는 페이지가 다양한 화면 크기와 장치 유형에 적응해야 할 때 요소가 적절한 동작을 갖도록 보장하는 레이아웃 방법입니다.
Flexbox 레이아웃 모델을 도입하는 목적은 컨테이너의 하위 요소에 빈 공간을 배열, 정렬 및 할당하는 보다 효율적인 방법을 제공하는 것입니다.
2. 브라우저 지원
표의 숫자는 이 속성을 지원하는 첫 번째 브라우저의 버전 번호를 나타냅니다.
숫자 바로 뒤에 나오는 -webkit- 또는 -moz-는 지정된 브라우저의 접두사입니다.
Properties | ![]() |
![]() |
![]() |
![]() |
![]() |
기본 지원(단일 줄 Flexbox) | 2 9. 0 21.0 -webkit- | 11.0 | 22.0 18.0 - moz- | 6.1 -webkit- | 12.1 -webkit- |
다중 줄 flexbox | 29.0 21.0 -webkit- | 11.0 | 28.0 | 6.1 -webkit- | 17.0 15.0 -웹킷- 12.1 |
3. CSS3 유연한 상자 콘텐츠
Flexible 상자는 Flex 컨테이너와 Flex 항목으로 구성됩니다.
플렉서블 컨테이너는 디스플레이 속성 값을 flex 또는 inline-flex로 설정하여 플렉서블 컨테이너로 정의됩니다.
유연한 컨테이너에는 하나 이상의 유연한 하위 요소가 포함되어 있습니다.
참고: 유연한 컨테이너 외부와 유연한 하위 요소 내에서는 정상적으로 렌더링됩니다. 플렉스 박스는 플렉스 하위 요소가 플렉스 컨테이너 내에 배치되는 방식만 정의합니다.
Flexible 하위 요소는 일반적으로 Flexbox 내 한 행에 표시됩니다. 기본적으로 컨테이너당 하나의 행만 있습니다.
다음 요소는 elastic 하위 요소가 왼쪽에서 오른쪽으로 연속으로 표시됨을 보여줍니다.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>FLEX</title> <style> .flex-container { display: flex; flex-direction: row; flex-wrap: wrap; width: 1200px; height: 640px; background-color: lightsteelblue; } .flex-container .flex-item { width: 320px; height: 240px; margin: 10px; background-color:lightsalmon; } </style> </head> <body> <div> <div></div> <div></div> <div></div> </div> </body> </html>
IV. 일반적으로 사용되는 CSS3 가변 상자 속성
속성 | 설명 |
---|---|
flex-direction | 플렉스 컨테이너에서 하위 요소의 배열을 지정하세요 |
flex-wrap | 플렉스 박스의 하위 요소가 상위 컨테이너를 초과할 때 래핑할지 여부를 설정하세요 |
flex-flow | flex-direction 및 flex- Wrap의 약어 |
align-items | 플렉스 박스 요소의 정렬을 가로축(세로축) 방향으로 설정 |
align-content | align-items와 유사하게 flex-wrap 속성의 동작을 수정합니다. 그러나 하위 요소 정렬을 설정하는 대신 행 정렬을 설정합니다. |
justify-content | 주축에서 Flexbox 요소의 정렬을 설정합니다. (가로축) 방향 |
1. flex-direction 属性
决定项目的方向。
注意:如果元素不是弹性盒对象的元素,则 flex-direction 属性不起作用。
.flex-container { flex-direction: row | row-reverse | column | column-reverse; }
属性值
值 | 描述 |
---|---|
row | 默认值。元素将水平显示,正如一个行一样。 |
row-reverse | 与 row 相同,但是以相反的顺序。 |
column | 元素将垂直显示,正如一个列一样。 |
column-reverse | 与 column 相同,但是以相反的顺序。 |
2. flex-wrap 属性
flex-wrap 属性规定flex容器是单行或者多行,同时横轴的方向决定了新行堆叠的方向。
值 | 描述 |
---|---|
nowrap | 默认值。规定元素不拆行或不拆列。 |
wrap | 规定元素在必要的时候拆行或拆列。 |
wrap-reverse | 规定元素在必要的时候拆行或拆列,但是以相反的顺序。 |
.flex-container { flex-wrap: nowrap | wrap | wrap-reverse; }
可以取三个值:
(1) nowrap (默认):不换行。
(2)wrap:换行,第一行在上方。
(3)wrap-reverse:换行,第一行在下方。
3. flex-flow 属性
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
.flex-container { flex-flow: <flex-direction> <flex-wrap> }
4. align-items属性
align-items 属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。
值 | 描述 |
---|---|
stretch | 默认值。项目被拉伸以适应容器。 |
center | 项目位于容器的中心。 |
flex-start | 项目位于容器的开头。 |
flex-end | 项目位于容器的结尾。 |
baseline | 项目位于容器的基线上。 |
5. justify-content属性
justify-content 用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。
值 | 描述 |
---|---|
flex-start | 默认值。项目位于容器的开头。 |
flex-end | 项目位于容器的结尾。 |
center | 项目位于容器的中心。 |
space-between | 项目位于各行之间留有空白的容器内。 |
space-around | 项目位于各行之前、之间、之后都留有空白的容器内。 |
五、弹性子元素属性
属性 | 描述 |
---|---|
order | 设置弹性盒子的子元素排列顺序。 |
flex-grow | 设置或检索弹性盒子元素的扩展比率。 |
flex-shrink | 指定了 flex 元素的收缩规则。flex 元素仅在默认宽度之和大于容器的时候才会发生收缩,其收缩的大小是依据 flex-shrink 的值。 |
flex-basis | 用于设置或检索弹性盒伸缩基准值。 |
flex | 设置弹性盒子的子元素如何分配空间。 |
align-self | 在弹性子元素上使用。覆盖容器的 align-items 属性。 |
1. order属性
.flex-container .flex-item { order: <integer>; }
2. flex-grow属性
.flex-container .flex-item { flex-grow: <integer>; }
3. flex-shrink属性
.flex-container .flex-item { flex-shrink: <integer>; }
4. flex-basis属性
.flex-container .flex-item { flex-basis: <integer> | auto; }
auto:默认值。长度等于元素的长度。如果该项目未指定长度,则长度将根据内容决定。
5. flex属性
flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间。
flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。
.flex-container .flex-item { flex:flex-grow flex-shrink flex-basis|auto|initial|inherit; }
值 | 描述 |
---|---|
flex-grow | 一个数字,规定项目将相对于其他元素进行扩展的量。 |
flex-shrink | 一个数字,规定项目将相对于其他元素进行收缩的量。 |
flex-basis | 项目的长度。合法值:"auto"、"inherit" 或一个后跟 "%"、"px"、"em" 或任何其他长度单位的数字。 |
auto | 与 1 1 auto 相同。 |
none | 与 0 0 auto 相同。 |
initial | 设置该属性为它的默认值,即为 0 1 auto。 |
inherit | 从父元素继承该属性。 |
6. align-self属性
.flex-container .flex-item { align-self: auto|stretch|center|flex-start|flex-end|baseline|initial|inherit; }
值 | 描述 |
---|---|
auto | 默认值。元素继承了它的父容器的 align-items 属性。如果没有父容器则为 "stretch"。 |
stretch | 元素被拉伸以适应容器。 |
center | 元素位于容器的中心。 |
flex-start | 元素位于容器的开头。 |
flex-end | 元素位于容器的结尾。 |
baseline | 元素位于容器的基线上。 |
initial | 设置该属性为它的默认值。 |
inherit | 从父元素继承该属性。 |
取值同 align-items。
参考
本文转载自:https://www.jianshu.com/p/5856c4ae91f2
相关推荐:CSS视频教程
위 내용은 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)

뜨거운 주제











CSS 레이아웃 속성 최적화 팁: positionsticky 및 flexbox 웹 개발에서 레이아웃은 매우 중요한 측면입니다. 좋은 레이아웃 구조는 사용자 경험을 향상시키고 페이지를 더욱 아름답고 탐색하기 쉽게 만들 수 있습니다. CSS 레이아웃 속성은 이 목표를 달성하는 데 핵심입니다. 이 기사에서는 일반적으로 사용되는 두 가지 CSS 레이아웃 속성 최적화 기술인 positionsticky와 flexbox를 소개하고 구체적인 코드 예제를 제공합니다. 1. 직위

H5에서 위치 속성을 유연하게 사용하는 방법 H5 개발에서는 요소의 위치 지정 및 레이아웃이 관련되는 경우가 많습니다. 이때 CSS 위치 속성이 작동하게 됩니다. 위치 속성은 상대 위치 지정, 절대 위치 지정, 고정 위치 지정 및 고정 위치 지정을 포함하여 페이지에서 요소의 위치 지정을 제어할 수 있습니다. 이번 글에서는 H5 개발에서 position 속성을 유연하게 활용하는 방법을 자세히 소개하겠습니다.

HTML에서 div를 중앙에 배치하는 방법에는 두 가지가 있습니다. text-align 속성(text-align: center)을 사용하세요. 레이아웃이 더 간단해집니다. 유연한 레이아웃(Flexbox) 사용: 보다 유연한 레이아웃 제어를 제공합니다. 단계에는 상위 요소에서 Flexbox(display: flex)를 활성화합니다. div를 Flex 항목(flex: 1)으로 설정합니다. 수직 및 수평 중앙 정렬을 위해 align-items 및 justify-content 속성을 사용하십시오.

CSS 유연한 레이아웃을 사용하여 동일 높이 열 레이아웃 구현 방법 Flex 레이아웃이라고도 하는 CSS 유연한 상자 레이아웃(CSS 유연한 상자 레이아웃)은 페이지 레이아웃에 사용되는 모듈입니다. Flex 레이아웃을 사용하면 동일한 높이 열 레이아웃을 더 쉽게 구현할 수 있으므로 콘텐츠 높이에 관계없이 동일한 높이로 표시될 수 있습니다. 이 글에서는 CSSFlex 레이아웃을 사용하여 동일한 높이의 열 레이아웃을 구현하는 방법을 소개합니다. 다음은 구체적인 코드 예시입니다. HTML 구조: &

CSSFlex 탄력적 레이아웃을 통해 불규칙한 그리드 레이아웃을 구현하는 방법 웹 디자인에서는 페이지 분할 및 레이아웃을 달성하기 위해 그리드 레이아웃을 사용해야 하는 경우가 많습니다. 일반적으로 그리드 레이아웃은 규칙적이며 각 그리드는 동일한 크기를 구현해야 할 수도 있습니다. 일부 불규칙한 그리드 레이아웃. CSSFlex 탄력적 레이아웃은 불규칙한 그리드 레이아웃을 포함한 다양한 그리드 레이아웃을 쉽게 구현할 수 있는 강력한 레이아웃 방법입니다. 아래에서는 CSSFlex 탄력적 레이아웃을 사용하여 다양한 결과를 얻는 방법을 소개합니다.

CSS 유연한 레이아웃 속성 가이드: positionsticky 및 flexbox 유연한 레이아웃은 현대 웹 디자인에서 매우 인기 있고 유용한 기술이 되었습니다. 웹 페이지가 다양한 장치와 화면 크기에서 잘 표시되고 반응할 수 있도록 적응형 웹 페이지 레이아웃을 만드는 데 도움이 될 수 있습니다. 이 기사에서는 두 가지 유연한 레이아웃 속성인 position:sticky 및 flexbox에 중점을 둘 것입니다. 구체적인 코드 예제를 통해 사용법에 대해 자세히 논의하겠습니다.

HTML 튜토리얼: 적응형 동일 높이, 동일 너비, 동일 간격 레이아웃을 위해 Flexbox를 사용하는 방법, 특정 코드 예제가 필요합니다. 소개: 최신 웹 디자인에서 레이아웃은 매우 중요한 요소입니다. 많은 양의 콘텐츠를 표시해야 하는 페이지의 경우, 가시성과 사용 편의성을 높이기 위해 요소의 위치와 크기를 어떻게 합리적으로 배치하는가가 중요한 문제입니다. Flexbox(Flexible Box Layout)는 다양한 유연한 레이아웃 요구 사항을 쉽게 실현할 수 있는 매우 강력한 도구입니다. 이 기사에서는 Flexbox를 자세히 소개합니다.

CSSFlex 탄력적 레이아웃을 사용하여 폭포 흐름 레이아웃을 구현하는 방법 웹 디자인의 지속적인 개발로 폭포 흐름 레이아웃은 매우 인기 있는 페이지 레이아웃 방법이 되었습니다. 전통적인 그리드 레이아웃과 달리 워터폴 흐름 레이아웃은 화면 크기에 적응할 수 있어 독특한 흐름감을 선사합니다. 이 글에서는 CSSFlex 탄력적 레이아웃을 사용하여 폭포 흐름 레이아웃을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. CSSFlex 탄력적 레이아웃은 di를 적용한 강력한 레이아웃 모델입니다.
