是否可以创建一个页面,该页面在单击各种元素时会发生变化,并将多个事件绑定(bind)到该页面的各种元素,而无需使用任何JavaScript?
最佳答案
是的,确实有多种方法,可以使用:focus,:active,:checked来完成。查看demo。
以下是使用:example的示例:检查为什么我选择它而不是其他原因是因为它简化了css规则的编写,并允许我从多个地方使用多个元素与之交互。但是足够多的谈论,html:
<input type="checkbox" id="cb1" /><span>This will change color</span>
和CSS:
span { color: red; }
input:checked + span { color: blue; }
您可能会说复选框很丑陋,并且在所有浏览器上看起来都不一样,是的,但是您不必显示它们,可以使用带有for属性的标签来影响复选框的状态,对于前面的示例,可以使用以下方法实现:
<label for="cb1">Click here to toggle checkbox</label>
好的,但是现在您可能会觉得事情变得复杂,因为您使用2个元素而不是一个,是的,但是同时,由于
<label for="id">
通过id选择一个元素,您可以将标签放置在文档中您喜欢的任何位置,不仅如此,您还可以使用多个标签来更改同一输入的状态。并且您可以给他们自己的ID或类,并根据需要对它们进行样式设置。更重要的是,您可以组合多个输入的状态,并根据需要添加一条规则,据我所知,目前其他任何纯HTML + CSS解决方案均不提供该规则。
有关更复杂的示例,甚至是使用此示例实现的类似灯箱效果的微型演示,请参见fiddle。
关于html - 仅使用css和html的Javascript onclick模拟(不使用javascript),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12851023/