理解 CSS3 中的 Flex 布局模型
CSS3 提供了一种名为“弹性盒”,通常称为“Flexbox”的布局模式。Flexbox(弹性盒)是 CSS3 的一种布局模式。使用此模式,您可以轻松地为复杂的应用程序和网页创建布局。它包括容器、弹性项目等。容器具有以下属性:
flex-direction - 设置弹性项目的排列方向
flex-wrap - 设置弹性项目是否应该换行
flex-flow - 它是 flex-wrap 和 flex-direction 的简写属性
justify-content - 对齐弹性项目
align-items - 垂直对齐弹性项目
align-content - 对齐弹性线
设置父容器
首先,设置一个 div 容器,并在其中包含三个子 div:container1、container2 和 container3:
<div class="container"> <div class="container1"> <div>1</div> <div>2</div> <div>3</div> </div> <div class="container2"> <div>1</div> <div>2</div> <div>3</div> </div> <div class="container3"> <div>1</div> <div>2</div> <div>3</div> </div> </div>
将容器设置为弹性容器
使用 display 属性和 flex 值将父容器设置为弹性容器:
.container { display: flex; flex-wrap: wrap; justify-content: space-evenly; }
将第一个子容器放置在顶部
要将子容器放置在顶部,请使用 align-self 属性并将其设置为 flex-start:
.container1 { align-self: flex-start; display: flex; background-color: rgb(71, 30, 255); width: 200px; margin: 20px; }
将第二个子容器放置在顶部
第二个子容器也使用 align-self 属性和 flex-start 值放置在顶部。justify-content 属性与 center 值一起将弹性项目对齐到中心:
.container2 { display: flex; background-color: rgb(14, 126, 79); width: 200px; justify-content: center; align-self: flex-start; margin: 20px; }
第三个子容器的垂直放置
flex-direction 属性设置为 column 值以垂直显示弹性项目。使用 align-items 属性和 center 值将弹性项目对齐到容器的中间:
.container3 { display: flex; flex-direction: column; background-color: rgb(168, 60, 10); width: 200px; align-items: center; margin: 20px; }
示例
以下是 CSS3 中描述 Flex 布局模型的代码:
<!DOCTYPE html> <html> <head> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .container { display: flex; flex-wrap: wrap; justify-content: space-evenly; } .container1 { align-self: flex-start; display: flex; background-color: rgb(71, 30, 255); width: 200px; margin: 20px; } .container1 > div { background-color: #f1f1f1; margin: 10px; padding: 10px; font-size: 30px; } .container2 { display: flex; background-color: rgb(14, 126, 79); width: 200px; justify-content: center; align-self: flex-start; margin: 20px; } .container2 > div { background-color: #f1f1f1; margin: 10px; padding: 10px; font-size: 30px; } .container3 { display: flex; flex-direction: column; background-color: rgb(168, 60, 10); width: 200px; align-items: center; margin: 20px; } .container3 > div { background-color: #f1f1f1; margin: 10px; padding: 10px; width: 20px; font-size: 30px; } </style> </head> <body> <h1>Flex layout example</h1> <div class="container"> <div class="container1"> <div>1</div> <div>2</div> <div>3</div> </div> <div class="container2"> <div>1</div> <div>2</div> <div>3</div> </div> <div class="container3"> <div>1</div> <div>2</div> <div>3</div> </div> </div> </body> </html>
广告