CSS3多列布局

columns屬性

  • 概念:設置或檢索對象的列數(shù)和每列的寬度,復合屬性
  • 語法:columns: <'columns-width'> || <'columns-count'>
  • 參數(shù):<'columns-width'> 是指每列的寬度粥惧;<'columns-count'>是指列數(shù)
// 當column-width和column-count都存在的時候突雪,會優(yōu)先考慮column-count涡贱。
// 優(yōu)先的意思是指:能放下n列,就放督函。不能放下n列,就調整列數(shù)和寬度锋叨。
// 當div的width可以容下column-count列的時候宛篇,就放column-count列叫倍。然后智能調整column-width。
// 當div的width無法容下column-count列的時候听诸,就自動計算并調整列數(shù)(現(xiàn)有column-width可以放多少列)蚕泽。然后智能調整column-width。

// 當只有column-width的時候派任,會根據(jù)這個列寬計算能放多少列璧南,然后再調整列寬
// 當只有column-count的時候司倚,會放置column-count列,然后再調整列寬
.test {
    width: 800px;
    border: 10px solid #000;
    -webkit-columns: 200px 3;
       -moz-columns: 200px 3;
            columns: 200px 3;
}
.test2 {
    border: 10px solid #000;
    -webkit-columns: 200px;
       -moz-columns: 200px;
            columns: 200px;
}

column-width屬性

  • 概念:設置或檢索對象每列的寬度
  • 語法:column-width: <length> | auto;
  • 參數(shù):<length> 是指用長度值來定義列寬皿伺,不允許負值盒粮;auto 是指根據(jù)列數(shù)自動分配寬度
// 瀏覽器會根據(jù)提供的column-width屬性丹皱,先計算column-count(列數(shù)),然后再智能調整column-width的值。
.test {
    width: 600px;
    border: 10px solid #000;
    -webkit-column-width: 200px;
       -moz-column-width: 200px;
            column-width: 200px;
}
.test2 {
    border: 10px solid #000;
    -webkit-column-width: 200px;
       -moz-column-width: 200px;
            column-width: 200px;
}

column-count屬性

  • 概念:設置或檢索對象的列數(shù)
  • 語法:column-count: <integer> | auto
  • 參數(shù):<integer> 是指列數(shù)讼油,不允許負值; auto 是指列寬自動匹配列數(shù)
// 當這個容器足夠寬的時候呢簸,可以認為column-width是無效的。因為會根據(jù)column-count智能調整瘦赫。
.test {
    width: 600px;
    border: 10px solid #000;
    -webkit-column-width: 200px;
       -moz-column-width: 200px;
            column-width: 200px;
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
}

column-gap屬性

  • 概念:設置或檢索對象的列與列之間的空隙
  • 語法:column-gap: <length> | normal;
  • 參數(shù):<length> 用長度值來定義空隙耸彪,不允許負值; normal: 與字體大小相同
.test3 {
    font-size: 48px;
    border: 10px solid #000;
    -webkit-column-width: 200px;
       -moz-column-width: 200px;
            column-width: 200px;
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
}

column-rule屬性

  • 概念:設置或檢索對象的列與列之間的邊框蝉娜,復合屬性
  • 語法:column-rule: <'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>
  • 參數(shù):設置或檢索對象的列與列之間的邊框厚度扎唾,樣式和顏色
  • 補充:分開設置(column-rule-width屬性胸遇,column-rule-style屬性,column-rule-color屬性)
.test {
    font-size: 48px;
    border: 10px solid #000;
    -webkit-column-width: 200px;
       -moz-column-width: 200px;
            column-width: 200px;
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-rule: 20px solid #ff0000;
       -moz-column-rule: 20px solid #ff0000;
            column-rule: 20px solid #ff0000;
}

column-span屬性

  • 概念:設置或檢索對象元素是否橫跨所有列
  • 語法:column-span: none | all;
  • 參數(shù):none 不跨列倍阐;all 橫跨所有列
