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

使子项在溢出之外可见:隐藏的父级

阚夕
2023-03-14
问题内容

在CSS中,overflow:hidden在父容器上设置,以使其随其浮动子代的高度扩展。

但是,当与margin: auto… 结合使用时,它还具有另一个有趣的功能

如果上一个同级是一个浮动元素,它将实际上并列出现。也就是说,如果同级float:left容器是,则容器float:none overflow:hidden将显示在同级容器的右侧,没有换行符-
就像它在正常流中浮动一样。如果先前的兄弟姐妹是float:right容器,那么容器将出现在兄弟姐妹的左侧。调整此容器的大小将准确地显示它在浮动元素之间的中心。说,如果你有两个以前的兄弟姐妹,一个float:left其他float:right,容器将出现在中心插图中的两项。

所以这是 问题所在

如何在不遮盖孩子的情况下保持那种布局?

在整个网络上进行谷歌搜索为我提供了如何clear:both扩展和扩展容器的方法…但是我找不到任何其他解决方案来保持左/右前一个孩子居中。如果您制作容器,overflow:visible则容器会突然忽略浮动元素的布局流程,而是分层显示在浮动元素的顶部。

所以 问题

我必须有一个容器overflow:hidden来保留布局…

我怎样才能做到不让孩子蒙面?我需要让孩子相对于容器外部的父对象绝对定位。

要么

我如何overflow:visible才能绝对地将一个孩子相对于其父对象放置在容器之外…还可以保留同级的float-like-layout-
flow?


问题答案:

您可以使用clearfix进行相同的“布局保留” overflow: hidden操作。

.clearfix:before,
.clearfix:after {
    content: ".";    
    display: block;    
    height: 0;    
    overflow: hidden; 
}
.clearfix:after { clear: both; }
.clearfix { zoom: 1; } /* IE < 8 */

class="clearfix"类添加到父级,然后删除overflow: hidden;



 类似资料:
  • 我正在玩flexbox,我的flex项似乎溢出了它的父容器。我能做些什么来确保它能呆在它的范围内? 抱歉,它有点长:) 但我正试图垂直列出一些控件,我想在一行上订购两个控件<因此,UL以一个灵活的方向(柱)和LI的方向(水平)保存所有内容 但是,即使控件嵌套在具有设置宽度的div中,它们仍然在其边缘上运行。有谁能给我一些建议,说明我应该做些什么:)<谢谢!

  • 问题内容: 我不知道是否存在问题,但是我想知道为什么在父/子元素上不能使用。 这是一个例子: CSS和HTML: 问题答案: 因为固定位置元素是相对于视口而不是其他元素固定的。因此,由于视口没有切断,因此溢流变得无关紧要。 具有position:absolute的元素的位置和尺寸相对于其包含块,而具有position:fixed的元素的位置和尺寸始终相对于初始包含块。通常是视口:浏览器窗口或纸张的

  • 问题内容: 假设您有一些样式和标记: 当您查看此内容时。该有一个在底部的滚动条,即使我已经溢出X / Y指定的可见和隐藏价值。 (在Chrome 11和Opera(?)上观察到 我猜测一定有一些w3c规范或某些东西可以告诉我这种情况的发生,但是对我而言,我无法弄清楚为什么。 更新:- 我找到了一种方法,可以通过添加另一个包裹在周围的元素来达到相同的结果。一探究竟。 问题答案: 在Gecko,Saf

  • JSFIDLE 如何阻止flexbox的子项溢出容器? 我不希望溢出设置为隐藏 超文本标记语言: CSS:

  • 嗯,我也试着把它藏在身体里!还是不工作..?

  • 问题内容: 我想知道为什么以下内容不起作用-xs隐藏在xs视图中。我觉得这与Bootstrap v4中引入的更改有关,但是我想知道与在CSS中相比,在此代码中仍然可以实现这一点吗?我正在使用默认的bootstrap.css文件。 问题答案: 添加此答案是因为接受的答案中的注释太长且不完整。如前所述,这些类在Bootstrap 4 beta中不再存在。 “ hidden-sm-DOWN到底是什么?”