一點微不足道的CSS

最近被CSS懟成傻逼,總結一下平時沒有注意的點雳殊,持續(xù)更新擒贸。

  • 問題1:一個沒有設置寬度的div臀晃,它的寬度是多少?
  • 問題2:把問題1里面的div設置為float為left呢介劫?
  • 問題3:float脫離了文檔流嗎徽惋?
  • 問題4:脫離了文檔流文字為什么還會環(huán)繞呢?
  • 問題5:postion:absolute脫離了文檔流嗎座韵?
  • 問題6:postion:absolute沒有設置left與top险绘,div位置在哪,寬度如何?
  • 問題7:與absolute搭配的往往有z-index這個屬性宦棺。那么如果有一個父元素z-index為1000瓣距,子元素z-index為100,誰在上面渺氧?
  • 問題8:為什么margin:0 auto可以水平居中元素旨涝?
  • 問題9:postion:absolute;left:0;right:0;top:0;bottom:0;margin:auto;為什么可以水平垂直居中?

問題1:一個沒有設置寬度的div侣背,它的寬度是多少白华?

回答一:div為塊級元素,每個塊級元素默認占一行,自動充滿父級元素的內(nèi)容區(qū)域贩耐。

W3C:div元素沒有特定的含義弧腥。除此之外,由于它屬于塊級元素潮太,瀏覽器會在其前后顯示折行管搪。

問題2:把問題1里面的div設置為float為left呢?

回答二:設置了float:left后铡买,如果沒有設置寬度更鲁,寬度是被內(nèi)容撐開的,如果設置了寬度就是該寬度奇钞。

W3C:如果浮動非替換元素澡为,則要指定一個明確的寬度;否則景埃,它們會盡可能地窄媒至。
注:替換元素是瀏覽器根據(jù)其標簽的元素與屬性來判斷顯示具體的內(nèi)容,如input/img/select等等谷徙。

問題3:float脫離了文檔流嗎拒啰?

問題4:脫離了文檔流文字為什么還會環(huán)繞呢?

回答三:脫離了文檔流完慧,但仍然保持著部分的流動性谋旦。
回答四:同上。

MDN:float CSS屬性指定一個元素應沿其容器的左側或右側放置屈尼,允許文本和內(nèi)聯(lián)元素環(huán)繞它册着。該元素從網(wǎng)頁的正常流動中移除,盡管仍然保持部分的流動性(與絕對定位相反)鸿染。

問題5:postion:absolute脫離了文檔流嗎指蚜?

回答五:脫離了文檔流

MDN:絕對定位的元素不再存在于正常文檔布局流程中.相反,它坐在它自己的層獨立于一切涨椒。

問題6:postion:absolute沒有設置left與top摊鸡,div位置在哪绽媒,寬度如何?

回答六:如果沒有設置left,top又沒有設置right免猾,bottom是辕,它跟static時的位置一樣。也就是說猎提,如果其前面還有一個div获三,他就在這個div后面,和static時一樣锨苏,不會浮在上面疙教,也不會在左上角(當然,如果前面沒有元素就在左上角了)伞租。

測試:

.wrapper{
    width: 500px;
    height: 500px;
    background-color: grey;
    position: relative;
}
.upper{
    height:100px;
    background-color: yellow;
}
.inner{
    width:200px;
    height:200px;
    background-color: red;
}
<div class="wrapper">
        <div class="upper"></div>
        <div class="inner"></div>
    </div>

結果如圖:

image.png

我們再來給inner加上position: absolute;

.inner{
    width:200px;
    height:200px;
    background-color: red;
}

結果如圖:

image.png

可以看出贞谓,設置了postion:absolute后,inner并沒有如我們預想的那樣和left:0 top:0一般蹲到左上角葵诈,而是乖乖的呆在了upper后面裸弦,和之前static一樣。

問題7:與absolute搭配的往往有z-index這個屬性作喘。那么如果有一個父元素z-index為1000理疙,子元素z-index為100,誰在上面泞坦?

回答七:子元素在上面窖贤。
先看代碼:

<div class="par">
    <div class="child"></div>
</div>
.par{
    position: absolute;
    width:300px;
    height:300px;
    z-index:1000;
    background-color: #000;
}
.child{
    position: absolute;
    width:150px;
    height:150px;
    z-index:500;
    background-color: #fff;
}

效果如下:

image.png

子元素在上面,即使父元素的z-index遠遠大于子元素的z-index

以下轉(zhuǎn)自segmentfault

根據(jù)規(guī)范暇矫,z-index是應用到定位元素的主之,也就是position屬性不為relative的元素择吊,否則李根,設置z-index是沒有意義的;
z-index的作用有兩點几睛,一是設置在當前堆疊上下文(stacking context)中的層級房轿;二是創(chuàng)建一個新的堆疊上下文;
z-index并不是設置的值越高所森,就會越靠近用戶囱持,還和堆疊上下文有關系;

  1. 在同一個堆疊上下文中的元素焕济,z-index越高越靠近用戶纷妆;
  2. 在不同堆疊上下文中的元素,如果堆疊上下文一距離用戶更近晴弃,那么它的所有子元素都在另一個堆疊上下文子元素的前面掩幢,也就是離用戶更近逊拍,不同堆疊上下文中的子元素不可能發(fā)生交叉;
  3. 所以际邻,z-index其實不是一個絕對值芯丧,而是一個相對值;
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末世曾,一起剝皮案震驚了整個濱河市缨恒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌轮听,老刑警劉巖骗露,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異血巍,居然都是意外死亡椒袍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門藻茂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驹暑,“玉大人,你說我怎么就攤上這事辨赐∮欧” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵掀序,是天一觀的道長帆焕。 經(jīng)常有香客問我,道長不恭,這世上最難降的妖魔是什么叶雹? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮换吧,結果婚禮上折晦,老公的妹妹穿的比我還像新娘。我一直安慰自己沾瓦,他們只是感情好满着,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贯莺,像睡著了一般风喇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缕探,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天魂莫,我揣著相機與錄音,去河邊找鬼爹耗。 笑死耙考,一個胖子當著我的面吹牛秽誊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播琳骡,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼锅论,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了楣号?” 一聲冷哼從身側響起最易,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎炫狱,沒想到半個月后藻懒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡视译,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年嬉荆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酷含。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡鄙早,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出椅亚,到底是詐尸還是另有隱情限番,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布呀舔,位于F島的核電站弥虐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏媚赖。R本人自食惡果不足惜霜瘪,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惧磺。 院中可真熱鬧颖对,春花似錦、人聲如沸豺妓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽琳拭。三九已至,卻和暖如春描验,著一層夾襖步出監(jiān)牢的瞬間白嘁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工膘流, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留絮缅,地道東北人鲁沥。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像耕魄,于是被迫代替她去往敵國和親画恰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案吸奴? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,728評論 1 92
  • CSS 定位 CSS有三種基本的定位機制:普通流则奥,浮動考润,絕對定位(absolute, fixed):普通流是默認定...
    _空空閱讀 5,719評論 0 15
  • relative:生成相對定位的元素,通過top,bottom,left,right的位置相對于其正常位置進行定位...
    zx9426閱讀 930評論 0 2
  • 學習CSS的最佳網(wǎng)站沒有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_閱讀 1,030評論 0 1
  • 一,文檔流的概念指什么罚舱?有哪種方式可以讓元素脫離文檔流? 答:文檔流W3C規(guī)范中并沒有document flow這...
    kingBirds閱讀 527評論 0 2