我的js游戏中有一个开始按钮。我只是注意到我可以稍微向右,它是一个指针。我的css:
#start{
position: absolute;
top: 130px;
left: 195px;
height: 80px;
width:320px;
background-color: red;
cursor: pointer;
border: 2px solid yellow;
border-radius: 20px;
}
按钮只是一个div。将按钮设置为名为" start"的变量后,我使用以下js使其在悬停时更改背景:
start.onmouseover=function(){
this.style.backgroundColor="#FF4500";
}
start.onmouseout=function(){
this.style.backgroundColor="red";
}
我能够通过在按钮之外触发悬停。这是为什么? Here是发生问题的游戏。按钮是你看到的第一件事。这也发生在其他一些按钮上。我知道我可以使用css悬停,但我很想知道这有什么问题。
答案 0 :(得分:1)
答案 1 :(得分:1)
可以在#new
#new {
font-size: 40px;
font-weight: bold;
color: yellow;
position: relative;
left: 48px;
bottom: 24px;
您应该注意,此子组件继承了您设置为宽度为320px的父div的宽度。您可以通过检查父级和子级并查看计算出的样式来验证这一点:
然后在#new
的css中,你将元素的位置向右移动48px:
left: 48px;
此元素的宽度仍为320像素,如chrome developer tools所示。
我敢打赌那个溢出的蓝色位正好是48px而且你遇到了不想要的行为=)所以,我希望你现在能理解你的css发生了什么!
您甚至可以通过将孩子的宽度设置为:
来验证这一点 width: calc(100% - 48px);
现在你应该发现没有更多的溢出: