與元素position:absolute有關(guān)的知識點

  • 一個已設(shè)置寬高的塊狀元素設(shè)置position:absolute后會保持他原來寬高
  • 一個內(nèi)聯(lián)元素設(shè)置position:absolute會自動轉(zhuǎn)為一個塊狀元素
  • 沒有設(shè)置寬高的塊級元素設(shè)置position:absolute;left:0;top:0之后會繼承父級元素的寬。
    舉個例子:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        *{margin: 0;padding:0;}
        .parent{margin:100px 100px;width: 300px;height: 300px;border:1px solid #000;position: relative;}
        .child{position: absolute;left: 0;top: 0;background: lightblue;}
    </style>
</head>
<body>
<div class="parent">
    <div class="child">我是一個沒有寬高的塊級元素。(設(shè)置絕對定位后,默認(rèn)寬度繼承父級的寬度)</div>
</div>
</body>
</html>

效果圖:

1.png
  • 內(nèi)聯(lián)元素設(shè)置position:absolute;left:0;top:0之后會繼承父級元素的寬。效果同上述塊級元素。
<style type="text/css">
    *{margin: 0;padding:0;}
    .parent{margin:100px 100px;width: 300px;height: 300px;border:1px solid #000;position: relative;}
    .child{position: absolute;left: 0;top: 0;background: red;}
</style>
</head>
<body>
<div class="parent">
    <span class="child">我是一個沒有寬高的塊級元素。(設(shè)置絕對定位后,默認(rèn)寬度繼承父級的寬度)</span>
</div>
</body>

效果圖:

2.png

測試內(nèi)聯(lián)元素設(shè)置絕對定位后是否轉(zhuǎn)換成塊級元素(通過設(shè)置寬高):

<style type="text/css">
    *{margin: 0;padding:0;}
    .parent{margin:100px 100px;width: 300px;height: 300px;border:1px solid #000;position: relative;}
    .child{position: absolute;left: 0;top: 0;background: red;width: 200px;height: 200px;}
</style>
</head>
<body>
<div class="parent">
    <span class="child">我是一個內(nèi)聯(lián)元素。(設(shè)置絕對定位后,再為其設(shè)置寬高,驗證是否轉(zhuǎn)換為塊級元素)</span>
</div>
</body>

效果圖:

3.png
  • 沒有設(shè)置寬度的div,再設(shè)置position:absolute;left:50%后,寬度會繼承父級寬度的一半。
<style type="text/css">
    *{margin: 0;padding:0;}
    .parent{margin:100px 100px;width: 300px;height: 300px;border:1px solid #000;position: relative;}
    .child{position: absolute;left: 50%;top: 0;background: red;}
</style>
</head>
<body>
<div class="parent">
    <div class="child">我是一個沒有設(shè)置寬高的塊級元素。(設(shè)置絕對定位,并將left值設(shè)置為50%后,寬度會被限制為父級寬度的一半。)</div>
</div>

效果圖:

4.png

測試是否在設(shè)置left:50%后,其寬度真正變?yōu)楦讣墝挾鹊囊话耄?/p>

<style type="text/css">
    *{margin: 0;padding:0;}
    .parent{margin:100px 100px;width: 300px;height: 300px;border:1px solid #000;position: relative;}
    .child{position: absolute;left: 50%;top: 0;background: red;transform: translateX(-50%);}
</style>
</head>
<body>
<div class="parent">
    <div class="child">我是一個沒有設(shè)置寬高的塊級元素。(設(shè)置絕對定位,并將left值設(shè)置為50%后,添加transform:translateX(-50%)進(jìn)行驗證上述結(jié)論。)</div>

<!--     <div class="child">我是一個沒有設(shè)置寬高的塊級元素。(設(shè)置絕對定位,并將left值設(shè)置為50%后,寬度會被限制為父級寬度的一半。)</div> -->
</div>

效果圖:

圖片.png

很遺憾沒有實現(xiàn)想要的效果(但是:通過left:50%;和transform:translateX(-50%)可以實現(xiàn)元素居中的效果)

然后又驗證了將文本中transform:translateX(-50%)這句去掉,的確能夠驗證——“我是一個沒有設(shè)置寬高的塊級元素。(設(shè)置絕對定位,并將left值設(shè)置為50%后,寬度會被限制為父級寬度的一半。)”,猜想可能只是對中文才有這樣的效果吧。

  • 對于內(nèi)聯(lián)元素,設(shè)置position:absolute;left:50%后,同樣具有像塊級元素一樣的現(xiàn)象。
<style type="text/css">
    *{margin: 0;padding:0;}
    .parent{margin:100px 100px;width: 300px;height: 300px;border:1px solid #000;position: relative;}
    .child{position: absolute;left: 50%;top: 0;background: red;transform: translateX(-50%);}
</style>
</head>
<body>
<div class="parent">
    <span class="child">我是一個沒有設(shè)置寬高的塊級元素。(設(shè)置絕對定位,并將left值設(shè)置為50%后,添加transform:translateX(-50%)進(jìn)行驗證上述結(jié)論。)</span>

<!--     <span class="child">我是一個沒有設(shè)置寬高的塊級元素。(設(shè)置絕對定位,并將left值設(shè)置為50%后,寬度會被限制為父級寬度的一半。)</span> -->
</div>
</body>

注:本文整理自http://www.cnblogs.com/lily1010/p/5643952.html

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

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,168評論 1 92
  • CSS 是什么 css(Cascading Style Sheets),層疊樣式表,選擇器{屬性:值;屬性:值}h...
    崔敏嫣閱讀 1,577評論 0 5
  • 一 外部式css樣式 (也可稱為外聯(lián)式)就是把css代碼寫一個單獨的外部文件中,這個css樣式文件以“.css...
    KunMitnic閱讀 1,127評論 0 1
  • 本文主要是起筆記的作用,內(nèi)容來自慕課網(wǎng). 認(rèn)識CSS樣式 CSS全稱為“層疊樣式表 (Cascading Styl...
    0o凍僵的企鵝o0閱讀 2,750評論 0 30
  • 各種純css圖標(biāo) CSS3可以實現(xiàn)很多漂亮的圖形,我收集了32種圖形,在下面列出。直接用CSS3畫出這些圖形,要比...
    劍殘閱讀 9,990評論 0 8

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