当前位置: 首页 > 面试题库 >

CSS背景色与浮动元素

慎星纬
2023-03-14
问题内容

假设我们有一个非常简单的场景

 <div class="content">
    <div class="left">
       <p>some content</p>
    </div>
    <div class="right">
       <p>some content</p>
    </div>
 </div>

 <div class="content">
    <div class="left">
       <p>some content</p>
    </div>
    <div class="right">
       <p>some content</p>
    </div>
 </div>

这是样式:

 .content {
    width: 960px;
    height: auto;
    margin: 0 auto;
    background: red;
    clear: both;
 }

 .left {
     float: left;
     height: 300px;
     background: green;
 }

 .right {
     float: right;
     background: yellow;
 }

事情是…当我向<divclass="right">其中添加内容时,应该拉下父div,我们需要看到红色背景…问题是,我看不到红色背景充满了所有高度。


问题答案:

当子元素浮动时,它们将从文档流中删除。这样做时,父级将不再具有定义的尺寸,因为子级在技术上不会占用空间。因此,父元素自身折叠。当绝对定位子元素时,也会发生相同的情况。

在这种情况下,我们可以通过添加overflow:hidden到父元素来修复它,从而强制其包含子元素。另外也overflow:auto可以工作。有人可能会建议它比可能更好,overflow:hidden因为您将能够判断出是否有任何计算不可用。

.content {
    overflow:hidden;
}

现在父元素不再折叠,红色背景可见。

如果要在旧版浏览器中寻求支持,也可以使用clearfix,但我不建议这样做。



 类似资料:
  • 在超文本标记语言中,我什么时候使用颜色,背景颜色和背景标签有什么区别? 有什么区别?

  • 我对改变晶圆厂的背景色有一个问题,似乎晶圆厂后面有另一个背景 这是我的代码 现在唯一有效的解决方案是改变我的应用程序上的颜色口音,但它会影响其他UI元素

  • 我想知道这一点,经过一点挖掘,找到了这个资源,链接在这个答案中。 该资源指出: 背景与背景色 比较18个色板在页面上呈现100次为小矩形,一次带有背景,一次带有背景颜色。 现在,我可以想象要快得多,因为资源也认为: 我认为当浏览器看到

  • 问题内容: 如果选择了该面板(单击该面板),则该面板的颜色为蓝色。另外,我在该面板上添加了一个小标志(图像),它表示所选面板之前已被选中。 因此,如果用户看到例如10个面板,其中有4个带有这个小标记,则他知道自己之前已经单击了这些面板。到目前为止,这项工作还不错。现在的问题是我无法显示小标志并使面板同时变为蓝色。 我使用css将面板设置为蓝色,使用设置背景图像。但是背景色似乎在图像上方,因此您看不

  • 本文向大家介绍使用CSS设置元素的背景色,包括了使用CSS设置元素的背景色的使用技巧和注意事项,需要的朋友参考一下 要设置元素的背景色,请使用background-color 属性。 示例 您可以尝试运行以下代码,以了解如何使用background-color属性:

  • 问题内容: 可以给SVG 元素背景色吗?如果没有,那么模拟它的最佳方法是什么? 我的目标是给文本提供背景色,我发现填充元素将是完美的-它们已经“概述” 了代表多行文本行的文本块(元素)。 我正在使用的示例: 我尝试使用“填充”属性,但它似乎会影响文本的填充(颜色),而不是其后面的区域: 我也尝试通过CSS设置背景色: ..但不起作用(至少在Chrome 17和Firefox 12中)。 用“填充”