【发布时间】:2013-03-12 09:30:24
【问题描述】:
这是我在 StackOverflow 上的第一个问题,所以我会尝试以正确的方式对其进行格式化。
基本上,我有一个带有边框和轮廓的 div。悬停时,div 也会得到一个阴影,当然,它应该在轮廓之外。 这适用于所有浏览器,除了 Firefox。由于某种原因,Firefox 似乎在框阴影之外渲染了轮廓。 可以在这里看到一个例子:http://rubencoolen.be/test.php
这是我的 CSS:
.block {
background: #eceeeb;
border: 3px solid white;
outline: 2px solid lavender;
width: 240px;
padding: 10px;
float: left;
height: 130px;
margin: 40px;
text-align: center;
cursor: default;
-moz-transition: background 0.7s, -moz-box-shadow 0.3s;
-webkit-transition: background 0.7s, -webkit-box-shadow 0.3s;
-o-transition: background 0.7s;
transition: background 0.7s, box-shadow 0.3s;
}
.block:hover {
background: whitesmoke;
-webkit-box-shadow: 0px 0px 18px rgba(50, 50, 50, 0.30);
-moz-box-shadow: 0px 0px 18px rgba(50, 50, 50, 0.30);
box-shadow: 0px 0px 18px rgba(50, 50, 50, 0.30);
}
我似乎找不到解决这个问题的正确方法。
请原谅我的英语不太好,这不是我的主要语言。
【问题讨论】:
-
outline通常用于显示对元素的关注,firefox 会勾勒出包括 box-shadow 在内的整个元素。我建议避免使用outline,因为默认行为因浏览器而异。 -
感谢您的评论。有什么方法可以模仿轮廓的外观吗?因为在这种情况下,它确实为设计提供了额外的功能。
-
其实你可以试试
outline-offset看看有没有效果。尝试添加outline-offset: 0px;
标签: css firefox mozilla shadow outline