2012-03-24 50 views
0

我有幾個塊看起來像這樣的:CSS複雜的輸入選擇器

<div class='templatechoicedesigncss'> 
<img src='/images/templatepics/random(100x140).png' /> 
<p> 
    <input type='radio' name='templatechoice' value='random' checked>Random</p> 
</div> 

當作爲檢查的標記輸入域 - 我需要改變CSS到div與class=templatechoicedesigncss

但我需要通過純粹的CSS來完成 - 沒有JavaScript,jQuery或其他觸發器。 這可能嗎?

+0

有趣的問題! – tusar 2012-03-24 19:16:26

+1

CSS限制:en.wikipedia.org/wiki/Cascading_Style_Sheets#Limitations(第2個要點) – 2012-03-24 19:19:53

+0

爲什麼限制使用Javascript? – 2012-03-24 19:37:10

回答

2

沒有JavaScript不可能。

順便說一句,一個<p>一個<span>裏面是壞的標記,因爲跨度的是內聯元素和P的是段落。

另外,在<label>中放置文本「隨機」。

1

不,你不能改變父母與純CSS的CSS。

0

不可能你的方式。 檢查這個http://www.w3.org/TR/selectors/#checked

它說...

廣播複選框元素可以由用戶進行切換。某些菜單 項目在用戶選擇時「檢查」。當這些元素被 「打開」時:被檢查的僞類適用。雖然:檢查 僞類本質上是動態的,並且可以通過用戶動作來更改,因爲它也可以基於文檔中存在的語義屬性,它適用於所有媒體。例如,檢查的 僞類最初適用於具有HTML4 選定和檢查屬性的元素,如HTML文檔 的第17.2.1節中所述,但當然用戶可以關閉這些元素,其中 case:checked僞類將不再適用。

......確切地說,單詞對單詞。

這基本上意味着您可以動態更改CSS3中檢查的內容的屬性,但不是它的父級。但是,它並沒有完全支持瀏覽器。其他的方法是使用JS | jQuery | MooTools | YUI等

另外,BoltClock指出CSS中沒有父選擇器;所以不可能通過只有CSS

+1

這與':checked'僞類沒有任何關係。它與CSS中沒有父選擇器有關。 – BoltClock 2012-03-24 22:22:06