CSS columns輕松實(shí)現(xiàn)兩端對(duì)齊布局效果

一拄衰、兜兜轉(zhuǎn)轉(zhuǎn)一大圈

兜兜轉(zhuǎn)轉(zhuǎn)一大圈,最后發(fā)現(xiàn)實(shí)現(xiàn)兩端對(duì)齊布局方式最簡(jiǎn)單的居然是使用CSS columns多欄布局茫打。

例如,我們想要實(shí)現(xiàn)3列元素兩端對(duì)齊包吝,中間間隙是30px源葫,CSS代碼為:

.container {
    columns: 3;
    column-gap: 30px;
    /* 也可以是gap: 30px */
}

叮咚,結(jié)束了息堂,game over~

簡(jiǎn)單到令人發(fā)指。

不要懷疑床未,看一個(gè)實(shí)時(shí)渲染的例子吧:

<div class="container">
    <div class="zhang"></div>
    <div class="xin"></div>
    <div class="xu"></div>
</div>
.container {
    columns: 3;
    column-gap: 30px;
}
.container > div {
    padding: 50px;
    background: deepskyblue;
}

實(shí)時(shí)渲染效果如下振坚,如果沒效果薇搁,請(qǐng)?jiān)L問原文地址渡八。

image.png

二屎鳍、columns實(shí)現(xiàn)的優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

相比Flex布局和Grid布局的space-between值的兩端對(duì)齊效果,使用CSS columns布局實(shí)現(xiàn)的優(yōu)點(diǎn)除了代碼少了一點(diǎn)之外逮壁,最大的優(yōu)點(diǎn)是保護(hù)了HTML元素原本的display計(jì)算值。

例如,瀏覽器默認(rèn)狀態(tài)下巍杈,<li>元素會(huì)出現(xiàn)項(xiàng)目符號(hào)逗堵,例如圓點(diǎn),或數(shù)字序號(hào)蜒秤。

如果使用Flex布局或Grid布局,就需要設(shè)置display:flex或者display:grid攘滩,改變了原始的display:list-item計(jì)算值,圓點(diǎn)漂问,或數(shù)字序號(hào)就會(huì)消失女揭。

針對(duì)這個(gè)優(yōu)點(diǎn),我做了個(gè)demo吧兔,您可以狠狠地點(diǎn)擊這里:list-style-type保留同時(shí)columns兩端對(duì)齊demo

可以看到<li>元素子元素既保持了兩端對(duì)齊效果,<li>元素自身默認(rèn)自帶的圓點(diǎn)符號(hào)也保留了灶平,如下圖所示箍土。

項(xiàng)目符號(hào)點(diǎn)依舊保留示意

這是Flex布局和Grid布局無法輕松實(shí)現(xiàn)的。

缺點(diǎn)

適合單行元素的兩端對(duì)齊效果吴藻,如果列表元素有很多行,則columns布局就不太好處理疮鲫,一是列表的流向優(yōu)先垂直方向,二是容易出現(xiàn)列表垂直分列的意外場(chǎng)景。

三妇多、結(jié)語

CSS columns實(shí)現(xiàn)兩端布局效果雖然在實(shí)際開發(fā)的時(shí)候不實(shí)用,因?yàn)檫€是有不少限制的立莉。

唯一適合的場(chǎng)景,就是不改變display值同時(shí)實(shí)現(xiàn)兩端布局效果的時(shí)候蜓耻,雖然這樣的場(chǎng)景比較少,但是實(shí)際開發(fā)項(xiàng)目那么多饶氏,使用場(chǎng)景千千萬,難保什么時(shí)候會(huì)遇到疹启,此時(shí)蔼卡,用上短短columns:3;gap:30px;幾個(gè)字母就實(shí)現(xiàn)精湛的布局效果,豈不爽哉雇逞!

其實(shí)技術(shù)就是這樣,幾乎很少有沒有作用塘砸,完全雞肋的API的,存在就有道理粟耻,出現(xiàn)即有價(jià)值眉踱,只是其使用的場(chǎng)景是應(yīng)對(duì)非典型場(chǎng)景的。

