CSS3 column-width用法
CSS3 column-width
column-width屬性用來規(guī)定列的寬度。
語法結(jié)構(gòu):
column-width: auto|length;
參數(shù)解析:
(1).auto:默認(rèn)值,它的值有其他的相關(guān)屬性決定。
(2).length:規(guī)定列的寬度,比如100px。
瀏覽器支持:
(1).IE10和IE10以上瀏覽器支持此屬性。
(2).谷歌瀏覽器支持此屬性。
(3).火狐瀏覽器支持此屬性。
(4).opera瀏覽器支持此屬性。
(5).Safari瀏覽器支持此屬性。
特別說明:
火狐瀏覽器需要加 -moz-前綴。
谷歌和Safari瀏覽器需要添加-webkit-前綴。
代碼實(shí)例:
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://ipnx.cn/" /> <title>php中文網(wǎng)</title> <style type="text/css"> .columns { border: 1px solid green; width: 600px; margin: 20px auto; -webkit-column-width:auto; -moz-column-width: auto; column-width: auto; } </style> </head> <body> <div class="columns"> 互聯(lián)網(wǎng)的出現(xiàn),極大的促進(jìn)了信息的交流,隨著步伐的前進(jìn),網(wǎng)站的交互需求越來越多,但是受限于當(dāng)時(shí)的軟硬件條件, 特別是網(wǎng)絡(luò)環(huán)境的限制,非常簡(jiǎn)單的表單驗(yàn)證都要花費(fèi)大量的時(shí)間在服務(wù)器與客戶端之間進(jìn)行傳輸, 后來改名為JavaScript。隨著JavaScript在互聯(lián)網(wǎng)上的成功運(yùn)用,微軟公司也隨之開發(fā)了自己的"JavaScript"名叫JScript, 于是在互聯(lián)網(wǎng)上就出現(xiàn)多種標(biāo)準(zhǔn)的"JavaScript"腳本語言,如果任其發(fā)展下去,那么將會(huì)嚴(yán)重影響互聯(lián)網(wǎng)發(fā)展, 于是標(biāo)準(zhǔn)化迫在眉睫。最后JavaScript被提交給提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA), 并最終推出了ECMA-262標(biāo)準(zhǔn),定義了名為ECMAScript的腳本語言,從此以后瀏覽器都將ECMAScript作為JavaScript的實(shí)現(xiàn)基礎(chǔ)。 </div> </body> </html>
代碼將column-width值設(shè)置為默認(rèn)值auto(可以省略),可以發(fā)現(xiàn)由于沒有設(shè)置其他的相關(guān)屬性,那么就會(huì)以單列顯示。
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://ipnx.cn/" /> <title>php中文網(wǎng)</title> <style type="text/css"> .columns { border: 1px solid green; width: 600px; margin: 20px auto; -webkit-column-width:auto; -moz-column-width: auto; column-width: auto; -moz-column-count:3; -webkit-column-count:3; column-count:3; } </style> </head> <body> <div class="columns"> 互聯(lián)網(wǎng)的出現(xiàn),極大的促進(jìn)了信息的交流,隨著步伐的前進(jìn),網(wǎng)站的交互需求越來越多,但是受限于當(dāng)時(shí)的軟硬件條件, 特別是網(wǎng)絡(luò)環(huán)境的限制,非常簡(jiǎn)單的表單驗(yàn)證都要花費(fèi)大量的時(shí)間在服務(wù)器與客戶端之間進(jìn)行傳輸, 后來改名為JavaScript。隨著JavaScript在互聯(lián)網(wǎng)上的成功運(yùn)用,微軟公司也隨之開發(fā)了自己的"JavaScript"名叫JScript, 于是在互聯(lián)網(wǎng)上就出現(xiàn)多種標(biāo)準(zhǔn)的"JavaScript"腳本語言,如果任其發(fā)展下去,那么將會(huì)嚴(yán)重影響互聯(lián)網(wǎng)發(fā)展, 于是標(biāo)準(zhǔn)化迫在眉睫。最后JavaScript被提交給提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA), 并最終推出了ECMA-262標(biāo)準(zhǔn),定義了名為ECMAScript的腳本語言,從此以后瀏覽器都將ECMAScript作為JavaScript的實(shí)現(xiàn)基礎(chǔ)。 </div> </body> </html>
代碼設(shè)置column-count值為3,也就是設(shè)置三列顯示,這個(gè)時(shí)候column-width就會(huì)根據(jù)相關(guān)屬性自動(dòng)調(diào)節(jié)。
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://ipnx.cn/" /> <title>php中文網(wǎng)</title> <style type="text/css"> .columns { border: 1px solid green; width: 600px; margin: 20px auto; -webkit-column-width:50px; -moz-column-width: 50px; column-width: 50px; -moz-column-count:3; -webkit-column-count:3; column-count:3; } </style> </head> <body> <div class="columns"> 互聯(lián)網(wǎng)的出現(xiàn),極大的促進(jìn)了信息的交流,隨著步伐的前進(jìn),網(wǎng)站的交互需求越來越多,但是受限于當(dāng)時(shí)的軟硬件條件, 特別是網(wǎng)絡(luò)環(huán)境的限制,非常簡(jiǎn)單的表單驗(yàn)證都要花費(fèi)大量的時(shí)間在服務(wù)器與客戶端之間進(jìn)行傳輸, 后來改名為JavaScript。隨著JavaScript在互聯(lián)網(wǎng)上的成功運(yùn)用,微軟公司也隨之開發(fā)了自己的"JavaScript"名叫JScript, 于是在互聯(lián)網(wǎng)上就出現(xiàn)多種標(biāo)準(zhǔn)的"JavaScript"腳本語言,如果任其發(fā)展下去,那么將會(huì)嚴(yán)重影響互聯(lián)網(wǎng)發(fā)展, 于是標(biāo)準(zhǔn)化迫在眉睫。最后JavaScript被提交給提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA), 并最終推出了ECMA-262標(biāo)準(zhǔn),定義了名為ECMAScript的腳本語言,從此以后瀏覽器都將ECMAScript作為JavaScript的實(shí)現(xiàn)基礎(chǔ)。 </div> </body> </html>
上面的代碼設(shè)置寬為50px,3列,但是實(shí)際的表現(xiàn)并不是50px的寬。這時(shí)候列寬會(huì)自動(dòng)擴(kuò)展到一個(gè)合適的值,能夠和3列和默認(rèn)的Column-gap相匹配。特別說明一點(diǎn),Column-gap的默認(rèn)值是1em(如果使用的是px,那么就是字體的像素大?。?br/>
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://ipnx.cn/" /> <title>php中文網(wǎng)</title> <style type="text/css"> .columns { border: 1px solid green; width: 600px; margin: 20px auto; -webkit-column-width:250px; -moz-column-width: 250px; column-width: 250px; -moz-column-count:3; -webkit-column-count:3; column-count:3; } </style> </head> <body> <div class="columns"> 互聯(lián)網(wǎng)的出現(xiàn),極大的促進(jìn)了信息的交流,隨著步伐的前進(jìn),網(wǎng)站的交互需求越來越多,但是受限于當(dāng)時(shí)的軟硬件條件, 特別是網(wǎng)絡(luò)環(huán)境的限制,非常簡(jiǎn)單的表單驗(yàn)證都要花費(fèi)大量的時(shí)間在服務(wù)器與客戶端之間進(jìn)行傳輸, 后來改名為JavaScript。隨著JavaScript在互聯(lián)網(wǎng)上的成功運(yùn)用,微軟公司也隨之開發(fā)了自己的"JavaScript"名叫JScript, 于是在互聯(lián)網(wǎng)上就出現(xiàn)多種標(biāo)準(zhǔn)的"JavaScript"腳本語言,如果任其發(fā)展下去,那么將會(huì)嚴(yán)重影響互聯(lián)網(wǎng)發(fā)展, 于是標(biāo)準(zhǔn)化迫在眉睫。最后JavaScript被提交給提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA), 并最終推出了ECMA-262標(biāo)準(zhǔn),定義了名為ECMAScript的腳本語言,從此以后瀏覽器都將ECMAScript作為JavaScript的實(shí)現(xiàn)基礎(chǔ)。 </div> </body> </html>
列的總寬度加上Column-gap的總寬度如果大于容器的寬度,那么就會(huì)減少列的數(shù)目,也會(huì)調(diào)整列的寬度。
給出一個(gè)列的寬度計(jì)算基本公式(除column-count外,其他相關(guān)屬性值為默認(rèn)):
column-width = (width-(n-1)*font-size)/n
n的值要大于等于2。下面做一下說明:
(1).n就是列數(shù),n-1就是列與列之間的間隔(column-gap)。
(2).因?yàn)槟J(rèn)間隔的大小是字體大小,所以(n-1)*font-size就是所有間隔的尺寸。
(3).(width-(n-1)*font-size)/n就是列的寬度。
特別說明:Opera下建議再減1個(gè)px,中文也有類似的建議,再減去1px或者2px。