0

熟悉我即将加入的正在进行中的项目的代码库。我发现这个 mixin 经常被使用,我有几个问题。
1.这是一个相当标准的做法还是css成语,我只是不熟悉它?
2.看起来它在clearfix的伪元素之后添加了一个空格,但是为什么还要插入一个:before呢?

@mixin container
  &:before, &:after
  content: ""
  display: table
&:after
  clear: both
  *zoom: 1

显然,当我加入时,我可以等待并询问团队,但我现在想知道 dangit!另外,如果这是我应该熟悉的成语,那么在那之前我可能需要进行一些谷歌搜索,哈哈。感谢大家!

4

1 回答 1

0

您正在查看 Nicolas Gallagher 的“micro clearfix”(请参阅​​:http ://nicolasgallagher.com/micro-clearfix-hack/ )。背后的解释:before如下:

这个“micro clearfix”生成伪元素并将它们的显示设置为表格。这会创建一个匿名表格单元格和一个新的块格式化上下文,这意味着 :before 伪元素可以防止上边距折叠。:after 伪元素用于清除浮动。因此,无需隐藏任何生成的内容,所需的代码总量也减少了。

包括 :before 选择器不是清除浮动所必需的,但它可以防止上边距在现代浏览器中折叠。

于 2012-12-31T20:18:47.580 回答