html - 原始样式不会扩展到 float 子部分后的子元素

标签 html css

我最初有一个 with one 并且想把它变成一个有两个部分的 div,一个占 75%,另一个占 25%;像侧边栏。它是这样设置的,各部分内部有各种元素。

<div class="content">
    <section class="cs_one"> ... </section>
    <section class="cs_two"> ... </section>
</div>

最初,内容部分的样式带有背景、边框和阴影,使其具有这种外观。

*Image of website with one column*

.content {
    margin: 0 auto; /* Center content */
    padding-top: 150px; /* Move down from under fixed header */
    width: 1000px; 

    background-color: #D9C293;

    ... Border and box shadow styling omitted...
}

然后我添加了这些代码行将这些部分分成两部分,使其呈现出这种不受欢迎的外观。红色箭头显示上一个内容框(带有框阴影)在图像之后结束的位置(在内容 div 内的两个部分之前。

Image of broken website with two columns

.cs_one { width: 75%; float: left; }
.cs_two { width: 25%; float: right; }

content div 的样式不会在这两个部分下扩展。为什么?我该如何解决这个问题。

最佳答案

当元素 float 时,其父元素不再包含它,因为 float 元素已从流中移除。 你应该使用 .clearfix

.clearfix:after {
    content: " ";
    visibility: hidden;
    display: block;
    height: 0;
    clear: both;
}

关于html - 原始样式不会扩展到 float 子部分后的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25733446/

相关文章:

html - 如何在 CSS 中左右对齐两个部分?

jquery - 获取所有未悬停的元素并对它们进行处理

jquery - 按钮的定位不起作用

html - 从 css 添加 title 属性

html - 使用 CSS 包含自定义字体以使其与大多数浏览器兼容的最佳方法是什么?

html - 将 &lt;input&gt; 格式从 HTML 更改为 CSS

jquery - 为什么 jQuery 平滑滚动在页面上跳动?

javascript - 表单字段选项按日期和项目编号更改 URL

html - 将 <p> 与图像对齐不起作用

javascript - JQuery:如何不加入.submit中的特定字段