CSS的box-align屬性控制子元素布局實(shí)例

box-align 說明
box-align屬性, 指定元素內(nèi)子要素縱方向排列指定時(shí)使用。<規(guī)定框中子元素的顯示次序。>
容器元素比子元素大很多的情況下,使用box-align屬性,可以指定子元素的排序順序,并且可以指定子元素如何表示。
還有,縱方向排列一說,可以解釋為元素內(nèi)子元素的配置方向默認(rèn)值為水平,使用此屬性后垂直方向進(jìn)行排列。也可以使用 box-orient:vertical來設(shè)置子元素排列方向。
屬性值
start:標(biāo)準(zhǔn)方向元素,各子要素上端沿著元素上端進(jìn)行排列,余下的位置向下排序, 反方向元素的話,則沿著下端進(jìn)行排序,余下的位置向上排序。<對于正常方向的框,每個(gè)子元素的上邊緣沿著框的頂邊放置。 對于反方向的框,每個(gè)子元素的下邊緣沿著框的底邊放置。>
end:標(biāo)準(zhǔn)方向元素,各子要素下端沿著元素下端進(jìn)行排列,余下的位置向上排序, 反方向元素的話,則沿著上端進(jìn)行排序,余下的位置向下排序。<對于正常方向的框,每個(gè)子元素的下邊緣沿著框的底邊放置。 對于反方向的框,每個(gè)子元素的上邊緣沿著框的頂邊放置。>
center:剩余空間,進(jìn)行均等分配。<均等地分割多余的空間,一半位于子元素之上,另一半位于子元素之下。>
baseline:inline-axis和horizontal的場合,所有子元素baseline配置排列<如果 box-orient 是inline-axis或horizontal,所有子元素均與其基線對齊。>
stretch:各子元素按照容器元素的高來自動(dòng)排序(默認(rèn)值)
關(guān)于居中
原來水平垂直居中寫法為:height=line-height 實(shí)現(xiàn)垂直居中text-align實(shí)現(xiàn)水平居中
現(xiàn)在使用box-align實(shí)現(xiàn)垂直居中box-pack 實(shí)現(xiàn)水平居中
- <!DOCTYPE html>
- <html>
- <head>
- <title>水平及垂直居中</title>
- </head>
- <body >
- <div style="width:300px; height: 300px; background-color: #ccc;
- line-height: 300px; text-align: center;">
- <input type="button" value="原有居中方式">
- </div>
- <div style="width:300px; height: 300px; background-color: #aaa;
- display:-webkit-box;-webkit-box-pack: center;
- ; -webkit-box-align:center">
- <input type="button" value="css3的居中方式">
- </div>
- </body>
- </html>
實(shí)例代碼
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title> box-align </title>
- <style>
- div.prefix_sample1 {
- width:500px; height:100px;
- background-color:yellow;
- display:-moz-box;
- display:-webkit-box;
- display:-o-box;
- display:-ms-box;
- -moz-box-align:start;
- -webkit-box-align:start;
- -o-box-align:start;
- -ms-box-align:start;
- }
- div.prefix_sample2 {
- width:500px; height:100px;
- background-color:yellow;
- display:-moz-box;
- display:-webkit-box;
- display:-o-box;
- display:-ms-box;
- -moz-box-align:end;
- -webkit-box-align:end;
- -o-box-align:end;
- -ms-box-align:end;
- }
- div.prefix_sample3 {
- width:500px; height:100px;
- background-color:yellow;
- display:-moz-box;
- display:-webkit-box;
- display:-o-box;
- display:-ms-box;
- -moz-box-align:center;
- -webkit-box-align:center;
- -o-box-align:center;
- -ms-box-align:center;
- }
- div.prefix_sample4 {
- width:500px; height:100px;
- background-color:yellow;
- display:-moz-box;
- display:-webkit-box;
- display:-o-box;
- display:-ms-box;
- -moz-box-align:baselinebaseline;
- -webkit-box-align:baselinebaseline;
- -o-box-align:baselinebaseline;
- -ms-box-align:baselinebaseline;
- }
- div.prefix_sample5 {
- width:500px; height:100px;
- background-color:yellow;
- display:-moz-box;
- display:-webkit-box;
- display:-o-box;
- display:-ms-box;
- -moz-box-align:stretch;
- -webkit-box-align:stretch;
- -o-box-align:stretch;
- -ms-box-align:stretch;
- }
- div.aka {background-color:red;}
- div.midori {background-color:green;}
- div.ao {background-color:blue;}
- </style>
- </head>
- <body>
- <h4>box-align:start;</h4>
- <div class="prefix_sample1">
- <div class="aka">abcde</div>
- <div class="midori">abcde</div>
- <div class="ao">abcde</div>
- </div>
- <h4>box-align:end;</h4>
- <div class="prefix_sample2">
- <div class="aka">abcde</div>
- <div class="midori">abcde</div>
- <div class="ao">abcde</div>
- </div>
- <h4>box-align:center; </h4>
- <div class="prefix_sample3">
- <div class="aka">abcde</div>
- <div class="midori">abcde</div>
- <div class="ao">abcde</div>
- </div>
- <h4>box-align:baselinebaseline; </h4>
- <div class="prefix_sample4">
- <div class="aka">abcde</div>
- <div class="midori">abcde</div>
- <div class="ao">abcde</div>
- </div>
- <h4>box-align:stretch; </h4>
- <div class="prefix_sample5">
- <div class="aka">abcde</div>
- <div class="midori">abcde</div>
- <div class="ao">abcde</div>
- </div>
- </body>
- </html>
實(shí)例圖
相關(guān)文章
解析CSS的box model盒模型及其內(nèi)的子元素布局控制
盒模型是CSS控制布局的主要方式之一,尤其是內(nèi)部的元素排列控制,這里我們將來解析CSS的box model盒模型及其內(nèi)的子元素布局控制,需要的朋友可以參考下2016-07-01使用CSS3的box-sizing屬性解決div寬高被內(nèi)邊距撐開的問題
div往往會(huì)因?yàn)閮?nèi)邊距的設(shè)置而使整個(gè)層寬度和高度超出預(yù)定范圍,而CSS3的box-sizing屬性可以簡單解決這樣的現(xiàn)象,下面我們就來詳細(xì)解說使用CSS3的box-sizing屬性解決div寬高被2016-06-28實(shí)例講解CSS3中的box-flex彈性盒屬性布局
flex布局毫無疑問是當(dāng)今Web頁面的最強(qiáng)大布局方式,box-flex彈性盒模型是其中的一個(gè)代表,這里我們就來以實(shí)例講解CSS3中的box-flex彈性盒模型布局2023-06-22- 這篇文章主要介紹了CSS3中box-shadow的用法,改方法即是作一個(gè)盒裝區(qū)域的陰影效果,需要的朋友可以參考下2015-07-15
- 這篇文章主要介紹了CSS3屬性box-shadow使用指南,需要的朋友可以參考下2014-12-09
- 這篇文章主要介紹了CSS3屬性box-sizing使用指南,需要的朋友可以參考下2014-12-09
css3設(shè)置box-pack和box-align讓div里面的元素垂直居中
只要設(shè)置元素的box-pack和box-align即可,這兩個(gè)屬性當(dāng)前只有webkit和moz支持,要設(shè)置垂直居中的話只需要將這兩個(gè)屬性的值都設(shè)置為center即可,需要的朋友可以參考下2014-09-01