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

CSS深入學(xué)習(xí)之讓你認(rèn)識(shí)不一樣的margin

  發(fā)布時(shí)間:2017-06-28 15:20:29   作者:valar_cC   我要評(píng)論
這篇文章主要給大家介紹了CSS中margin的用法和常見(jiàn)問(wèn)題的分析,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。

一、簡(jiǎn)介

margin我們一般習(xí)慣的叫它外邊距,分別可以設(shè)置四個(gè)方向的外邊距,這里不再贅述賦值語(yǔ)法。

實(shí)際上,我們通常設(shè)置的margin是物理級(jí)別的設(shè)置,而margin還有start、end、before、after等,這些主要是邏輯級(jí)別的設(shè)置,如果你感興趣的話(huà),自行Google吧。

在設(shè)置margin時(shí),我們必須要知道:

  • 對(duì)于塊級(jí)元素,margin在四個(gè)方向是多有效;
  • 對(duì)于內(nèi)聯(lián)元素,margin只在水平方向有效。
     

二、盒子模型

說(shuō)到margin,不得不說(shuō)一下盒子模型:

1、從內(nèi)之外content => padding => border => margin
 

盒子模型之所以要終點(diǎn)理解,主要是盒子模型的標(biāo)準(zhǔn)不一樣,也就決定我們?cè)贑SS中設(shè)置的width到底是什么,這時(shí)大家多會(huì)想起那幾個(gè)計(jì)算公式,實(shí)際上CSS3的到來(lái),我們可以通過(guò)box-sizing來(lái)設(shè)置盒子模型的標(biāo)準(zhǔn):

2、border-box: width從border開(kāi)始計(jì)算;
 

3、content-box: width從content開(kāi)始計(jì)算;
 

4、padding-box: 已經(jīng)從標(biāo)準(zhǔn)中去除。

再來(lái)一張圖,是不是已經(jīng)了然于胸了
 

三、margin重疊問(wèn)題

這種問(wèn)題主要發(fā)生在block元素上并且不是浮動(dòng)元素(這里并沒(méi)有描述清楚,在后面會(huì)詳細(xì)講),下面我們來(lái)看發(fā)生的情況。

1、發(fā)生在相鄰的兄弟元素

    .a {
        margin: 50px 0;
    }
    .b {
        margin: 100px 0;
    }

相鄰的兄弟元素發(fā)生的margin重疊
 

這種情況發(fā)生margin重疊,相鄰兄弟節(jié)點(diǎn)之間的距離為最大margin值,避免這種情況的最佳方式,在垂直方向上,只設(shè)置margin-top或者margin-bottom。

2、發(fā)生在父子節(jié)點(diǎn)

    div(class="b")
    div(class="a")
        div(class="c") C
    .a {
        margin: 20px 0;
    }
    .b {
        margin: 100px 0;
    }

父子節(jié)點(diǎn)發(fā)生margin重疊
 

這里按照我們的理解應(yīng)該是a距離b是20像素,c距離a是100像素。但是事實(shí)卻不是這樣,這里我們可以通過(guò)以下方法解決重疊的問(wèn)題:

  • 父元素設(shè)置border;
  • 父元素設(shè)置padding;
  • 父元素設(shè)置overflow為hidden或者scroll,其他的不適用;
  • 父元素設(shè)置position為fixed或者absolute,其他的不適用。

四、神奇的margin負(fù)值

我們給一個(gè)block元素設(shè)置四個(gè)方向上的margin會(huì)發(fā)生什么:

  • top和left設(shè)置負(fù)值,會(huì)將元素向上或者左移動(dòng)對(duì)應(yīng)的像素距離;
  • bottom和right設(shè)置負(fù)值,則會(huì)將相鄰的元素向上或者左移動(dòng)。

這里還有一點(diǎn),查資料的時(shí)候,發(fā)現(xiàn)很多人多說(shuō)margin負(fù)值可以改變?cè)氐膶挾?,這里我想更正一下,這并不是margin負(fù)值的特性,而是margin的特性,比如下面這段CSS,完全可以設(shè)置塊級(jí)元素的寬度。

    .item {
        margin: 0 200px;
        height: 200px;
    }

