鍍金池/ 問答/HTML5  HTML/ CSS 兄弟元素選著問題 求指教

CSS 兄弟元素選著問題 求指教

代碼:

<a href="">連接1</a><span>測試</span><a href="">連接2</a>
span + a {...}

疑問:用加號可以選著緊隨其后的,那么能不能選著前面的呢?

回答
編輯回答
哚蕾咪

前置的選擇器沒有。
猜測原因可能如下:

  • 瀏覽器渲染的過程是順序的,在前邊的標(biāo)簽完全加載完成后才會加載后邊的標(biāo)簽
  • 如果此時有一個前置的選擇器存在,在后方標(biāo)簽加載完畢后進(jìn)行渲染時可能會導(dǎo)致頁面抖動(加載期間應(yīng)用了某個新的樣式)
2017年1月2日 14:09
編輯回答
雨蝶

目前原生沒有這樣的選擇器 否則前邊已經(jīng)渲染完了 渲染到后邊后邊又修改前邊的樣式 前邊又得重新渲染 可能會無限循環(huán)

2017年2月2日 02:33
編輯回答
逗婦乳

目前的CSS還做不到。如果要實(shí)現(xiàn)這樣的邏輯,要么采用js來實(shí)現(xiàn),要么換另一個思路避開這個問題。

2017年7月25日 18:34
編輯回答
朽鹿

首先明確一點(diǎn),沒有前置選擇器。理由樓上已經(jīng)說了。

不過,可以換一種思考方式

你把現(xiàn)有的結(jié)構(gòu)調(diào)換一下,然后用direction:rtl來改變顯示順序,就可以用 +來實(shí)現(xiàn)前置選擇器的效果了

<style>
.demo{direction:rtl}
.demo span + a { ... }
</style>
<div class="demo">
    <span>測試2</span><a href="">連接2</a><span>測試1</span><a href="">連接1</a>
</div>

你可以看一下我的文章 http://118.24.110.50/blog/art...

里面有相關(guān)的實(shí)現(xiàn)思路

2017年6月3日 18:27