我有一个由4个div框组成的菜单。我希望活动框有一个红色的边框,如果另一个框被点击的边框是白色的,其他框的边框是红色的。我需要JavaScript还是CSS就足够了?
jsfiddel div
HTML
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
CSS
.box{
margin: 10px;
float: left;
width: 100px;
height: 50px;
background-color: blue;
border: solid 1px red;
}
7条答案
按热度按时间izkcnapc1#
如果你想保持点击的状态,你需要JavaScript,hover可以用CSS。
您可以使用
div:active { /* style */ }
作为单击并保持的样式,但它将在鼠标抬起后消失。这是使用jQuery的一种快速方法:
最好还是切换一个类:
JS:
CSS:
f0ofjuux2#
我选择A作为参数是因为数字不能作为函数参数
nc1teljy3#
试试这个:
ct2axkht4#
是的,您可以使用
:active
伪选择器来实现这一点。试试这个:
但是,释放鼠标后,这种情况不会持续。
IE6也不支持。
ryevplcw5#
看看这个函数:
http://jqueryui.com/addClass/
它展示了如何应用click事件和更改CSS类。您只需创建一个具有边框颜色的所需类。
ndasle7k6#
你可以通过jQuery(JSFiddle here)来实现:
yqhsw0fo7#
您希望使用
:focus
CSS伪类代替:active
。试试这个:
在单击事件完成后,这应持续存在。