2013-03-13 67 views
-3

假設我們有這個網站CSS:目標對兒童

<div class="a"> 
    <div>...</div> 
    ... 
    <div id="b">xyz</div> 
</div> 


<div class="a"> 
    <div>...</div> 
    ... 
    <div id="c">abc</div> 
</div> 

在url中針對其應用上#B一些風格是很容易做到與CSS:目標選擇。 是否有可能在class =「a」的父div上應用一些樣式?

+0

*「在#b上定位它時的風格」*你是什麼意思? – Bigood 2013-03-13 10:31:25

+3

不,原因很簡單,[沒有辦法選擇父級](http://stackoverflow.com/questions/1014861/is-there-a-css-parent-selector)。 – BoltClock 2013-03-13 10:32:12

+0

你可以使用jQuery,但問題不明確 – Razmig 2013-03-13 10:33:26

回答

1

不,因爲您需要一個CSS父級選擇器。已經爲此指定了CSS2CSS3中的任何內容。 CSS4確實(有點)parent selector(稱爲主題選擇器)使用!符號,但沒有瀏覽器支持它(還)。

0

您可以添加額外的id<div class="a">,並使其:

<div class="a" id="abc"> 

...並且仍然使用:target

+1

是的,但那會導致URL片段指向這個元素,而不是另一個,如果孩子必須有可能或不可取該ID或其他行爲可能會受到影響,例如滾動或腳本。 – BoltClock 2013-03-13 10:33:44

+1

@otinanai,id必須是唯一的 – 2013-03-13 10:34:59

+0

查看我的編輯...現在好嗎? – otinanai 2013-03-13 10:35:58

0

不,CSS級聯(CSS =級聯樣式表),它不會上升。 您需要將樣式顯式應用於父元素。

你會更好地做類似@otinanai建議,並添加一個類到你的孩子div。例如

HTML

<div class="a"> 
    <div>...</div> 
    ... 
    <div class="aItem" id="b">xyz</div> 
</div> 

<div class="a"> 
    <div>...</div> 
    ... 
    <div class="aItem" id="c">abc</div> 
</div> 

CSS

.a { 
    border: 1px solid #000; 
} 
.aItem { 
    color: #999; 
} 

所以,你將使用類始終如一的風格元素。否則,您必須將D,E,F G的CSS寫入Z,並僅將ID用於預訂標記/ URL目的。