我有一个图像元素,我想在点击时改变它。
<img id="btnLeft">
如此:
#btnLeft:hover {
width: 70px;
height: 74px;
}
但我需要的是:
#btnLeft:onclick {
width: 70px;
height: 74px;
}
但是,很明显,这是行不通的。是否有可能在CSS中有onclick行为(即,不使用JavaScript)?
我有一个图像元素,我想在点击时改变它。
<img id="btnLeft">
如此:
#btnLeft:hover {
width: 70px;
height: 74px;
}
但我需要的是:
#btnLeft:onclick {
width: 70px;
height: 74px;
}
但是,很明显,这是行不通的。是否有可能在CSS中有onclick行为(即,不使用JavaScript)?
当前回答
根据您想要做的事情,让焦点保持变化可能是一种选择?
<button></button>
<style>
button {
width: 140px;
height: 70px;
background: url('http://www.ranklogos.com/wp-content/uploads/2015/06/Stack-Overflow-Logo.png');
background-size: cover;
}
button:focus {
width: 240px;
height: 120px;
}
</style>
https://jsfiddle.net/anm92d0r/
注意,这对image标签不起作用。但根据你的元素id,我假设你在寻找按钮功能。
其他回答
TylerH做了一个非常好的回答,我只需要给最后一个按钮一个视觉更新。
.btn { border - radius: 5 px; 填充:10px 30px; Box-shadow: 1px 1px #000; Background-image: linear-gradient(to bottom, #eee, #ddd); } .btn:{徘徊 Background-image: linear-gradient(to top, #adf, #8bf); } {.btn:活跃 Margin: 1px 1px 0; Box-shadow: -1px -1px #000; } # btnControl { 显示:块; 可见性:隐藏; } <input type="checkbox" id="btnControl"/> <label class="btn" for="btnControl">点击我!< / >标签
您可以使用伪类:target来模拟打开单击事件。让我给你们举个例子。
#{东西 显示:没有; } {#的东西:目标 显示:块; } < a href = " #“>显示< / > < div id = "东西" >宾果!< / div >
这是它的样子:http://jsfiddle.net/TYhnb/
需要注意的一点是,这仅限于超链接,因此如果您需要在其他超链接上使用,例如按钮,您可能需要稍微修改一下,例如将超链接样式化,使其看起来像按钮。
下面是一个类似于JavaScript的onclick的onclick,而不是:active伪类。
这只能通过JavaScript或复选框Hack来实现。
复选框黑客本质上是让你点击一个标签,“检查”一个复选框,允许你按照自己的意愿设置标签的样式。
这个演示。
在OP澄清他想要什么之前回答了。
我有以下代码的鼠标悬停和鼠标点击,它的工作:
//For Mouse Hover
.thumbnail:hover span{ /* CSS for enlarged image */
visibility: visible;
text-align: center;
vertical-align: middle;
height: 70%;
width: 80%;
top: auto;
left: 10%;
}
当你点击图像时,这段代码会隐藏图像:
.thumbnail:active span {
visibility: hidden;
}
你可以使用:target。
或者通过类名过滤,使用.classname:target。
或者使用#idname:target过滤id名。
#id01:target { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } .msg { display: none; } .close { color: white; width: 2rem; height: 2rem; background-color: black; text-align: center; margin: 20px; } <a href="#id01">Open</a> <div id="id01" class="msg"> <a href="" class="close">×</a> <p>Some text. Some text. Some text.</p> <p>Some text. Some text. Some text.</p> </div>