CSS3 유연한 상자
CSS3 Flex Box
Flex Box는 CSS3의 새로운 레이아웃 모드입니다.
CSS3 유연한 상자(Flexible Box 또는 Flexbox)는 페이지가 다양한 화면 크기와 장치 유형에 적응해야 할 때 요소가 적절한 동작을 갖도록 보장하는 레이아웃 방법입니다.
Flexbox 레이아웃 모델을 도입하는 목적은 컨테이너의 하위 요소에 빈 공간을 배열, 정렬 및 할당하는 보다 효율적인 방법을 제공하는 것입니다.
브라우저 지원
표의 숫자는 이 속성을 지원하는 첫 번째 브라우저의 버전 번호를 나타냅니다.
숫자 바로 뒤에 나오는 -webkit- 또는 -moz-는 지정된 브라우저의 접두사입니다.
CSS3 유연한 상자 콘텐츠
Flexible 상자는 Flex 컨테이너와 Flex 항목으로 구성됩니다.
플렉서블 컨테이너는 디스플레이 속성 값을 flex 또는 inline-flex로 설정하여 플렉서블 컨테이너로 정의됩니다.
유연한 컨테이너에는 하나 이상의 유연한 하위 요소가 포함되어 있습니다.
참고: 유연한 컨테이너 외부와 유연한 하위 요소 내에서는 정상적으로 렌더링됩니다. 플렉스 박스는 플렉스 하위 요소가 플렉스 컨테이너 내에 배치되는 방식만 정의합니다.
Flexible 하위 요소는 일반적으로 Flexbox 내 한 행에 표시됩니다. 기본적으로 컨테이너당 하나의 행만 있습니다.
다음 요소는 왼쪽에서 오른쪽으로 연속으로 표시되는 탄력적 하위 요소를 보여줍니다.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
Run Instance»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.
Of 물론 배열을 수정할 수도 있습니다.
direction
속성을 rtl
(오른쪽에서 왼쪽)으로 설정하면 탄력적 하위 요소의 배열도 변경되고 페이지 레이아웃도 변경됩니다. direction
属性为 rtl
(right-to-left),弹性子元素的排列方式也会改变,页面布局也跟着改变:
实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> body { direction: rtl; } .flex-container { display: -webkit-flex; display: flex; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
flex-direction
flex-direction
顺序指定了弹性子元素在父容器中的位置。
语法
flex-direction: row | row-reverse | column | column-reverse
flex-direction
的值有:
row:横向从左到右排列(左对齐),默认的排列方式。
row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面。
column:纵向排列。
column-reverse:反转纵向排列,从后往前排,最后一项排在最上面。
以下实例演示了 row-reverse
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-flex-direction: row-reverse; flex-direction: row-reverse; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
예제 실행»온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요.
flex-direction
은 탄력적 하위 항목을 지정합니다. 순서 위치에 있는 상위 컨테이너의 요소입니다. 🎜구문
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>🎜
flex-direction
값은 다음과 같습니다: 🎜- 🎜row: 가로로 정렬 왼쪽에서 오른쪽으로(왼쪽 정렬) 기본 배열입니다. 🎜
- 🎜row-reverse: 가로 배열을 반대로 합니다(오른쪽 정렬, 뒤에서 앞으로, 마지막 항목이 앞에 옵니다. 🎜
- 🎜column: 세로 배열. 🎜
- 🎜column-reverse: 마지막 항목이 맨 위에 오도록 뒤에서 앞으로 수직 배열을 뒤집습니다. 🎜
row-의 사용법을 보여줍니다. reverse
:🎜🎜🎜Instance🎜🎜<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-flex-direction: column-reverse; flex-direction: column-reverse; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>🎜🎜🎜인스턴스 실행»🎜🎜온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요🎜🎜
다음 예에서는 열
의 사용을 보여줍니다. column
的使用:
实例
justify-content: flex-start | flex-end | center | space-between | space-around
运行实例 »
点击 "运行实例" 按钮查看在线实例
以下实例演示了 column-reverse
的使用:
实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-justify-content: flex-end; justify-content: flex-end; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
justify-content 属性
内容对齐(justify-content)属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐。
justify-content 语法如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
各个值解析:
flex-start:
弹性项目向行头紧挨着填充。这个是默认值。第一个弹性项的main-start外边距边线被放置在该行的main-start边线,而后续弹性项依次平齐摆放。
flex-end:
弹性项目向行尾紧挨着填充。第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项依次平齐摆放。
center:
弹性项目居中紧挨着填充。(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)。
space-between:
弹性项目平均分布在该行上。如果剩余空间为负或者只有一个弹性项,则该值等同于flex-start。否则,第1个弹性项的外边距和行的main-start边线对齐,而最后1个弹性项的外边距和行的main-end边线对齐,然后剩余的弹性项分布在该行上,相邻项目的间隔相等。
space-around:
弹性项目平均分布在该行上,两边留有一半的间隔空间。如果剩余空间为负或者只有一个弹性项,则该值等同于center。否则,弹性项目沿该行分布,且彼此间隔相等(比如是20px),同时首尾两边和弹性容器之间留有一半的间隔(1/2*20px=10px)。
效果图展示:
以下实例演示了 flex-end
的使用:
实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
以下实例演示了 center
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-justify-content: space-around; justify-content: space-around; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요🎜🎜🎜다음 예제에서는
column-reverse
사용을 보여줍니다.🎜🎜🎜Example🎜🎜align-items: flex-start | flex-end | center | baseline | stretch🎜
인스턴스 실행»🎜온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요🎜🎜
정당화 -content attribute🎜🎜Content alignment ( justify-content 속성은 flex 컨테이너에 적용되어 flex 컨테이너의 기본 축을 따라 flex 항목을 정렬합니다. 🎜🎜justify-content 구문은 다음과 같습니다: 🎜<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<style>
.flex-container {
display: -webkit-flex;
display: flex;
-webkit-align-items: stretch;
align-items: stretch;
width: 400px;
height: 250px;
background-color: lightgrey;
}
.flex-item {
background-color: cornflowerblue;
width: 100px;
margin: 10px;
}
</style>
</head>
<body>
<div class="flex-container">
<div class="flex-item">flex item 1</div>
<div class="flex-item">flex item 2</div>
<div class="flex-item">flex item 3</div>
</div>
</body>
</html>
🎜각 값 분석:🎜- 🎜flex-start:
🎜 🎜유연성 항목은 줄의 머리 부분을 향해 나란히 채워집니다. 이것이 기본값입니다. 첫 번째 Flex 항목의 기본 시작 여백 가장자리는 행의 기본 시작 가장자리에 배치되고 후속 Flex 항목은 순서대로 동일하게 배치됩니다. 🎜 - 🎜flex-end:
🎜🎜Flex 항목은 줄 끝 부분에 가깝게 패딩됩니다. 첫 번째 Flex 항목의 기본 끝 여백 가장자리는 행의 기본 끝 가장자리에 배치되고 후속 Flex 항목은 순서대로 같은 높이로 배치됩니다. 🎜 - 🎜center:
🎜🎜플렉스 항목은 패딩 옆 중앙에 위치합니다. (남은 여유 공간이 음수이면 플렉스 항목이 양방향으로 오버플로됩니다.) 🎜 - 🎜공백:
🎜🎜Flex 항목은 행에 고르게 분포됩니다. 남은 공간이 음수이거나 Flex 항목이 하나만 있는 경우 이 값은 flex-start와 동일합니다. 그렇지 않은 경우 첫 번째 Flex 항목의 여백은 행의 기본 시작 가장자리에 정렬되고 마지막 Flex 항목의 여백은 행의 기본 끝 가장자리에 정렬된 다음 나머지 Flex 항목이 분산됩니다. 행은 서로 인접해 있습니다. 🎜 - 🎜공간 순환:
🎜🎜Flex 항목은 줄에 고르게 분포되어 양쪽에 공간의 절반이 남습니다. 남은 공간이 음수이거나 Flex 항목이 하나만 있는 경우 이 값은 center와 동일합니다. 그렇지 않은 경우 Flex 항목은 서로 동일한 간격(예: 20px)으로 행을 따라 배포되고 첫 번째 측면과 마지막 측면과 Flex 컨테이너 사이에 절반의 공간을 남겨 둡니다(1/2*20px=10px). 🎜
🎜렌더링 디스플레이: 🎜🎜🎜🎜다음 예에서는 flex-end
사용을 보여줍니다.🎜🎜🎜Example🎜🎜<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<style>
.flex-container {
display: -webkit-flex;
display: flex;
-webkit-align-items: flex-start;
align-items: flex-start;
width: 400px;
height: 250px;
background-color: lightgrey;
}
.flex-item {
background-color: cornflowerblue;
width: 100px;
margin: 10px;
}
</style>
</head>
<body>
<div class="flex-container">
<div class="flex-item">flex item 1</div>
<div class="flex-item">flex item 2</div>
<div class="flex-item">flex item 3</div>
</div>
</body>
</html>
🎜
인스턴스 실행»🎜온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요🎜🎜🎜다음 예에서는 center
사용을 보여줍니다.🎜🎜🎜예 🎜🎜rreee🎜
인스턴스 실행»
🎜 🎜유연성 항목은 줄의 머리 부분을 향해 나란히 채워집니다. 이것이 기본값입니다. 첫 번째 Flex 항목의 기본 시작 여백 가장자리는 행의 기본 시작 가장자리에 배치되고 후속 Flex 항목은 순서대로 동일하게 배치됩니다. 🎜
🎜🎜Flex 항목은 줄 끝 부분에 가깝게 패딩됩니다. 첫 번째 Flex 항목의 기본 끝 여백 가장자리는 행의 기본 끝 가장자리에 배치되고 후속 Flex 항목은 순서대로 같은 높이로 배치됩니다. 🎜
🎜🎜플렉스 항목은 패딩 옆 중앙에 위치합니다. (남은 여유 공간이 음수이면 플렉스 항목이 양방향으로 오버플로됩니다.) 🎜
🎜🎜Flex 항목은 행에 고르게 분포됩니다. 남은 공간이 음수이거나 Flex 항목이 하나만 있는 경우 이 값은 flex-start와 동일합니다. 그렇지 않은 경우 첫 번째 Flex 항목의 여백은 행의 기본 시작 가장자리에 정렬되고 마지막 Flex 항목의 여백은 행의 기본 끝 가장자리에 정렬된 다음 나머지 Flex 항목이 분산됩니다. 행은 서로 인접해 있습니다. 🎜
🎜🎜Flex 항목은 줄에 고르게 분포되어 양쪽에 공간의 절반이 남습니다. 남은 공간이 음수이거나 Flex 항목이 하나만 있는 경우 이 값은 center와 동일합니다. 그렇지 않은 경우 Flex 항목은 서로 동일한 간격(예: 20px)으로 행을 따라 배포되고 첫 번째 측면과 마지막 측면과 Flex 컨테이너 사이에 절반의 공간을 남겨 둡니다(1/2*20px=10px). 🎜
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.
다음 예에서는 space-between
사용을 보여줍니다. space-between
的使用:
实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-align-items: flex-end; align-items: flex-end; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
以下实例演示了 space-around
的使用:
实例
<!DOCTYPE html> <html> <head> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
align-items 属性
align-items
设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
语法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-align-items: baseline; align-items: baseline; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
各个值解析:
flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。
stretch:如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。
以下实例演示了 stretch(默认值)
的使用:
以下实例演示了 flex-start
的使用:
实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; width: 300px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
以下实例演示了 flex-end
的使用:
实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 300px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
以下实例演示了 center
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap-reverse; flex-wrap: wrap-reverse; width: 300px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 100px; height: 100px; margin: 10px; } </style> </head> <body> <div class="flex-container"> <div class="flex-item">flex item 1</div> <div class="flex-item">flex item 2</div> <div class="flex-item">flex item 3</div> </div> </body> </html>🎜 인스턴스 실행»🎜 🎜온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.🎜🎜🎜다음 예에서는
space-around
사용을 보여줍니다. 🎜🎜🎜Instance🎜🎜align-content: flex-start | flex-end | center | space-between | space-around | stretch🎜🎜🎜인스턴스 실행 »🎜🎜온라인 예제를 보려면 "인스턴스 실행" 버튼을 클릭하세요🎜🎜
align-items 속성🎜🎜align-items
교차축(수직축) 방향. 🎜구문
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<style>
.flex-container {
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-align-content: center;
align-content: center;
width: 300px;
height: 300px;
background-color: lightgrey;
}
.flex-item {
background-color: cornflowerblue;
width: 100px;
height: 100px;
margin: 10px;
}
</style>
</head>
<body>
<div class="flex-container">
<div class="flex-item">flex item 1</div>
<div class="flex-item">flex item 2</div>
<div class="flex-item">flex item 3</div>
</div>
</body>
</html>
🎜각 값 분석:🎜- 🎜flex-start: 유연한 측면 축(세로 축)의 시작 위치 상자 요소 테두리는 행의 교차축 시작 테두리를 감싸고 있습니다. 🎜
- 🎜flex-end: 플렉스박스 요소의 교차축(세로축) 시작 위치의 경계가 행의 교차축 끝 경계에 가깝습니다. 🎜
- 🎜center: Flexbox 요소는 행의 교차축(세로축) 중앙에 위치합니다. (행의 크기가 Flexbox 요소의 크기보다 작으면 양방향으로 동일한 길이로 오버플로됩니다.) 🎜
- 🎜baseline: 플렉스 박스 요소의 인라인 축과 측면 축이 동일한 경우 이 값은 'flex-start'와 동일합니다. 그렇지 않으면 이 값이 기준선 정렬에 참여하게 됩니다. 🎜
- 🎜stretch: 교차 축 크기를 지정하는 속성 값이 'auto'인 경우 해당 값은 항목의 여백 상자 크기를 행 크기에 최대한 가깝게 만듭니다. 동시에 'min /max-width/height' 속성 제한을 준수합니다. 🎜
🎜다음 예에서는 stretch(기본값)
사용을 보여줍니다. 🎜🎜🎜Instance🎜🎜order:
🎜🎜🎜Run Instance»🎜🎜"Run Instance"를 클릭합니다. 버튼 온라인 예제 보기 🎜🎜🎜다음 예제에서는 flex-start
사용을 보여줍니다. 🎜🎜🎜Instances🎜🎜<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<style>
.flex-container {
display: -webkit-flex;
display: flex;
width: 400px;
height: 250px;
background-color: lightgrey;
}
.flex-item {
background-color: cornflowerblue;
width: 100px;
height: 100px;
margin: 10px;
}
.first {
-webkit-order: -1;
order: -1;
}
</style>
</head>
<body>
<div class="flex-container">
<div class="flex-item">flex item 1</div>
<div class="flex-item first">flex item 2</div>
<div class="flex-item">flex item 3</div>
</div>
</body>
</html>
🎜🎜🎜인스턴스 실행»🎜🎜온라인으로 보려면 "인스턴스 실행" 버튼을 클릭하세요. 예제🎜🎜🎜 다음 예제에서는 flex-end
사용을 보여줍니다. 🎜🎜🎜Instance🎜🎜<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<style>
.flex-container {
display: -webkit-flex;
display: flex;
width: 400px;
height: 250px;
background-color: lightgrey;
}
.flex-item {
background-color: cornflowerblue;
width: 75px;
height: 75px;
margin: 10px;
}
.flex-item:first-child {
margin-right: auto;
}
</style>
</head>
<body>
<div class="flex-container">
<div class="flex-item">flex item 1</div>
<div class="flex-item">flex item 2</div>
<div class="flex-item">flex item 3</div>
</div>
</body>
</html>
🎜🎜🎜예제 실행»🎜🎜온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요🎜 🎜🎜다음 예에서는 center
사용법을 보여줍니다.🎜🎜🎜Example🎜🎜<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<style>
.flex-container {
display: -webkit-flex;
display: flex;
width: 400px;
height: 250px;
background-color: lightgrey;
}
.flex-item {
background-color: cornflowerblue;
width: 75px;
height: 75px;
margin: auto;
}
</style>
</head>
<body>
<div class="flex-container">
<div class="flex-item">Perfect centering!</div>
</div>
</body>
</html>
🎜
인스턴스 실행»
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요.
다음 예에서는 기준
사용을 보여줍니다. baseline
的使用:
flex-wrap 属性
flex-wrap 属性用于指定弹性盒子的子元素换行方式。
语法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; width: 60px; min-height: 100px; margin: 10px; } .item1 { -webkit-align-self: flex-start; align-self: flex-start; } .item2 { -webkit-align-self: flex-end; align-self: flex-end; } .item3 { -webkit-align-self: center; align-self: center; } .item4 { -webkit-align-self: baseline; align-self: baseline; } .item5 { -webkit-align-self: stretch; align-self: stretch; } </style> </head> <body> <div class="flex-container"> <div class="flex-item item1">flex-start</div> <div class="flex-item item2">flex-end</div> <div class="flex-item item3">center</div> <div class="flex-item item4">baseline</div> <div class="flex-item item5">stretch</div> </div> </body> </html>
各个值解析:
nowrap - 默认, 弹性容器为单行。该情况下弹性子项可能会溢出容器。
wrap - 弹性容器为多行。该情况下弹性子项溢出的部分会被放置到新行,子项内部会发生断行
wrap-reverse -反转 wrap 排列。
以下实例演示了 nowrap
的使用:
以下实例演示了 wrap
的使用:
实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> .flex-container { display: -webkit-flex; display: flex; width: 400px; height: 250px; background-color: lightgrey; } .flex-item { background-color: cornflowerblue; margin: 10px; } .item1 { -webkit-flex: 2; flex: 2; } .item2 { -webkit-flex: 1; flex: 1; } .item3 { -webkit-flex: 1; flex: 1; } </style> </head> <body> <div class="flex-container"> <div class="flex-item item1">flex item 1</div> <div class="flex-item item2">flex item 2</div> <div class="flex-item item3">flex item 3</div> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
以下实例演示了 wrap-reverse
的使用:
实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> .flex-container { display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; flex-flow: row wrap; &
运行实例 »
点击 "运行实例" 按钮查看在线实例
align-content 属性
align-content
属性用于修改 flex-wrap
属性的行为。类似于 align-items
, 但它不是设置弹性子元素的对齐,而是设置各个行的对齐。
语法
rrreee各个值解析:
stretch
- 默认。各行将会伸展以占用剩余的空间。flex-start
- 各行向弹性盒容器的起始位置堆叠。flex-end
- 各行向弹性盒容器的结束位置堆叠。center
-各行向弹性盒容器的中间位置堆叠。space-between
-各行在弹性盒容器中平均分布。space-around
- 各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。
以下实例演示了 center
flex-wrap 속성🎜🎜flex-wrap 이 속성은 하위의 래핑 방법을 지정하는 데 사용됩니다. -플렉스 박스의 요소. 🎜구문
rrreee🎜각 값 구문 분석:🎜- 🎜nowrap - 기본값,
Flex 컨테이너는 단일 행입니다. 이 경우 플렉스 아이템이 컨테이너를 넘칠 수 있습니다. 🎜
- 🎜포장 -
Flex 컨테이너는 여러 줄로 구성됩니다. 이 경우 탄성 자식의 넘친 부분이 새 줄에 배치되고 자식 내에서 줄 바꿈이 발생합니다 🎜
- 🎜wrap-reverse - 줄 바꿈을 반대로 합니다. 준비. 🎜
🎜다음 예에서는 nowrap
사용을 보여줍니다. 🎜🎜🎜Instance🎜🎜rrreee🎜🎜🎜Run Instance»🎜🎜보려면 "인스턴스 실행" 버튼을 클릭하세요. 온라인 예제🎜 🎜🎜다음 예제에서는 wrap
사용을 보여줍니다. 🎜🎜🎜Instance🎜🎜rrreee🎜🎜🎜Run Instance»🎜🎜온라인 예제를 보려면 "인스턴스 실행" 버튼을 클릭하세요🎜 🎜🎜다음 예에서는 wrap-reverse
사용법을 보여줍니다. 🎜🎜🎜Instance🎜🎜rrreee🎜🎜🎜인스턴스 실행»🎜🎜온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요🎜🎜
align-content 속성🎜🎜 align-content
속성은 flex-wrap
속성의 동작을 수정하는 데 사용됩니다. align-items
와 유사하지만 flex 하위 요소의 정렬을 설정하는 대신 개별 행의 정렬을 설정합니다. 🎜구문
rrreee🎜각 값 구문 분석:🎜- 🎜
stretch
- 기본값. 나머지 공간을 차지하도록 행이 늘어납니다. 🎜 - 🎜
flex-start
- Flex 컨테이너의 시작 부분을 향해 행을 쌓습니다. 🎜 - 🎜
flex-end
- 행은 Flex 컨테이너의 끝을 향해 쌓입니다. 🎜 - 🎜
center
- 행이 Flex 컨테이너의 중앙을 향해 쌓입니다. 🎜 - 🎜
space-between
- 행은 Flexbox 컨테이너 내에 고르게 분산됩니다. 🎜 - 🎜
space-around
- 각 행은 Flex 컨테이너에 균등하게 분산되어 양쪽 끝의 하위 요소 사이에 절반의 공간을 남깁니다. 🎜
🎜다음 예에서는 center
사용을 보여줍니다. 🎜🎜🎜Example🎜🎜rrreee🎜
예제 실행»
align-content
속성은 flex-wrap
속성의 동작을 수정하는 데 사용됩니다. align-items
와 유사하지만 flex 하위 요소의 정렬을 설정하는 대신 개별 행의 정렬을 설정합니다. 🎜구문
rrreee🎜각 값 구문 분석:🎜- 🎜
stretch
- 기본값. 나머지 공간을 차지하도록 행이 늘어납니다. 🎜 - 🎜
flex-start
- Flex 컨테이너의 시작 부분을 향해 행을 쌓습니다. 🎜 - 🎜
flex-end
- 행은 Flex 컨테이너의 끝을 향해 쌓입니다. 🎜 - 🎜
center
- 행이 Flex 컨테이너의 중앙을 향해 쌓입니다. 🎜 - 🎜
space-between
- 행은 Flexbox 컨테이너 내에 고르게 분산됩니다. 🎜 - 🎜
space-around
- 각 행은 Flex 컨테이너에 균등하게 분산되어 양쪽 끝의 하위 요소 사이에 절반의 공간을 남깁니다. 🎜
center
사용을 보여줍니다. 🎜🎜🎜Example🎜🎜rrreee🎜예제 실행»
온라인 예제를 보려면 "예제 실행" 버튼을 클릭하세요
Elastic 하위 요소 속성
Sort
Syntax
rrreee각 값 분석:
<정수>: 사용 정수 값 앞에 더 작은 값을 사용하여 정렬 순서를 정의합니다. 부정적일 수 있습니다.
order
속성은 탄력적 컨테이너에 있는 탄력적 하위 요소의 속성을 설정합니다. order
属性设置弹性容器内弹性子元素的属性:
对齐
设置"margin"值为"auto"值,自动获取弹性容器中剩余的空间。所以设置垂直方向margin值为"auto",可以使弹性子元素在弹性容器的两上轴方向都完全集中。
以下实例在第一个弹性子元素上设置了 margin-right: auto;
。 它将剩余的空间放置在元素的右侧:
完美的居中
以下实例将完美解决我们平时碰到的居中问题。
使用弹性盒子,居中变的很简单,只想要设置 margin: auto;
margin-right: auto;
를 설정합니다. 나머지 공간은 요소 오른쪽에 배치됩니다. 🎜🎜🎜Instance🎜🎜rrreee🎜🎜🎜Run Instance»🎜🎜온라인 예제를 보려면 "인스턴스 실행" 버튼을 클릭하세요.🎜🎜🎜Perfect Centering🎜🎜다음 예제는 다음과 같습니다. 우리의 문제를 완벽하게 해결하십시오. 일반적인 센터링 문제. 🎜🎜유연한 상자를 사용하면 중심 맞추기가 매우 간단해집니다. margin: auto;
만 설정하면 탄성 하위 요소가 두 개의 위쪽 축 방향에서 완전히 중앙에 배치됩니다. 🎜🎜🎜예🎜🎜rrreee 🎜🎜 🎜인스턴스 실행»🎜🎜온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요🎜🎜align-self
align-self
속성은 탄성요소 자체의 교차축(세로축) 방향 정렬을 설정하는 데 사용됩니다. align-self
属性用于设置弹性元素自身在侧轴(纵轴)方向上的对齐方式。
语法
rrreee各个值解析:
auto:如果'align-self'的值为'auto',则其计算值为元素的父元素的'align-items'值,如果其没有父元素,则计算值为'stretch'。
flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。
stretch:如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。
以下实例演示了弹性子元素上 align-self 不同值的应用效果:
flex
flex
rrreee
개별 값 분석:- auto: 'align-self' 값이 'auto'인 경우 계산된 값은 요소 상위 요소의 'align-items' 값입니다. 상위 요소가 없으면 계산된 값은 'stretch'입니다.
- flex-start: 플렉스박스 요소의 교차축(세로축) 시작 위치의 테두리가 행의 교차축 시작 테두리에 가깝습니다.
- flex-end: 플렉스박스 요소의 교차축(세로축) 시작 위치의 경계가 행의 교차축 끝 경계에 가깝습니다.
- center: Flexbox 요소는 행의 교차축(세로축) 중앙에 위치합니다. (행의 크기가 Flexbox 요소의 크기보다 작은 경우 양방향으로 동일한 길이로 오버플로됩니다.)
stretch: 교차 축 크기를 지정하는 속성 값이 'auto'인 경우 해당 값은 항목의 여백 상자 크기를 행 크기에 최대한 가깝게 만들지만 동시에 '최소/최대 너비/높이' 속성을 준수합니다.
다음 예는 탄성 하위 요소에 대한 다양한 align-self 값의 적용 효과를 보여줍니다.
Example
예제 실행»
flex
속성은 탄력적인 하위 요소가 공간을 할당하는 방법을 지정하는 데 사용됩니다. Syntax