視頻中inline-block與block元素的層疊順序如何理解
inline-block與block元素都是普通元素,沒有定位也沒有其他CSS3屬性。于是它們都屬于html這個天然的根層疊上下文元素中。那么它們的層疊水平是遵循7階層疊順序的。文中又說了inline-block和block元素的層疊順序是同階的,那么應該遵循后來居上原則。背景色應該按照后來居上原則從而block元素的背景色應該在inline-block元素之上才對。實際效果為什么不是這樣呢?
問題就是如何理解背景色是層疊順序,而不是后來居上的準則呢?如果按照層疊順序,又是如何得出第一個元素的背景色能覆蓋第二個元素的背景色呢?
根據我在chrome瀏覽器中的測試,我將這兩個元素的順序倒過來,也就是先有block元素,再有inline-block元素。那么會發現inline-block元素的背景色覆蓋了block元素的背景色。這和前面的案例中效果一致。那么應該說inline-block元素的層疊順序應該高于block元素的層疊順序。從而按照層疊順序出現inline-block元素的背景色覆蓋了block元素的背景色。
哪有同學能幫忙解釋一下嗎。這里有些不明白。
2016-12-01
我的理解是:
背景的層疊水平是遵循7階層疊順序的(inline-block>block);
為何文字遵循后來居上原則?根據老師的意思,上面的文字是inline-block(被.inline-block設置),下面的文字是display:inline;(文字本身的屬性),而inline-block和inline是平級的,所以遵循后來居上原則。我認為具體文字的display屬性是什么要看到html代碼才能知道吧,看具體是被什么標簽包裹,這里看不到所以根據老師的表達猜測是這樣。
2016-07-03
代碼中沒有定位和z-index屬性干擾的話,inline-block樣式和block樣式是同級的,應該遵循后來居上原則,而在父級相同,(如文字它屬于inline與inline-block同級故遵守),子級inline-block>block,即inline-block元素的層疊順序應該高于block元素的層疊順序。
2016-04-17
后來居上原則好像要有定位吧,老師代碼中沒有定位呀。按照7階層疊水平來看,block比inline、inline-block的層疊順序低。