// 注意這里控制的是子元素P
.text2 > p:nth-of-type(2) {
    -webkit-column-span: none;
       -moz-column-span: none;
            column-span: none;
}

column-fill屬性

  • 概念:設置或檢索對象所有列的高度是否統(tǒng)一
  • 語法:column-fill: auto | balance;
  • 參數(shù):auto 列高度自適應內容 | balance 所有列的高度以其中最高的一列統(tǒng)一
// 目前的主流瀏覽器都不支持此屬性
.text {
    width: 600px;
    font-size: 12px;
    border: 10px solid #000;
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-rule: 10px solid red;
       -moz-column-rule: 10px solid red;
            column-rule: 10px solid red;
    -webkit-column-fill: auto;
       -moz-column-fill: auto;
            column-fill: auto;
}

column-break-before屬性

  • 概念:設置或檢索對象之前是否換行
  • 語法:column-break-before: auto | always | avoid;
  • 參數(shù):
    auto:即不強迫也不禁止在元素之前斷行并產生新列
    always:總是在元素之前斷行并產生新列
    avoid:避免在元素之前斷行并產生新列
// 這個屬性設置在子元素div上
.text2 > div {
    color: red;
    -webkit-column-break-before: always;
       -moz-column-break-before: always;
            column-break-before: always;
}

column-break-after屬性

  • 概念:設置或檢索對象之后是否斷行
  • 語法:column-break-after: auto | always | avoid;
  • 參數(shù):
    auto:即不強迫也不禁止在元素之后斷行并產生新列
    always:總是在元素之后斷行并產生新列
    avoid:避免在元素之后斷行并產生新列
// 這個屬性設置在子元素div上
.text2 > div {
    color: red;
    -webkit-column-break-after: always;
       -moz-column-break-after: always;
            column-break-after: always;
}

column-break-inside屬性

  • 概念:設置或檢索對象內部是否斷行
  • 語法:column-break-inside: auto | avoid
  • 參數(shù):
    auto:即不強迫也不禁止在元素內部斷行并產生新列
    avoid:避免在元素內部斷行并產生新列
// 這個屬性設置在子元素div上
.text > div {
    color: red;
    -webkit-column-break-inside: auto;
       -moz-column-break-inside: auto;
            column-break-inside: auto;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市概耻,隨后出現(xiàn)的幾起案子罐呼,更是在濱河造成了極大的恐慌嫉柴,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件期奔,死亡現(xiàn)場離奇詭異危尿,居然都是意外死亡谊娇,警方通過查閱死者的電腦和手機肺孤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門罗晕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赠堵,你說我怎么就攤上這事小渊。” “怎么了茫叭?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵酬屉,是天一觀的道長。 經常有香客問我揍愁,道長呐萨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任莽囤,我火速辦了婚禮,結果婚禮上朽缎,老公的妹妹穿的比我還像新娘惨远。我一直安慰自己,他們只是感情好话肖,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布北秽。 她就那樣靜靜地躺著,像睡著了一般最筒。 火紅的嫁衣襯著肌膚如雪贺氓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天是钥,我揣著相機與錄音掠归,去河邊找鬼。 笑死悄泥,一個胖子當著我的面吹牛虏冻,可吹牛的內容都是我干的。 我是一名探鬼主播弹囚,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼厨相,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鸥鹉?” 一聲冷哼從身側響起蛮穿,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎毁渗,沒想到半個月后践磅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡灸异,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年府适,在試婚紗的時候發(fā)現(xiàn)自己被綠了羔飞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡檐春,死狀恐怖逻淌,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情疟暖,我是刑警寧澤卡儒,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站俐巴,受9級特大地震影響骨望,放射性物質發(fā)生泄漏。R本人自食惡果不足惜窜骄,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一锦募、第九天 我趴在偏房一處隱蔽的房頂上張望摆屯。 院中可真熱鬧邻遏,春花似錦、人聲如沸虐骑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽廷没。三九已至糊饱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間颠黎,已是汗流浹背另锋。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狭归,地道東北人夭坪。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像过椎,于是被迫代替她去往敵國和親室梅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內容