CSS基础 - 弹性盒子模型 - flex布局

flex布局提供一种对容器中条目更方便地进行布局,控件分配,和对齐的方式。flex布局的容器能够根据窗口大小变化而改变条目的大小和位置,以呈现最佳的显示效果,它的优势在于开发者可只需要申明容器或其子条目的布局的方式,和窗口或容器大小变化时元素的行为,而不需要去实现具体的适应。

body {
direction:rtl;//定义body下的元素渲染的方向
}

.flex-container {

display:flex;

//申明display方式为:flex

flex-direction:row-reverse;

//在一行上,该容器的子条目将基于父级元素的direction,从右到左进行渲染

//flex-direction:row 默认为body.style.direction

//flex-direction:column 主轴为纵向,元素依次在纵向从上至下布局,在行方向则按照body.style.direction布局

//flex-direction:column-reverse 主轴为纵向,元素依次在纵向从下至上布局,在行方向则按照body.style.direction布局

flex-wrap:wrap-reverse;

//如果水平方向子条目的总宽度超过了容器宽度,则换行再根据flex-direction和body.style.direction进行布局,在主轴方向的行/列反向排列

//flex-wrap:unset 则默认不换行

//flex-wrap:wrap-reverse 换行并将垂直方向各行从底至顶(主轴为row)布局

justify-content:space-around;

//justify-content:flex-start 在主轴上,从文档的方向开始布局

//justify-content:flex-end 在主轴上,从文档的方向的反方向开始布局

//justify-content:space-around 条目之间等间距布局,在主轴上,首尾元素和容器之间增加间隔

//justify-content:space-between 条目之间等间距布局,在主轴上,首尾元素分别靠紧对应的容器边框

//justify-content:center 同行/列所欲条目居中

align-content:center;

//相对与主轴的垂直方向上,所有条目居中布局
align-items:flex-start;

//align-items:flex-end 若文档的方向为从左到右,则主轴方向元素右对齐

//在主轴方向上,在文档的布局方向上依次渲染flex-item

//align-items:baseline 条目的开始侧基于基准线对齐,align-items:stretch 若条目在相对于主轴的垂直方向的宽度为auto,则元素将被拉伸以填满交叉轴方向

}
.flex-item {
flex-shrink:1;

flex:1 0 auto;

//第一个值flex-grow,元素的放大比例,1表示放大,元素在特定方向平分容器剩余空间, 0表示不放大

//flex style:第二个值flex-shrink,1表示空间不足时,该元素将缩小以适应容器,0表示不自适应;第二个值

margin:auto;
margin-top:10px;
width:100px;
height:100px;
border-style:dotted solid;
border-color:orchid;

align-self:auto;

//默认继承容器的align-items,具体值则不适用容器的align-items,元素未设置高度且没有父元素时,则align-self为stretch.

font-size:30px;
font-weight:bolder;
}

相关链接:http://www.ibm.com/developerworks/cn/web/1409_chengfu_css3flexbox/

时间: 2024-10-05 04:58:00

CSS基础 - 弹性盒子模型 - flex布局的相关文章

[ css 弹性盒子模型 align-content 属性 ] 弹性盒子模型flex布局中align-content属性讲解及实例演示的区别

说明: 本属性适用于:多行的弹性盒模型容器 当伸缩容器的侧轴还有多余空间时,本属性可以用来调准「伸缩行」在伸缩容器里的对齐方式,这与调准伸缩项目在主轴上对齐方式的 <' justify-content '> 属性类似.请注意本属性在只有一行的伸缩容器上没有效果 实例: <!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /&

[ css 弹性盒子模型 flex-shrink 属性 ] 弹性盒子模型flex布局中flex-shrink属性讲解及实例演示的区别

根据弹性盒子元素所设置的收缩因子作为比率来收缩空间 实例: <!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <title>-webkit-flex-basis_CSS参考手册_web前端开发参考手册系列</title> <meta name="author" conten

[ css 弹性盒子模型 flex-grow 属性 ] 弹性盒子模型flex布局中flex-grow属性讲解及实例演示的区别

根据弹性盒子元素所设置的扩展因子作为比率来分配剩余空间 实例: <!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <title>-webkit-flex-basis_CSS参考手册_web前端开发参考手册系列</title> <meta name="author" cont

[ css 弹性盒子模型 flex-basis 属性 ] 弹性盒子模型flex布局中flex-basis属性讲解及实例演示的区别

设置或检索弹性盒伸缩基准值: 如果所有子元素的基准值之和大于剩余空间,则会根据每项设置的基准值,按比率伸缩剩余空间 计算值 – 绝对数:在flex-container主方向大小不足以容纳flex items的flex-basis总和时,浏览器会自动缩小它们 实例: <!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <

[ css 弹性盒子模型 align-content align-items属性 ] 弹性盒子模型flex布局中align-items 和align-content属性讲解及实例演示的区别

align-items align-items属性适用于所有的flex容器,它是用来设置每个flex元素在侧轴上的默认对齐方式,还有一位回答者的回答也很好,如下: align-items和align-content有相同的功能,不过不同点是它是用来让每一个单行的容器居中而不是让整个容器居中 align-content align-content属性只适用于多行的flex容器,并且当侧轴上有多余空间使flex容器内的flex线对齐,感觉这样翻译了之后还是略微有些抽象,不过有一个重点就是多行, 下面

[ css 弹性盒子模型 align-item 属性 ] 弹性盒子模型flex布局中align-item属性讲解及实例演示的区别

说明: 本属性适用于:flex容器 定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式 实例: <!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <title>align-items_CSS参考手册_web前端开发参考手册系列</title> <meta name="

CSS Flexbox 弹性盒子模型

CSS Flexbox 弹性盒子模型 设置元素样式为 display: flex 或 display: inline-flex, 让元素变成flex容器, 从而可以通过flex模式布局它的子元素. flex-direction: 值 row | row-reverse | column | column-reverse默认值 row flex-wrap: 值 nowrap | wrap | wrap-reverse默认值 nowrap flex-flow: 值 <flex-direction>

CSS3使用弹性盒子模型定义布局

关于使用弹性盒子一定要看的两篇博文 1.https://developer.mozilla.org/zh-CN/docs/CSS/Tutorials/Using_CSS_flexible_boxes 2.http://www.zhangxinxu.com/wordpress/2010/12/css-box-flex%E5%B1%9E%E6%80%A7%EF%BC%8C%E7%84%B6%E5%90%8E%E5%BC%B9%E6%80%A7%E7%9B%92%E5%AD%90%E6%A8%A1%E

Web开发——CSS基础(盒子模型)

1.盒子模型简介 1.1 什么是盒子模型 盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版.W3C组织建议把网页上元素看成是一个个盒子.盒模型主要定义四个区域:内容(content).内边距(padding).外边框(border).外边距(margin). 举例: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <!--<meta charset="utf-8">--> 5 <