为什么即使.button
有overflow: hidden
,.div1
内部也要考虑.div2
的大小?
编辑:如您所见,.div1
的height
为150px(对应于.div2
(,而不是50px(对应.button
(。
仅添加display: flex
似乎有效。为什么?
.div1 {
padding: 10px;
background-color: orange;
}
.div2 {
width: 50px;
height: 150px;
background-color: red;
}
.button {
height: 50px;
overflow: hidden;
/* display: flex; */
}
<div class="div1">
<button class="button">
<div class="div2"></div>
</button>
</div>
好吧,看起来你只是在练习一些CSS。尝试为按钮添加固定宽度,然后overflow: hidden;
将生效。此外,默认情况下,按钮具有内联块的显示,因此它们会根据内容或子项的大小自动调整。
.div1 {
padding: 10px;
background-color: orange;
}
.div2 {
width: 50px;
height: 150px;
background-color: red;
}
.button {
height: 50px;
overflow: hidden;
/* display: flex; */
}
.button-1 {
width: 45px;
}
<div class="div1">
<button class="button">
BEFORE
<div class="div2"></div>
</button>
</div>
<div class="div1">
<button class=" button button-1">
AFTER
<div class="div2"></div>
</button>
</div>
代替溢出:隐藏;您希望将可见性设置为隐藏,如下所示。
可见性:隐藏;