亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CSS中的float和margin的混合使用示例代碼

  發(fā)布時間:2020-06-12 09:05:07   作者:coder_xyf   我要評論
這篇文章主要介紹了CSS中的float和margin的混合使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

在最近的學習中,在GitHub上找了一些布局練習,我發(fā)現(xiàn)了我自己對布局超級不熟悉(很難受)。

在以前的學習中,感覺使用CSS就記住各個屬性的功能就OK了,但是呢?真的很打臉。不說了,太傷心了,進入正題吧!

最近我使用float和margin布局,加深了我對這兩個一起使用的理解。(新生可以看一下,大神請忽略)

float屬性

float: left | right | none | inherit

當然最常用的還是前面兩個:向左浮動和向右浮動

浮動最主要的特點:脫標。

脫離標準流,處于更加高級的層面,影響父元素和后面元素的布局,這里就不具體介紹了。

margin屬性

這里主要講margin-left和margin-right

margin-left: 設置元素的左外邊距。
margin-right: 設置元素的右外邊距。

總的來說,這個兩個屬性的字面理解還是很容易的,但是越簡單的東西越不要小看。

重點

以下代碼:

html:

<div class="box">
    <div class="zi_box1">1</div>
    <div class="zi_box2">2</div>
    <div class="zi_box3">3</div>
    <div class="clear"></div>
</div>

CSS:

.box {
            background-color: #555555;
            width: 600px;
            height: 200px;
        }
        .zi_box1 {
            float: left;
            background-color: #c23232;
            width: 200px;
            height: 100px;
        }
        .zi_box2 {
            float: left;
            background-color: chartreuse;
            width: 200px;
            height: 100px;
        }

        .zi_box3 {
            float: left;
            background-color: blue;
            width: 200px;
            height: 100px;
        }
        .clear {
            clear: both;
        }

最后實現(xiàn)的效果圖:

三個子盒子充滿父盒子,因為但他們寬度可以在父盒子里面撐開。

如果父盒子撐不開呢?

加大一個子盒子的寬度,序號為3的盒子

zi_box3 {
    width: 300px;
}

效果圖如下:

那么第三個盒子則會另外起一行。

結合margin使用時

在第一代碼的基礎上,增加一個margin值

zi_box1 {
    margin-left: 20px;
}

這時候,由于三個盒子的寬度加上margin值大于父盒子的寬度,所以盒子3就會另起一行

反之,給盒子3設置一個外邊距的值,盒子1和盒子2不設置外邊距,是不是盒子3也會另外起一行呢?答案是肯定的,因為他們的寬度已經(jīng)超過父盒子的值了。

實現(xiàn)三列布局

在不改變DOM的順序的情況下,使盒子3,盒子1,盒子2的順序呢?是不是就可以充分使用margin這個屬性了。最開始白癡的我(很少練習布局吧,大神就不要噴我了,我只是個菜鳥)

白癡代碼

.zi_box1 {
     margin-left: 200px;       
}
.zi_box2 {
     margin-left: 200px;       
}

.zi_box3 {
     margin0left: -400px;
}
//這里很天真的想法,以為每個元素是單獨行動

這樣寫的效果圖:

我當時就傻了,這是什么玩意。

但是在最后的摸索中,我知道原因了,最最最最重要的就是DOM的執(zhí)行順序

造成這樣的原因就是:盒子1先解析,margin-left: 200px,那么這樣盒子3也就去了第二行; 再盒子2解析,margin-left:200px,那么盒子2也去了第二行,因為第一行已經(jīng)有600px這么寬的長度了。最后解析盒子3,margin-left:-400px,盒子向前移動400px,不就造成了這樣的效果圖嘛。

這樣想的,就是指考慮片面的,而不是全局的

實現(xiàn)三列布局的最終代碼

.zi_box1 {
     margin-left: 200px;       
}
.zi_box2 {
     margin-left: 0px;      
}

.zi_box3 {
     margin0left: -600px;
}

效果圖

可以簡單的這樣理解

盒子1向右移動200px,那么盒子2和盒子3也會向右移動200px,具體的效果圖如下

那么盒子3移動到前面去,是不是需要600px的距離啊(是不是很容易懂,嘻嘻),當然這只是我的片面理解,也不完全是對的。

那么float: right和margin-right是一樣的道理。

總結

到此這篇關于CSS中的float和margin的混合使用的文章就介紹到這了,更多相關css float margin混合使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

相關文章

  • css浮動 float屬性詳解

    浮動指的是一個元素脫離文檔流,懸浮在父元素之上的現(xiàn)象。這篇文章給大家介紹css浮動 float屬性的相關知識,感興趣的朋友一起看看吧
    2020-02-24
  • html/css中float浮動的用法實例詳解

    這篇文章主要介紹了html/css中float浮動的用法實例詳解,需要的朋友可以參考下
    2019-09-10
  • css float left布局換行不正常問題的解決

    這篇文章主要介紹了css float left布局換行不正常問題的解決的相關資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-06
  • css 布局 之 兩端布局的實例代碼 (利用父級負的margin)

    這篇文章主要介紹了css 布局 之 兩端布局 (利用父級負的margin)的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋
    2020-06-08
  • 解決CCS中的margin:top塌陷問題

    這篇文章主要介紹了CCS中的margin:top塌陷問題,本文通過實例截圖給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-27
  • css中子元素設置margin-top為什么影響了父元素

    這篇文章主要介紹了css中子元素設置margin-top為什么影響了父元素,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著
    2019-05-22
  • 詳解css外邊距折疊(margin collapsing)

    外邊距折疊指的是毗鄰的兩個或多個外邊距 (margin) 會合并成一個外邊距,本文詳細的介紹了一下css外邊距折疊的實現(xiàn),分為3種情況,非常具有實用價值,需要的朋友可以參考下
    2018-10-30
  • CSS 同級元素position:fixed和margin-top共同使用的問題

    這篇文章主要介紹了CSS 同級元素position:fixed和margin-top共同使用的問題的相關資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-13
  • 詳解css使既有浮動又有左右margin的多個元素兩端對其

    這篇文章主要介紹了詳解css使既有浮動又有左右margin的多個元素兩端對其,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-07

最新評論