html和body标签的区别有哪些插图

本教程操作环境:windows7系统、CSS3&&HTML5&&javascript1.8.5版、Dell G3电脑。

在 CSS 中,<html> 和 <body> 的区别往往被忽略,全局样式或者定义在 <html> 上,或者定义在 <body> 上。实际上,两者是有区别的,不论是 CSS 老鸟还是新手,都应该了解。

HTML 和 Body 如何关联

<!DOCTYPE html>  
<html>  
  <head>
    <!-- Metadata and such -->
  </head>

  <body>
    <!-- Where the content begins -->
  <body>
</html>

根据标准定义,<html> 是文档的根元素,<head>、<body> 是 <html> 唯一的两个子元素。按照规范,<head> 才是和 <body> 相对照、需要加以区别的元素。

因此,<html> 和 <body> 是父子关系。在 HTML 文档中,:root 选择符对应 <html> 元素。

:root {
}

html {  
}

需要注意的是,:root 选择符(伪类)的优先级大于 html 选择符:(0, 0, 1, 0) vs (0, 0, 0, 1)。

哪些全局样式应该应用在 HTML

html {  
  font-size: 62.5%;
}

body {  
  font-size: 1.4rem; /* =14px */
}

h1 {  
  font-size: 2.4rem; /* =24px */
}

古怪的 background-color

CSS 中有一些古怪的行为,将 background-color 应用到 <body> 以后,即便 <body> 里的元素没有占满视口,背景颜色也会蔓延到整个视口。

给 html 设置 background-color 可以解决这个问题。

height: 100%

如果 <body> 及其子元素的高度需要设置为窗口高度时,<html> 元素上也需要添加:

html,  
body {  
  height: 100%;
}

哪些全局样式应该应用在 Body

早期的规范中,<body> 有以下行内属性:

  • background

  • bgcolor

  • marginbottom

  • marginleft

  • marginright

  • margintop

  • text

这些行内属性对应的 CSS 样式应该应用在 <body>。

Inline Attribute CSS Property
background background
bgcolor background
background-color
marginbottom margin-bottom
marginleft margin-left
marginright margin-right
margintop margin-top
text font

JavaScript 中的区别

上面举了一些 <html> 和 <body> 在 CSS 中的区别,其实在 JavaScript 中同样存在区别,例如 html 对应 document.documentElement、body 对应 document.body

更多编程相关知识,请访问:<a href="https://www.ymkuzhan.com/tutorial/development和body标签的区别有哪些的详细内容,更多请关注亿码酷站其它相关文章!


<!–亿码酷站直播班–>html和body标签的区别有哪些
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

云服务器推荐