任務(wù)12

  1. 負(fù)邊距在讓元素產(chǎn)生偏移時(shí)和position: relative有什么區(qū)別?
    負(fù)邊距讓元素產(chǎn)生偏移會(huì)影響普通流;position: relative;讓元素產(chǎn)生偏移后會(huì)保留元素偏移前的空間,不會(huì)對(duì)結(jié)構(gòu)下面的元素產(chǎn)生影響。
<style type="text/css">
    .box{
        width: 300px;
        height: 200px;
        border: 1px solid;
        margin: 30px auto;
    }
    .one{
        width: 50px;
        height: 50px;
        background-color: #f00;
        position: relative;
    }
    .two{
        width: 50px;
        height: 50px;
        background-color: #f00;
    }
    .con{
        width: 50px;
        height: 50px;
        background-color: #0f0;
    }
    </style>
</head>
<body>
    <div class="fa">
        <div class="box">
            <div class="one"></div>
            <div class="con"></div>
        </div>
        <div class="box">
            <div class="two"></div>
            <div class="con"></div>
        </div>
</body>```
![偏移前](http://upload-images.jianshu.io/upload_images/2150964-173cfa85f9734afa.PNG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
偏移代碼

.one{top: -20px;}
.two{margin-top: -20px; }```


偏移后
  1. 使用負(fù) margin 形成三欄布局有什么條件?
    1. 兩側(cè)定寬,中間自適應(yīng);
    2. 三個(gè)塊元素在同一個(gè)容器內(nèi)且子元素都需要浮動(dòng);
    3. 設(shè)置負(fù)邊距后下面的元素可以上去。
  2. 圣杯布局的原理是怎樣的? 簡(jiǎn)述實(shí)現(xiàn)圣杯布局的步驟
    圣杯布局和雙飛翼布局的區(qū)別在于解決被覆蓋區(qū)域的方式不同。圣杯布局是兩側(cè)欄在父元素的幫助下改變被覆蓋者,“你的地盤(pán)太多了,我要收回一部分(padding),然后悄悄地給了另外一個(gè)或兩個(gè)孩子”;雙飛翼布局是被覆蓋者主動(dòng)求變,“看在兄弟的情分上,我讓你們留下,并且會(huì)給你們封地(margin),但是,普天之下莫非王土,地契是我的”。
    • 原理:負(fù)邊距+定位。margin-left為負(fù)值,且兩個(gè)元素不在一行的時(shí)候(可以用元素float:left,width:100%實(shí)現(xiàn))margin-left可以吃掉兄弟元素的marginposition: relative可以讓元素相對(duì)自身進(jìn)行偏移。
    • 步驟:
      • 給父元素設(shè)置padding-leftpadding-right分別等于左右欄對(duì)應(yīng)寬度,中間欄自適應(yīng);
      • 利用負(fù)邊距margin-left: -100%以及margin-left: -側(cè)邊欄寬度,讓下面元素上去;
      • 兩側(cè)欄設(shè)置position: relative調(diào)整左右距離實(shí)現(xiàn)兩欄或三欄布局。
  3. 雙飛翼布局的原理? 實(shí)現(xiàn)步驟?
    • 原理:負(fù)邊距+被覆蓋內(nèi)容添加子div,并設(shè)置左右margin值。
    • 步驟:使用負(fù)margin使下面的div浮動(dòng)上來(lái),再給被覆蓋內(nèi)容的欄的內(nèi)部使用一個(gè)div,給這個(gè)div設(shè)置margin-leftmargin-right為左欄或右欄的寬度,實(shí)現(xiàn)兩欄或三欄布局。

代碼:

代碼一 預(yù)覽
圣2 預(yù)覽
圣3 預(yù)覽
雙2 預(yù)覽
雙3 預(yù)覽

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,108評(píng)論 1 92
  • 1.負(fù)邊距在讓元素產(chǎn)生偏移時(shí)和position:relative有什么區(qū)別? 通過(guò)負(fù)邊距進(jìn)行偏移的元素,它會(huì)放棄偏...
    饑人谷_任磊閱讀 337評(píng)論 0 1
  • 1. 負(fù)邊距在讓元素偏移時(shí)和position: relative有什么區(qū)別? 通過(guò)負(fù)邊距進(jìn)行偏移的元素,它會(huì)放棄原...
    Timmmmmmm閱讀 476評(píng)論 0 0
  • 一、負(fù)邊距在讓元素產(chǎn)生偏移時(shí)和position: relative有什么區(qū)別? 1、使用負(fù)邊距讓元素產(chǎn)生偏移時(shí),會(huì)...
    鴻鵠飛天閱讀 395評(píng)論 0 0
  • 今天,臨下班時(shí)同事看了個(gè)視頻,我隱約感覺(jué)是個(gè)勵(lì)志片,就好奇地問(wèn)“是誰(shuí)在演講?”同事說(shuō)“感興趣就發(fā)給你”。我打開(kāi)一看...
    來(lái)鄭坤茹閱讀 173評(píng)論 0 1

友情鏈接更多精彩內(nèi)容