是否可以在没有 Javascript(仅 CSS)的情况下执行相同的操作(悬停效果)?
我正在尝试创建一个带有图标 这样的按钮:
HTML:
<div id='button'>
<div class='icon'></div>
<span>Send Email</span>
</div>
CSS:
#button {
width: 270px;
height: 50px;
font-size: 1.4em;
color: #333;
background-color: #555;
position: relative;
}
#button > .icon {
width: 61px;
height: 39px;
background-image: url('http://i55.tinypic.com/2agsutj.png');
background-repeat: no-repeat;
background-position: 0px 0px;
position: absolute;
left: 40px;
top: 5px;
}
#button > span {
position: absolute;
left: 130px;
top: 10px;
}
#button:hover {
color: #fff;
cursor: pointer;
}
JS:
$(function() {
$('#button').hover(function() {
$('#button > .icon').css('background-position', '0px -39px');
}, function() {
$('#button > .icon').css('background-position', '0px 0px');
});
});
我的问题是:对于如此简单的功能来说,Javascript 真的是必要的吗?还是只使用 CSS 就可以完成?
I'm trying to create a button with icon like this:
HTML:
<div id='button'>
<div class='icon'></div>
<span>Send Email</span>
</div>
CSS:
#button {
width: 270px;
height: 50px;
font-size: 1.4em;
color: #333;
background-color: #555;
position: relative;
}
#button > .icon {
width: 61px;
height: 39px;
background-image: url('http://i55.tinypic.com/2agsutj.png');
background-repeat: no-repeat;
background-position: 0px 0px;
position: absolute;
left: 40px;
top: 5px;
}
#button > span {
position: absolute;
left: 130px;
top: 10px;
}
#button:hover {
color: #fff;
cursor: pointer;
}
JS:
$(function() {
$('#button').hover(function() {
$('#button > .icon').css('background-position', '0px -39px');
}, function() {
$('#button > .icon').css('background-position', '0px 0px');
});
});
My question is: Is Javascript really necessary for such simple functionality, or it can be done using CSS only ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有一个
:hover
伪类。http://www.w3.org/TR/CSS2/ selecter.html#dynamic-pseudo-classes
http://www.w3schools.com/css/pr_pseudo_hover.asp
There's a
:hover
pseudoclass for that.http://www.w3.org/TR/CSS2/selector.html#dynamic-pseudo-classes
http://www.w3schools.com/css/pr_pseudo_hover.asp
是100%
在上面的示例中,您需要使用悬停和移位
uisng css。当然,你可以不用 JavaScript 来做到这一点。
这是工作解决方案不需要任何javascript
html
css
Ya 100%
in the above example you need to use hover and shift
uisng css. you can do it without javascript for sure.
here is working solution dont require any javascript
html
css
我制作了一个带有“a”标签的 jsfiddle ,因此悬停在 IE 中也可以工作。
CSS
I've made a jsfiddle with "a" tag so hover works in IE too.
The CSS