我有几个看起来像这样的块:
<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或其他触发器。 这可能吗?
答案 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