學(xué)習(xí)之眨猎,了解之,獲取短時(shí)間看不到效果婿禽,但是隨著項(xiàng)目經(jīng)驗(yàn)不斷積累,一定會(huì)遇到使用適合的使用場(chǎng)景的淀零,別人還會(huì)頭疼怎么實(shí)現(xiàn)膛壹,還在不斷的谷歌搜索唉堪,而你,一個(gè)閃念的時(shí)間唠亚,聊聊數(shù)行代碼持痰,就實(shí)現(xiàn)了這樣的需求,那種感覺工窍,會(huì)讓你上癮的,什么感覺呢究珊?就是技術(shù)世界的掌控者,俯瞰蕓蕓代碼剿涮,代碼世界一人之下萬人之上的感覺攻人,本質(zhì)上是一種掌控權(quán)力的感覺,是成為技術(shù)高手的感覺怀吻。

所以,CSS columns實(shí)現(xiàn)兩端布局蓬坡,雖出場(chǎng)機(jī)會(huì)不錯(cuò),但本身價(jià)值并不低萨赁。

好兆龙,本文技術(shù)難度到?jīng)]什么,主要是一個(gè)布局小tips共享紫皇。

如果你覺得這個(gè)布局實(shí)現(xiàn)還不錯(cuò),歡迎分享給其他小伙伴化焕。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末铃剔,一起剝皮案震驚了整個(gè)濱河市脂倦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖蝶押,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棋电,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡赶盔,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門撕攒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烘浦,“玉大人,你說我怎么就攤上這事闷叉。” “怎么了握侧?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵品擎,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我孽查,道長(zhǎng),這世上最難降的妖魔是什么盲再? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任答朋,我火速辦了婚禮贷揽,結(jié)果婚禮上梦碗,老公的妹妹穿的比我還像新娘蓖救。我一直安慰自己印屁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布从橘。 她就那樣靜靜地躺著础钠,像睡著了一般恰力。 火紅的嫁衣襯著肌膚如雪旗吁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天香府,我揣著相機(jī)與錄音履怯,去河邊找鬼。 笑死叹洲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的运提。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼癣丧,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼栈妆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鳞尔,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤寥假,失蹤者是張志新(化名)和其女友劉穎市框,沒想到半個(gè)月后糕韧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喻圃,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粪滤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年杖小,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饮焦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窍侧。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡转绷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出斧账,到底是詐尸還是另有隱情,我是刑警寧澤咧织,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布籍救,位于F島的核電站,受9級(jí)特大地震影響蝙昙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奇颠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一烈拒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧荆几,春花似錦、人聲如沸伴郁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狈涮。三九已至鸭栖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晕鹊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國打工晓锻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留飞几,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓躁锁,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親战转。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 2020年3月6日23點(diǎn)16分 00 、一抹前言 and 兩端對(duì)齊 今天在看張?chǎng)涡竦牟┛偷臅r(shí)候寸潦,突然靈光乍現(xiàn),想到...
    CondorHero閱讀 377評(píng)論 0 1
  • 在開發(fā)需求的過程中命雀,會(huì)碰到一種需求,是一種列表吏砂,兩端對(duì)齊乘客,但是列表的最后一行要左對(duì)齊 列數(shù)不固定狐血,每列的寬度固定 ...
    keknei閱讀 1,833評(píng)論 0 0
  • 一易核、justify-content對(duì)齊問題描述 在CSS flex布局中,justify-content屬性可以控...
    SQQ_2803閱讀 1,453評(píng)論 0 0
  • 轉(zhuǎn)載自 大漠 導(dǎo)讀:CSS是Web開發(fā)中不可或缺的一部分缀匕,隨著Web技術(shù)的不斷革新,CSS也變得更加強(qiáng)大乡小。CSS的...
    WEB耳閱讀 984評(píng)論 0 18
  • 何為布局 此處說的布局是對(duì)HTML界面元素的布局,也就是對(duì)網(wǎng)頁中的元素進(jìn)行位置上的安排胜榔。那么我們?yōu)槭裁葱枰季趾腿?..
    張中華閱讀 457評(píng)論 0 5