css3版面屬性有:flex-direction、flex-wrap、flex-flow、justify-content、align-items、align-content、order、flex-grow、flex-shrink等。
本教學操作環境:windows7系統、CSS3版、Dell G3電腦。
1、彈性盒模型(Flexible Box 或Flexbox)
彈性盒模型最大的特徵在於,能夠動態修改子元素的寬度和高度,以滿足在不同尺寸螢幕下的適當佈局。
(1)彈性容器屬性
flex-direction:設定主軸方向,確定彈性子元素排列方式
flex-wrap:當彈性子元素超出彈性容器範圍時是否換行
flex-flow:flex-direction和flex-wrap屬性的快捷方式,複合屬性
justify-content:主軸上的對齊方式
align-items:側軸上的對齊方式
align-content:側軸上有空白時,側軸的對齊方式
(2)彈性子元素屬性
order:控制彈性容器裡子元素的順序
flex-grow:設定彈性子元素的擴展比值
flex-shrink:設定彈性子元素的收縮比率、
flex-basis:指定彈性子元素伸縮前的預設大小值,相當於width和height屬性
flex:flex-grow,flex-shrink和flex- basis屬性的複合屬性
align-self:允許獨立的彈性子元素覆蓋彈性容器的預設對齊設定
Flexbox選單項目實戰
.menu{ list-style-type: none; padding: 0; margin: 0; display: flex; flex-flow: row wrap; } .menu li{ height: 40px; text-align: center; line-height: 40px; flex: 1 1 100%; } .menu li:nth-child(1){ background-color: #39ADD1; } .menu li:nth-child(2){ background-color: #3079AB; } .menu li:nth-child(3){ background-color: #982551; } .menu li:nth-child(4){ background-color: #E15258; } .menu li:nth-child(5){ background-color: #CC6699; } .menu li:nth-child(6){ background-color: #52AC43; } @media (min-width:480px) { .menu li{ flex: 1 1 50%; } } @media (min-width:768px) { .menu{ flex-flow: row nowrap; } }
2、多列詳解
columns:複合屬性(column-width和column-count),設定寬度和列數;
column-width:設定每列的寬度
column-count:設定列數
column-gap:設定列之間的間隙
column-rule:複合屬性(column-rule-width、column-rule-style、column-rule-color),設定列之間的邊框樣式
column-fill:設定列的高度是否統一
column-span:設定是否橫跨所有列
最佳實踐方式:
/*超小屏幕(手机,小于768px)*/ /*没有任何媒体查询相关的代码,移动设备优先*/ /*小屏幕(平板,大小等于768)*/ @media (min-width: 768px) { } /*中等屏幕(桌面显示器,大于等于992px)*/ @media (min-width: 992px) { } /*大屏幕(大桌面显示器,大于等于1200px)*/ @media (min-width: 1200px) { }
以上是css3佈局屬性有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!