<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>flex 伸缩布局</title>
<style type="text/css">
html{
font-size: 10px;
}
#box1{
width:50rem;
height: 50rem;
background-color: skyblue;
/*伸缩布局*/
display: flex;
/*确定主轴的方向*/
flex-direction: row;
/*主轴上子项对齐方式*/
/*justify-content: flex-end;*/
/*justify-content: space-around;*/
justify-content: center;
/*侧轴的对齐方式*/
align-items: center;
}
.item{
width: 10rem;
height: 10rem;
background-color: purple;
margin: 5px;
}
#box1>div:nth-child(2){
align-self: flex-start;
}
#box2{
width: 80%;
height: 50rem;
background-color: skyblue;
display: flex;
flex-direction: row;
}
.item2{
width: 20%;
height: 10rem;
background-color: purple;
margin: 5px;
}
</style>
</head>
<body>
<!--
flex布局:
display: inline-flex; 将对象作为弹性伸缩盒展示,用户行内元素
display: flex; 将对象作为弹性伸缩盒展示,用于块级元素
常用属性:
flex-direction:用于指定flex主轴方向,继而决定flex子项在flex容器中的位置
row|row-reverse|column|column-reverse
justify-content:用于指定主轴(水平方向)上flex子项的对齐方式
flex-start| flex-end | center | space-between | space-around
space-between: 表示两端对齐,中间间距相等。
特殊情况:当剩余空间为负数或只有一项时,效果等同于flex-start
space-around: 表示间距相等,中间的间距是两段间距的2倍。
特殊情况:当剩余空间为负数或者只有一项时,效果等同于center
align-items: 用于指定侧轴(垂直方向)上flex子项的对齐方式
stretch | flex-start | flex-end | center | baseline
stretch: 默认值,当flex子项未设置高度或者高度值为auto时,stretch起作用,将flex子项高度设置为行高度。
注意,在只有一行的情况下,行的高度为容器的高度,即flex子项高度为容器的高度
baseline: 当行内轴与侧轴在同一线上,即所有flex子项的基线在同一线上时,效果等同于flex-start
flex-wrap: 用于指定flex子项是否换行
nowrap | wrap | wrap-reverse
nowrap : 默认值,表示不换行,flex子项可能会溢出
wrap : 表示换行,溢出的flex子项会被放到下一行
align-self: 用来单独指定某flex子项的对齐方式,一般用来指定侧轴
auto | flex-start | flex-end | center | baseline | stretch
align-content: 该属性只作用于多行的情况下,用于多行的对齐方式
stretch | flex-start | flex-end | center | space-between | space-around
复合属性:
flex-grow: 默认值为0,若省略则被默认为1
flex-shrink: 默认值为1,省略时默认为1
flex-basis: 默认值为auto, 省略时默认为0%
-->
<div id="box1">
<div class="item" >item1</div>
<div class="item" >item2</div>
<div class="item" >item3</div>
</div>
<div id="box2">
<div class="item2" style="flex: 1">item1</div>
<div class="item2" style="flex: 3">item2</div>
<div class="item2" style="flex: 2">item3</div>
</div>
<!--
-->
</body>
</html>
弹性盒模型 响应式布局
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 手机有不同的分辨率,不同的屏幕大小,如何使我们开发的应用或页面大小能适合各种高端手机使用,学习viewport能帮...
- 为什么要使用响应式设计? 页面的设计和开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的...