2012-03-24 121 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