對(duì)于margin賦值在布局的應(yīng)用很廣泛,比如我們已知一個(gè)元素的寬高,你可以通過(guò)margin負(fù)值居中。

    .item {
        position: absolute;
        background: red;
        width: 200px;
        height: 200px;
        top: 50%;
        left: 50%;
        margin-top: -100px;
        margin-left: -100px;
    }

五、margin與float

對(duì)于這兩個(gè)讓人頭疼的屬性混到一起,我只想說(shuō),真的很爆炸。上面我說(shuō)過(guò)“這種問(wèn)題主要發(fā)生在block元素上并且不是浮動(dòng)元素”,這里要再補(bǔ)充兩點(diǎn):

  • 相鄰兄弟元素,如果兩者多是浮動(dòng)元素,則不發(fā)生margin重疊;
  • 父子元素,如果其中一個(gè)是浮動(dòng)元素,則不會(huì)發(fā)生margin重疊;
     

主要還是由于浮動(dòng)元素不在正常的文檔流中,所以還是用上清除浮動(dòng)的方法比較好。(一下為bootstrap的實(shí)現(xiàn)方式)

    .clearfix::before, .clearfix::after {
        content: " ";
        display: table;
    }

    .clearfix::after {
        clear: both;
    }

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
 

相關(guān)文章

  • CSS中margin邊界疊加問(wèn)題及解決方案

    本文主要介紹了CSS中margin邊界疊加問(wèn)題及解決方案。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-27
  • CSS margin全面了解

    下面小編就為大家?guī)?lái)一篇CSS margin全面了解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,祝大家游戲愉快哦
    2016-07-21
  • 淺談css margin重疊

    下面小編就為大家?guī)?lái)一篇淺談css margin重疊。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-19
  • CSS 之margin知識(shí)點(diǎn)(必看)

    下面小編就為大家?guī)?lái)一篇CSS 之margin知識(shí)點(diǎn)(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-10
  • css布局之負(fù)margin妙用及其他實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了css布局之負(fù)margin妙用及其他實(shí)現(xiàn)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 細(xì)說(shuō)CSS中margin屬性的使用

    這篇文章和大家詳細(xì)說(shuō)一說(shuō)CSS中margin屬性的使用,重點(diǎn)描述了關(guān)于margin,我們?nèi)粘2惶菀装l(fā)現(xiàn)的“坑,感興趣的小伙伴們可以參考一下
    2016-02-25
  • 深入解析CSS中margin屬性的使用

    這篇文章主要介紹了CSS中的margin屬性的使用,margin是元素盒模型(box model)的基礎(chǔ)屬性,常被用來(lái)設(shè)置外邊距,實(shí)際用途非常廣泛,需要的朋友可以參考下
    2016-02-02
  • CSS中使用負(fù)margin值來(lái)調(diào)整居中位置

    這篇文章主要介紹了CSS中使用負(fù)margin值來(lái)調(diào)整居中位置的方法,文中同時(shí)提到了這種常用方法的一些值得注意的地方,需要的朋友可以參考下
    2015-07-15
  • CSS屬性探秘系列(六):margin

    margin 簡(jiǎn)寫(xiě)屬性在一個(gè)聲明中設(shè)置所有外邊距屬性。該屬性可以有 1 到 4 個(gè)值。這個(gè)簡(jiǎn)寫(xiě)屬性設(shè)置一個(gè)元素所有外邊距的寬度,或者設(shè)置各邊上外邊距的寬度。塊級(jí)元素的垂直相
    2014-10-22
  • 通過(guò)css屬性margin:auto讓Div中的Table居中

    在div標(biāo)簽中加入text-align:center里面的Table是不會(huì)居中的,在Table中加上 margin:auto就可以實(shí)現(xiàn)居中效果,下面有個(gè)示例,大家可以參考下
    2014-03-19

最新評(píng)論

油尖旺区| 汕头市| 中山市| 理塘县| 郴州市| 襄樊市| 苏尼特右旗| 化德县| 乐山市| 石家庄市| 隆安县| 互助| 辽阳县| 新野县| 平南县| 汤原县| 永修县| 无棣县| 定安县| 伊川县| 呼伦贝尔市| 方城县| 涿鹿县| 陆河县| 太仓市| 衡阳市| 宽城| 靖江市| 武强县| 湘潭市| 抚松县| 三门县| 江孜县| 滁州市| 北安市| 西充县| 九江市| 边坝县| 宁陕县| 项城市| 都匀市|