gpt4 book ai didi

css - 具有可变宽度内容的嵌套 clearfix

转载 作者:行者123 更新时间:2023-11-28 09:44:29 26 4
gpt4 key购买 nike

考虑这种情况:

  • 有一个内容宽度可变的布局,固定侧边栏 float 到右侧。所述布局的容器正在使用 clearfix 清除右侧 float
  • 在内容 block 内还有另一个 block 做同样的事情。第二个 block 扩展到侧边栏的高度,直到它用 :after { clear: both }
  • 清除侧边栏的 float

演示: https://jsfiddle.net/pv6e93px/1/

示例 html:

<section class="layout">
<aside>main sidebar!</aside>
<div class="wrap">
<article class="article">
<header class="header">
<span class="note">I break stuff!</span>
</header>
<div class="content">
Main content!
</div>
</article>
</div>
</section>

示例 SCSS:

@mixin clearfix() {
&:before,
&:after {
content: "";
display: table;
}
&:after {
clear: both;
}
}

.layout {
@include clearfix();

.wrap {
margin-right: 200px;
background: gray;
}

> aside {
width: 200px;
height: 700px;
float: right;
background: salmon;
}
}

.article {
.header {
@include clearfix();
background: green;

.note {
display: block;
float: right;
background: hotpink;
}
}

.content {
height: 200px;
background: red;
}
}

预期:enter image description here

取而代之的是:enter image description here

有谁知道如何在不限制内容宽度或使用其他布局模式(flexbox、绝对定位)的情况下解决这个问题。不使用溢出的额外要点:隐藏,因为它会剪切绝对位于布局内的任何内容。

最佳答案

你可以尝试添加这个:

.wrap {
...
overflow: hidden;
}

jsFiddle

或者,使用 calc():

.wrap {
width: calc(100% - 200px);
float: left;
}

jsFiddle

关于css - 具有可变宽度内容的嵌套 clearfix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40892032/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com