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

伪元素破坏了justify-content:flexbox布局之间的空格

葛季萌
2023-03-14
问题内容

我在父div内有三个div,它们使用以下命令隔开:

display: flex;
justify-content: space-between;

但是,父div上有一个:after,这使三个div不会超出父div的边缘。有没有办法让flexbox忽略:before:after

.container {

  width: 100%;

  display: flex;

  justify-content: space-between;

  padding-top: 50px;

  background: gray;

}



.container div {

    background: red;

    height: 245px;

    width: 300px;

  }

.container:before {

    content: '';

    display: table;

  }

.container:after {

    clear: both;

    content: '';

    display: table;

  }


<div class="container">

  <div></div>

  <div></div>

  <div></div>

</div>

问题答案:

简短答案

在CSS中,目前没有100%可靠的方法来防止伪元素影响justify-content: space-between计算。

说明

::before::after在柔性容器伪元素变得弯曲的物品。

从规格:

4.弹性项目

flex容器的每个流入子元素都将成为一个flex项目。

换句话说,处于正常流中(即,未绝对定位)的伸缩容器的每个子级都被视为伸缩项目。

大多数(如果不是全部)浏览器会将其解释为包括伪元素。该::before伪是首个柔性项目。该::after项目是最后一个。

这是Firefox文档中有关此渲染行为的进一步确认:

流入::after::before伪元素现在是弹性项目)
(错误867454)。



 类似资料:
  • 问题内容: 和之间有什么区别?我们什么时候必须使用完? 双冒号和单冒号表示法是区分伪类和伪元素。 以上声明的实际含义是什么? 问题答案: 伪类: CSS伪类是关键字,其前面带有一个冒号(:),并添加到选择器的末尾,以指定要对选定元素进行样式设置( 仅当它们处于特定状态时) 。例如,您可能只想在元素被鼠标指针悬停时设置样式,或者在元素被禁用或选中时选中一个复选框,或者是作为其父元素在DOM树中的第一

  • 问题内容: 我怀疑方法局部变量仅在方法执行时有效。同样,当或块溢出时(次要/主要GC)等触发GC。因此,如果方法主体末尾没有溢出怎么办,那么就无需触发GC。尽管不触发主要/次要GC,我们仍将销毁所有局部变量。怎么做? 问题答案: 垃圾收集器- 有时称为“收割者”-按自己的时间表运行,并收集不参考的对象。当然,方法退出后就无法引用局部变量,因为它们超出了范围,因此它们对于您的程序来说是死的*,但是它

  • 问题内容: 静态放置时,:: before伪元素堆栈(z-index)在孩子的内容之前,但在孩子的背景之后。谁能解释为什么甚至是怎么回事,或者这是所有主要浏览器都存在的问题吗? http://jsfiddle.net/funkyscript/ALrgf/ 问题答案: 的内容(包括两个伪元素和元素)参与相同的堆叠上下文(相对于)。正如您所注意到的,这是因为它们全部三个都是静态放置的。换句话说,根本没

  • 问题内容: 我真的很困惑 在查找在线资源和文档时,这些属性的大多数文档似乎都引用了Flex-box,而不是网格。 而且我不知道Flex-box中等效属性的文档对网格的适用性如何。 因此,我尝试参考https://css-tricks.com/snippets/css/complete-guide-grid/,其定义如下: justify- items-使网格项内的内容沿行轴对齐 justify-

  • 这是一个布局: 我希望在触摸EditText并显示软键盘时,蓝色条保持不变。一、 我希望它的大小和位置得到保留。我在AndroidManifest中尝试了我的活动参数android:WindowsofInputMode的所有四个可能值。我的蓝条总是在软键盘上移动或收缩: android:WindowsofInputMode=“adjustUnspecified”或默认设置: android:win

  • 问题内容: 我有一个:before开头的’quote’和一个:after结束的报价。 现在,我想要的是一个:after:after供“引用”参考,但我无法使其正常工作。 有人知道这是否可能吗? 到目前为止,我的代码: 问题答案: 已经提出了嵌套和伪元素的想法;请参阅“生成和替换的内容”模块的这一部分。但是,该模块已被放弃,等待完全重写,因此在重新发布该文档之前,我不会屏息。即便如此,嵌套内容伪元素