为什么要在伪元素中添加块级?

第四空间

从此页上的代码中:http : //css-tricks.com/snippets/css/sticky-footer/

.page-wrap {
  min-height: 100%;
  /* equal to footer height */
  margin-bottom: -142px; 
}
.page-wrap:after {
  content: "";
  display: block;
}

谁能解释这个.page-wrap:after方块在做什么?我了解after伪元素,但不了解这里发生了什么。

泰布利兹

在编辑Codepen演示并.page-wrap:after从设置其高度或display: block属性的行中删除时签出然后点击“添加内容”。由于.page-wrap底边有负数,因此只能将页脚向下推142像素,并导致文本溢出。因此,简而言之,它填补了负的底边...是的,您可以通过使用具有相对定位,z-indexing等的简单div来做同样的事情。实际测试了它并在之后添加了一个块元素.page-wrap,就像这样:

.fix {
  position: relative;
  display: block;
  z-index: -2;
  bottom: 0;
  height: 142px;
  width: 100%;
}

但是,尽管有HTML5和CSS3,为什么不使用它呢。嘿,您不必创建新元素,只需从CSS设置它即可。这真棒!

:after前缀的其他越来越流行的用法(我在WP主题中看到了一些用法)包括使用它替代clearfix div。请查看此文章以进一步阅读:http : //css-tricks.com/snippets/css/clear-fix/

您可能想知道为什么他首先设置负底边距;答:因为他希望.page-wrap {min-height: 100% }页面加载时不要将页脚推到折叠之下,所以如果内容没有进一步扩展的话。百分比高度将消除任何这些技巧的需要,例如,页脚高度为10%,分页换行最小高度为90%,但缺点是您无法控制确切的页脚高度...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么要使用伪元素来分隔块元素?

来自分类Dev

为什么内联块级元素内包含的块级元素显示为内联?

来自分类Dev

试图了解为什么<li>是块级元素

来自分类Java

为什么JDBC连接需要在finally块中关闭?

来自分类Dev

为什么我们需要在优先级队列声明中添加一个向量作为参数?

来自分类Python

为什么要在conda环境中添加频道?

来自分类Dev

为什么我需要在Kotlin中在=之前添加空间?

来自分类Dev

为什么要在WebStorm中缩进代码或美化添加的分号?

来自分类Python

我为什么要在PATH中添加python

来自分类Dev

为什么要在〜/ .bash_profile中添加〜/ .profile?

来自分类Dev

为什么要在神经网络中添加零偏差?

来自分类Dev

为什么要在解决方案中添加+1

来自分类Dev

为什么要在Query方法中添加CommandType?

来自分类Dev

为什么要在 git 中添加和提交?

来自分类Dev

为什么要在 VHDL 中的语句前添加名称?

来自分类Dev

为什么绝对元素宽度受内联块父级限制

来自分类Dev

为什么包括宽度可以使边距正确:自动使中心块级元素正确?

来自分类Dev

为什么 Flex 容器不关心它的父块级元素?

来自分类Dev

为什么方向属性不适用于块级元素

来自分类Dev

为什么<span>中嵌套的<p>导致块元素?

来自分类Dev

为什么每次添加或删除新类时都会获取并呈现通过 css 自定义属性分配的伪元素中的背景图像?

来自分类Dev

为什么我需要在开始块中初始化变量

来自分类Dev

为什么要从子 shell 启动后台进程/为什么要在 (someCommand &) 中添加括号?

来自分类Dev

为什么要在字典列表的第一个元素中添加项目,同时还要修改列表中的其他字典?

来自分类Dev

为什么在某些窗口尺寸以下的HTML中无法显示伪元素

来自分类Dev

伪元素在 Firefox 中有效,但在 Chrome 中无效,为什么?

来自分类Dev

为什么带有内容的:: before伪元素在'display:flex'容器中仅去除前导空格?

来自分类Dev

为什么检测到 ::before 和 ::after 伪元素但未在 Chrome 中显示?

来自分类Dev

为什么要在方法前添加void?

Related 相关文章

  1. 1

    为什么要使用伪元素来分隔块元素?

  2. 2

    为什么内联块级元素内包含的块级元素显示为内联?

  3. 3

    试图了解为什么<li>是块级元素

  4. 4

    为什么JDBC连接需要在finally块中关闭?

  5. 5

    为什么我们需要在优先级队列声明中添加一个向量作为参数?

  6. 6

    为什么要在conda环境中添加频道?

  7. 7

    为什么我需要在Kotlin中在=之前添加空间?

  8. 8

    为什么要在WebStorm中缩进代码或美化添加的分号?

  9. 9

    我为什么要在PATH中添加python

  10. 10

    为什么要在〜/ .bash_profile中添加〜/ .profile?

  11. 11

    为什么要在神经网络中添加零偏差?

  12. 12

    为什么要在解决方案中添加+1

  13. 13

    为什么要在Query方法中添加CommandType?

  14. 14

    为什么要在 git 中添加和提交?

  15. 15

    为什么要在 VHDL 中的语句前添加名称?

  16. 16

    为什么绝对元素宽度受内联块父级限制

  17. 17

    为什么包括宽度可以使边距正确:自动使中心块级元素正确?

  18. 18

    为什么 Flex 容器不关心它的父块级元素?

  19. 19

    为什么方向属性不适用于块级元素

  20. 20

    为什么<span>中嵌套的<p>导致块元素?

  21. 21

    为什么每次添加或删除新类时都会获取并呈现通过 css 自定义属性分配的伪元素中的背景图像?

  22. 22

    为什么我需要在开始块中初始化变量

  23. 23

    为什么要从子 shell 启动后台进程/为什么要在 (someCommand &) 中添加括号?

  24. 24

    为什么要在字典列表的第一个元素中添加项目,同时还要修改列表中的其他字典?

  25. 25

    为什么在某些窗口尺寸以下的HTML中无法显示伪元素

  26. 26

    伪元素在 Firefox 中有效,但在 Chrome 中无效,为什么?

  27. 27

    为什么带有内容的:: before伪元素在'display:flex'容器中仅去除前导空格?

  28. 28

    为什么检测到 ::before 和 ::after 伪元素但未在 Chrome 中显示?

  29. 29

    为什么要在方法前添加void?

热门标签

归档