:hover 忽略边距

Posted

技术标签:

【中文标题】:hover 忽略边距【英文标题】::hover ignored over margin 【发布时间】:2013-08-18 04:04:35 【问题描述】:

在 IE8 和 10 中出现奇怪的悬停问题,我找不到任何关于它的东西......当然,我不是第一个偶然发现它的人吗?

jsFiddle

html:
<a href="#"><img style="border:0" src="image.png">Text</a>

CSS:
a border:1px solid silver
a img margin-right:30px
a:hover border:1px solid red

在 IE 中,当我将鼠标悬停在图像或文本上时,边框会按预期变为红色,但是当我将鼠标移到由margin-right 引起的空间上时,边框会变为灰色。

在 Firefox 中,无论鼠标在&lt;a&gt; 上,边框始终保持红色。

由于问题在 jsFiddle 上可重现,因此不是由错误的 &lt;DOCTYPE&gt; 引起的...

【问题讨论】:

所以,是的,只需使用padding 而不是margin。不确定padding 在图像上是否有意义,但是嘿,我们在这里谈论的是 IE。仍然想知道为什么这个错误仍然在 IE10 中...... 【参考方案1】:

遇到了同样的问题,但已经在覆盖元素中使用了填充。将 background-image 设置为不存在的文件 (url(filedoesnotexist)) 或透明像素确实对我有用。

【讨论】:

【参考方案2】:

margin 替换为padding

a img padding-right:30px

【讨论】:

【参考方案3】:

使用 display:inline-block;在锚链接上或在图像上使用 padding-right 而不是边距,它将在 IE 中工作

【讨论】:

以上是关于:hover 忽略边距的主要内容,如果未能解决你的问题,请参考以下文章

LinearLayout 忽略边距

忽略边距溢出

TextView 忽略左右边距

当 flex 项目变得太大时,iPad Safari 会忽略边距

md-datepicker忽略了自定义边距

jQuery:动画边距自动?