最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CSS實(shí)現(xiàn)多個(gè)元素在盒子內(nèi)兩端對(duì)齊效果

  發(fā)布時(shí)間:2021-03-22 17:00:00   作者:IronEggs   我要評(píng)論
這篇文章主要介紹了CSS實(shí)現(xiàn)多個(gè)元素在盒子內(nèi)兩端對(duì)齊效果,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

元素倆端對(duì)齊的排列布局在實(shí)際的開(kāi)發(fā)當(dāng)中隨處可見(jiàn),使用flex布局的--justify-content : space-between即可輕松實(shí)現(xiàn),但有些場(chǎng)景下需要考慮兼容等問(wèn)題,不得不放棄flex布局,所以我們想要實(shí)現(xiàn)同樣的效果就需要研究排版,在網(wǎng)絡(luò)搜索了一番答案后,發(fā)現(xiàn)真正簡(jiǎn)單且實(shí)質(zhì)性能夠解決問(wèn)題的,寥寥無(wú)幾,確實(shí)我在實(shí)際項(xiàng)目中經(jīng)常碰到此類(lèi)布局,所以我利用業(yè)余時(shí)間,將其原理實(shí)現(xiàn)分享于此,以供交流,分享

場(chǎng)景要求

在一個(gè)確定寬度的盒子內(nèi),將item倆端對(duì)齊排列,且不影響確定盒子的原來(lái)布局。

<div class="container">
        <ul>
            <li>12</li>
            <li>2</li>
            <li>3</li>
            <li>12</li>
            <li>2</li>
            <li>3</li>
            <li>12</li>
            <li>2</li>
            <li>3</li>
        </ul>
    </div>

假設(shè)這里我們有這么些item

* {
        margin: 0;
        padding: 0;
    }
    
    .container {
        width: 1200px;
        height: 500px;
        background-color: aqua;
        margin: 0 auto;
    }
    
    ul {
        /* 關(guān)鍵是元素的寬,通過(guò)margin負(fù)值移位與container重疊 */
        width: 1220px;
        margin-left: -20px;
        list-style: none;
    }
    
    ul li {
        float: left;
        /* width = (盒子寬度 - margin間距 * 一行items的個(gè)數(shù) - 1) /  一行item的個(gè)數(shù) */
        /* (1200px - 20 * 2) / 3 */
        width: 386.666px;
        height: 60px;
        margin: 0px 0 20px 20px;
        background-color: red;
    }

css關(guān)鍵在于需要我們計(jì)算下item的寬度,/* width = (盒子寬度 - margin間距 * 一行items的個(gè)數(shù) - 1) /  一行item的個(gè)數(shù) */ ,這里我打算一行顯示三個(gè)item,那么就是(1200px - 20 * 2) / 3,為什么是一行item的個(gè)數(shù)-1來(lái)計(jì)算marign占據(jù)的寬度,三個(gè)item不應(yīng)該是三個(gè)margin嗎,這就是實(shí)現(xiàn)倆端對(duì)齊的精髓所在,試想浮動(dòng)布局,一行元素在流上逐個(gè)排列,當(dāng)流方向?qū)挾炔粔驎r(shí),元素則會(huì)折行排列,如果想讓齊在一行內(nèi)顯示,我們確實(shí)可以通過(guò)給第三個(gè)item的margin值設(shè)置為0,使其不折行也達(dá)到了倆端對(duì)齊的顯示方式,這樣做確實(shí)沒(méi)問(wèn)題,可一旦item個(gè)數(shù)多了,且不確定的時(shí)候呢,你怎么取消一行內(nèi)最后一個(gè)item的margin,顯然設(shè)置margin為0的方式不是最佳方案,那么此時(shí)就可以對(duì)他的外包盒子做處理,外部盒子ul(這里我使用的是ul標(biāo)簽,塊標(biāo)簽都可以)的寬度和 -margin值的設(shè)置。

為什么外部盒子的寬度是1220px

這是container原來(lái)的寬度

這是ul的寬度,是的已經(jīng)大過(guò)了container,而且是右邊大過(guò)去的,那此時(shí)將ul用-margin處理后,即可成為視覺(jué)上的倆端對(duì)齊

取消ul的背景顏色后,效果達(dá)成

總結(jié)

到此這篇關(guān)于CSS實(shí)現(xiàn)多個(gè)元素在盒子內(nèi)兩端對(duì)齊效果的文章就介紹到這了,更多相關(guān)CSS 元素 盒子 兩端對(duì)齊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

  • css下div下同行多元素右對(duì)齊

    這篇文章主要介紹了css下div下同行多元素右對(duì)齊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)
    2020-09-04
  • CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊

    這篇文章主要介紹了CSS自適應(yīng)布局實(shí)現(xiàn)子元素項(xiàng)目整體居中,內(nèi)部項(xiàng)目左對(duì)齊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們
    2019-09-03
  • css將兩個(gè)元素水平對(duì)齊的方法(兼容IE8)

    這篇文章主要介紹了css將兩個(gè)元素水平對(duì)齊的方法(兼容IE8)的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-06
  • css中float:right右對(duì)齊元素會(huì)換行不在同一條線上

    使用float設(shè)置右對(duì)齊顯示的時(shí)候,我們通常會(huì)遇到,右對(duì)齊的元素會(huì)換行,這樣就會(huì)出現(xiàn)左右元素不在同一條線上,下面為大家介紹下兩種解決方法,有類(lèi)似情況的朋友可以參考下
    2013-10-18

最新評(píng)論

南昌市| 明星| 玉溪市| 利川市| 汝南县| 绥阳县| 军事| 平塘县| 策勒县| 双流县| 宜兰市| 新巴尔虎右旗| 息烽县| 大悟县| 连州市| 达州市| 克什克腾旗| 鲁甸县| 浦北县| 乳山市| 营山县| 朝阳市| 华亭县| 崇左市| 尉犁县| 城口县| 嘉义市| 侯马市| 莆田市| 前郭尔| 湖北省| 安义县| 乐陵市| 罗平县| 华阴市| 苏州市| 宝山区| 竹山县| 建昌县| 漾濞| 梅河口市|