【问题标题】:Only the background of div is hidden by img?只有div的背景被img隐藏了?
【发布时间】:2013-12-29 06:13:52
【问题描述】:

包含图像的 div 使用 border-radiusoverflow:hidden 圆角。

该 div 还包含另一个具有橙色背景和一些白色文本的 div。

当第二个 div 使用负边距放置在图像上时,结果是橙色背景隐藏在图像后面,但白色文本出现在图像顶部。这是为什么呢?

小提琴:http://jsfiddle.net/nq9Jv/

进一步的问题:如何让橙色 div 完全显示在图像“上方”,请记住我不能使用 position: relative,因为这会将它从流程中取出,因此不允许第一个的边界半径div 隐藏第二个的一部分。

【问题讨论】:

  • @codehorse 但我不想隐藏文本,我想显示背景。

标签: html css


【解决方案1】:

我不确定使用负边距时橙色背景没有出现在图像上方的原因。

我对您的示例进行了一些调整,通过在父元素上使用 position: relative 并在子元素上使用 position: absolute,使橙色 div 出现在图像上方,同时保持 border-radius 隐藏子元素。

http://jsfiddle.net/nq9Jv/4/

这是你想要的吗?

【讨论】:

  • 这是我从一开始就想做的,是的。出于某种原因,它在 JSFiddle 中有效,但在我的生产站点上无效,因为每次我添加“位置:相对”时,“溢出:隐藏”都会因某种原因被禁用。但我猜这对我来说只是调试。谢谢!
  • 嗯。如果您可以在 JSFiddle 中重现该行为或向我发送指向您的生产站点的链接,我很乐意看一看。干杯!
  • 最终是浏览器的问题。快速更新,一切都很好!谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-08-19
  • 2018-12-07
  • 2020-06-21
  • 1970-01-01
  • 2019-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多