CSS复杂的INPUT选择器

时间:2012-03-24 19:13:15

标签: html css

我有几个看起来像这样的块:

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

每当INPUT字段标记为CHECKED时 - 我需要将CSS更改为带class=templatechoicedesigncss的div。

但我需要通过纯CSS来实现 - 没有javascript,jquery或其他触发器。 这可能吗?

3 个答案:

答案 0 :(得分:2)

没有JavaScript就不可能。

顺便说一下,<p>内的<span>是不好的标记,因为span是内联元素而p是段落。

此外,将文本“随机”放在<label>

答案 1 :(得分:1)

不,你不能用纯CSS改变 css。

答案 2 :(得分:0)

你的方式不可能。 请检查此http://www.w3.org/TR/selectors/#checked

它说......

  

用户可以切换收音机和复选框元素。一些菜单   当用户选择它们时,“检查​​”项目。当这样的元素是   切换“on”:checked伪类适用。虽然:检查   伪类本质上是动态的,可以通过用户操作改变,   因为它也可以基于语义属性的存在   该文件适用于所有媒体。例如,:已选中   伪类最初适用于具有HTML4的元素   选择和检查的属性,如第17.2.1节中所述   HTML4,但当然用户可以切换“关闭”其中的这些元素   case:checked伪类将不再适用。

......确切地说,一个字一个字。

这基本上意味着你可以动态改变CSS3中被检查内容的属性但不是它的父级。但是哦,它在浏览器中并不完全支持。另一种方法是使用JS | jQuery | MooTools | YUI等

另外,BoltClock指出CSS中没有父选择器;所以不能仅通过CSS