日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

CSS margin屬性詳解

 弘護(hù)正法 2019-10-17

我發(fā)現(xiàn)當(dāng)我想寫好一篇博文的時(shí)候,希望以后能有人看到,會(huì)對(duì)別人也有一定的幫助,這時(shí)候?qū)τ谄渲械膬?nèi)容就變得深思熟慮起來,讓自己查閱盡可能多的資料,這樣的方式正好可以彌補(bǔ)我某些方面的不足,讓我能夠深入了解一些可能平常不太注意的知識(shí)點(diǎn),哈哈,但可能還是會(huì)存在局限性:P。如果能堅(jiān)持寫博文的話,一定會(huì)是一件超棒的事情。這些就只是我自己的碎碎念:)~

盒子模型

講到margin,不可避免的就又要說到盒子模型,盒子模型包括了:內(nèi)容(content)、填充(padding)、邊框(border)、邊界(margin), CSS盒子模式都具備這些屬性(這里只說W3C標(biāo)準(zhǔn)的盒子模型)。如下圖所示:

這里寫圖片描述

margin相關(guān)屬性

margin簡(jiǎn)寫屬性在一個(gè)聲明中設(shè)置所有外邊距屬性。該屬性可以有1-4個(gè)值。margin的默認(rèn)值是0。沒有繼承性,也就是說給父元素設(shè)置的margin值并不會(huì)自動(dòng)傳遞到子元素中。

一個(gè)參數(shù)

margin: 10px;
  • 所有4個(gè)外邊距都是10px

兩個(gè)參數(shù)

margin: 10px 5px;
  • 上外邊距和下外邊距是10px

  • 右外邊距和左外邊距是5px

三個(gè)參數(shù)

margin: 10px 5px 15px;
  • 上外邊距是10px

  • 右外邊距和左外邊距是5px

  • 下外邊距是15px

四個(gè)參數(shù)

margin: 10px 5px 15px 20px;
  • 上外邊距是10px

  • 右外邊距是5px

  • 下外邊距是15px

  • 左外邊距是20px

設(shè)置四個(gè)外邊距的順序是上、右、下、左,請(qǐng)記住順時(shí)針即可。

margin外邊距合并

  • 塊級(jí)元素的垂直相鄰?fù)膺吘鄷?huì)合并
    如下圖所示:
    這里寫圖片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin</title>
    <style>
        div {
            margin: 20px;
            color: #fff;
        }
        .top {
            background: green;
        }
        .bottom {
            background: orange;
        }
    </style>
</head>
<body>
    <div class="top">margin: 20px</div>
    <div class="bottom">margin: 20px</div>
</body>
</html>

且其垂直相鄰?fù)膺吘嗪喜⒅蟮闹禐樯显氐南峦膺吘嗪拖略氐纳贤膺吘嗟妮^大值。
如下圖所示:
這里寫圖片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin</title>
    <style>
        div {
            color: #fff;
        }
        .top {
            background: green;
            margin: 40px;
        }
        .bottom {
            background: orange;
            margin: 20px;
        }
    </style>
</head>
<body>
    <div class="top">margin: 40px</div>
    <div class="bottom">margin: 20px</div>
</body>
</html>
  • 而行內(nèi)元素實(shí)際上不占上下外邊距。
    如下圖所示:
    這里寫圖片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin</title>
    <style>
        span {
            margin: 20px;
            background: orange;
            color: #fff;
        }
    </style>
</head>
<body>
    <span>margin: 20px</span>
</body>
</html>
  • 行內(nèi)元素的的左右外邊距不會(huì)合并。
    如下圖所示:
    這里寫圖片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin</title>
    <style>
        span {
            margin: 20px;
            background: orange;
            color: #fff;
        }
    </style>
</head>
<body>
    <span>margin: 20px</span>
    <span>margin: 20px</span>
</body>
</html>
  • 浮動(dòng)元素的外邊距也不會(huì)合并。
    如下圖所示:
    這里寫圖片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin</title>
    <style>
        div {
            float: left;
            margin: 20px;
            background: orange;
            color: #fff;
        }
    </style>
</head>
<body>
    <div>margin: 20px</div>
    <div>margin: 20px</div>
    <div>margin: 20px</div>
    <div>margin: 20px</div>
    <div>margin: 20px</div>
    <div>margin: 20px</div>
    <div>margin: 20px</div>
</body>
</html>

margin負(fù)值

左右固定,中間自適應(yīng)(雙飛翼)

雙飛翼布局的好處:
1、主要的內(nèi)容先加載的優(yōu)化;
2、在瀏覽器上的兼容性非常好,IE6及以上都支持;
3、實(shí)現(xiàn)不同的布局方式,可以通過調(diào)整相關(guān)CSS屬性即可實(shí)現(xiàn)。
實(shí)現(xiàn)效果如下圖所示:
這里寫圖片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        div {
            color: #fff;
            height: 200px;
        }
        .center {
            float: left;
            width: 100%;
        }
        .center .content {
            margin: 0 210px 0 110px;
            background: orange;
        }
        .left {
            float: left;
            width: 100px;
            margin-left: -100%;
            background: green;
        }
        .right {
            float: left;
            margin-left: -200px;
            width: 200px;
            background: green;
        }
    </style>
</head>
<body>
    <div class="center">
        <div class="content">center</div>
    </div>
    <div class="left">left</div>
    <div class="right">right</div>
</body>
</html>

用于水平垂直居中

一個(gè)居中的div

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            position: absolute;
            left: 50%;
            top: 50%;
            margin-left: -50px;
            margin-top: -50px;
            background: orange;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

這種使得元素居中的方法的缺點(diǎn)就是:你必須知道這個(gè)絕對(duì)定位元素寬度以及高度才能通過設(shè)置負(fù)margin值,使其相對(duì)于瀏覽器窗口(父元素)居中,若對(duì)于不確定寬度和高度,則不能用這種方法,可以使用:

transform: translate3d(-50%,-50%,0);

對(duì)于margin負(fù)值來說,不止有這兩個(gè)實(shí)現(xiàn),還會(huì)有其他各種用途,這里暫不一一細(xì)講。 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多