css - 完美重叠的圆形 div

标签 css html hover geometry

我有一个列表,其中包含圆形元素。它们的背景中有一个图像,悬停时另一个 div 应该作为覆盖层可见。到目前为止它可以工作,但是仍然有一个可见的边框,表明悬停的 div 没有完美地覆盖另一个圆形元素。

HTML:

<ul>
    <li>
        <div class="hover"></div>
    </li>
    <li>
        <div class="hover"></div>
    </li>
    <li>
        <div class="hover"></div>
    </li>
</ul>

CSS:

ul {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0;
    height: 140px;
}
li {
    width: 140px;
    height: 140px;
    margin: 0;
    padding: 0;
    display: inline-block;
    border-radius: 70px;
     background: url(http://www.nationalflaggen.de/media/flags/flagge-thailand.gif);
}
.hover {
    border-radius: 70px;
    width: 140px;
    height: 140px;
}
.hover:hover {
    background-color: rgba(255,255,255,.9);
}

我添加了一个 fiddle ,因为我真的不知道如何使它们完美重叠。

感谢您的帮助。

更新了 fiddle : http://jsfiddle.net/pL9Aa/1

最佳答案

看起来像一个子像素问题 - 浏览器进行一系列数学运算来确定使用方形像素的曲线的平滑度。有时它不会按照您的预期呈现。

如果要保持透明,您可以简单地从 :hover 伪类中删除 border-radius 规则。

.hover {
    width: 140px;
    height: 140px;
}

Fiddle

如果它需要是圆形的,我会使用相同的元素覆盖您的图像,而不是嵌套元素,如下所示:

li:hover {
    background: white;
}

Fiddle2

关于css - 完美重叠的圆形 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23373853/

相关文章:

html - 页脚显示在中间某处

jQuery 绑定(bind)鼠标悬停/鼠标悬停 :after

html - JPEG 颜色在浏览器中呈现不一致

javascript - 在Js中cookie html标签消失了

javascript - CSS:Hover 的文本问题因为溢出而被隐藏:隐藏?

css - 如何防止内联 CSS 链接 "color"取消 CSS 样式表链接 "hover"?

html - CSS 图像叠加在悬停时淡入

html - 如何在文本处于事件状态时在文本顶部创建一条垂直线?

css - 为什么我的容器/包装器的背景没有延伸到所有内容后面

delphi - 如何获取TVirtualStringTree的热点节点坐标?