【问题标题】:CSS: Nested DIV doesn't fill parent when using rounded cornersCSS:使用圆角时嵌套 DIV 不填充父级
【发布时间】:2015-10-11 19:17:51
【问题描述】:

我有两个 div,父级具有圆角、溢出:隐藏和内联背景图像,子级 div 是 position:absolute,具有背景颜色和不透明度。

在我的正常屏幕尺寸下,子 DIV 几乎填满了父 DIV,但我只能在拐角处辨认出父 DIV 的一条细线。

更大的问题是,当我放大页面时,在某些屏幕尺寸下,子 DIV 比父 DIV 小得多,这显然看起来很糟糕。

这是我的代码:

.parent-div {
    height:350px;
    border-radius:4px;
    overflow:hidden;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    position:relative;
}
.child-div {
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:15px;
    text-align:left;
    background-color:rgba(255,255,255,0.9);
}

我用谷歌搜索了这个,但找不到有效的解决方案。我已经尝试在子 DIV 上添加边框半径,但这不起作用。

仅供参考 - 当不使用边界半径时,一切似乎都很好。

编辑:我想我已经找到了问题所在。我在所有这些周围都有另一个带有填充的 div。当我摆脱它时,它就起作用了。当我更改填充大小时,我可以看到这会导致上图中的各种填充大小出现问题。

EDIT2:实际上,我发现导致问题的原因是溢出:隐藏在父 div 上。当删除它并确保我在子 div 上有边框半径时,一切都按预期工作。

【问题讨论】:

  • 尝试保留top:0px; right:0px 以及.child-div
  • jsfiddle.net/k0jsquap 如果按照 Rama Rao M 的建议将 top:0 添加到子 div,并且如果您的描述准确 - 应该没有问题......

标签: css


【解决方案1】:

如果你提供一个工作小提琴会更好,但我认为你的问题是.child-div 的度量。试试这个:

.child-div {
    box-sizing: border-box; /* here */
    border-radius: 4px; /* to apply the same that the parent */
    height: 100%; /* to make all height */
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:15px;
    text-align:left;
    background-color:rgba(255,255,255,0.9);
}

【讨论】:

  • 我刚刚创建了一个小提琴,问题没有在那里重现。我在我的实际代码中使用引导程序。想知道这是否会导致问题。其他奇怪的是,当我检查元素的宽度时,它们是相同的,但我可以清楚地看到子 DIV 在左侧,右侧有大约 1px 的空间,父 DIV 显示出来。仅供参考,我不希望子 div 与父 DIV 的高度相同,只是宽度相同。
  • 如果你添加我想要的三个属性不起作用?
  • 在小提琴上完全没问题,但在我的实际中,子 DIV 右侧有一个奇怪的 1px 空间,显示父 DIV。当我删除边框半径时,它工作得很好。
  • 给我们看一张截图。您是否在您的环境中测试过这种变化?
猜你喜欢
  • 2014-04-25
  • 1970-01-01
  • 1970-01-01
  • 2018-08-02
  • 2019-11-14
  • 2018-04-22
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
相关资源
最近更新 更多