为什么要在CSS中定义身体属性?

马里奥

我看过一些网页设计课程,总是以这样的CSS开头:

body,html {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}

我试图找出什么是类似于声明属性点widthheightdisplay用于bodyhtml是,如果我没有错,默认情况下,在浏览器中。

我认为这将是防止和使用js访问css时出现未定义的返回值或类似结果,但是当在css中定义属性时,结果与将其保留为默认值时相同:

console.log($("BODY").css('width')); // Always returns the width of the body

我还认为可能是在级联元素中开始继承,但是在div内部body继承值是相同的。

有人知道采用这种方法的充分理由吗?我错过了任何浏览器/设备问题吗?将来的兼容性?朴素的学步匠?

我对此很好奇。

马里奥

我找到了将html以及正文的宽度和高度定义为100%的充分理由。假设您要垂直对齐相对定位的div,则需要将其放入绝对定位的容器中:

html,
body {
  margin: 0;
  padding: 0;
}
#container {
  position: absolute;
  width: 100%;
  height: 100%;
}
#main {
  background: lightgrey;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 100px;
  height: 100px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
<div id="container">
  <div id="main">
    <h1>MY DIV</h1>
  </div>
</div>

但是,将主体的宽度和高度设置为100%,您会得到一个覆盖整个窗口的绝对定位的容器:

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
#main {
  background: lightgrey;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 100px;
  height: 100px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
<div id="main">
  <h1>MY DIV</h1>
</div>

您将得到相同的结果,但是它将为您节省一个div元素。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么@media会改变身体属性?

来自分类Dev

为什么@media会改变身体属性?

来自分类Dev

为什么要在Pytorch中为自定义图层定义向后方法?

来自分类Dev

为什么我需要在身体上附加表格

来自分类Dev

为什么我需要在下划线中命名索引中的属性?

来自分类Dev

为什么我需要在角度$ timeout中包装highcharts jquery事件以访问属性

来自分类Dev

为什么我不能更新要在jQuery中迭代的数据属性?

来自分类Dev

为什么要在对象的函数属性中声明变量之前先引用它?

来自分类Dev

为什么我总是需要在Backbone中克隆模型属性?

来自分类Dev

为什么我需要在Web配置文件中定义连接字符串

来自分类Dev

为什么我们需要在JavaScript中定义构造函数

来自分类Dev

为什么要在构造函数中定义事件处理程序成员函数(内联)以便使用“ unbind”?

来自分类Dev

为什么需要在webgl着色器中定义精度值?

来自分类Dev

为什么需要在很棒的wm模块中重新定义标准变量?

来自分类Dev

我为什么要在Rails中为nil:NilClass获得未定义的方法“ each”?

来自分类Dev

为什么要在Predef.scala中重新定义类型变量?

来自分类Dev

为什么我们需要在MongoDB中定义数据模型

来自分类Dev

为什么要在构造函数中实例化变量,以及为什么要使用属性来访问变量

来自分类Dev

为什么在ngOnInit中未定义@Input属性?

来自分类Dev

为什么要在Python中关闭文件?

来自分类Dev

为什么要在RabbitMQ中声明交换?

来自分类Dev

为什么需要在结构中填充?

来自分类Dev

为什么要在函数的参数中赋值?

来自分类Dev

html / css初学者:为什么网页具有如此多的div级?为什么不在一个类中定义所有属性?

来自分类Dev

Windows Azure为什么要在所有CSS图片文件路径中添加“ / bundles /”?

来自分类Dev

为什么ClassCleanup属性需要在静态方法上?

来自分类Dev

为什么要在 vue.js 中计算属性?

来自分类Dev

为什么需要在类外部定义静态数据成员?

来自分类Dev

为什么我需要在 C 中用 * 定义对指针的引用?

Related 相关文章

  1. 1

    为什么@media会改变身体属性?

  2. 2

    为什么@media会改变身体属性?

  3. 3

    为什么要在Pytorch中为自定义图层定义向后方法?

  4. 4

    为什么我需要在身体上附加表格

  5. 5

    为什么我需要在下划线中命名索引中的属性?

  6. 6

    为什么我需要在角度$ timeout中包装highcharts jquery事件以访问属性

  7. 7

    为什么我不能更新要在jQuery中迭代的数据属性?

  8. 8

    为什么要在对象的函数属性中声明变量之前先引用它?

  9. 9

    为什么我总是需要在Backbone中克隆模型属性?

  10. 10

    为什么我需要在Web配置文件中定义连接字符串

  11. 11

    为什么我们需要在JavaScript中定义构造函数

  12. 12

    为什么要在构造函数中定义事件处理程序成员函数(内联)以便使用“ unbind”?

  13. 13

    为什么需要在webgl着色器中定义精度值?

  14. 14

    为什么需要在很棒的wm模块中重新定义标准变量?

  15. 15

    我为什么要在Rails中为nil:NilClass获得未定义的方法“ each”?

  16. 16

    为什么要在Predef.scala中重新定义类型变量?

  17. 17

    为什么我们需要在MongoDB中定义数据模型

  18. 18

    为什么要在构造函数中实例化变量,以及为什么要使用属性来访问变量

  19. 19

    为什么在ngOnInit中未定义@Input属性?

  20. 20

    为什么要在Python中关闭文件?

  21. 21

    为什么要在RabbitMQ中声明交换?

  22. 22

    为什么需要在结构中填充?

  23. 23

    为什么要在函数的参数中赋值?

  24. 24

    html / css初学者:为什么网页具有如此多的div级?为什么不在一个类中定义所有属性?

  25. 25

    Windows Azure为什么要在所有CSS图片文件路径中添加“ / bundles /”?

  26. 26

    为什么ClassCleanup属性需要在静态方法上?

  27. 27

    为什么要在 vue.js 中计算属性?

  28. 28

    为什么需要在类外部定义静态数据成员?

  29. 29

    为什么我需要在 C 中用 * 定义对指针的引用?

热门标签

归档