博客列表 >HTML页面结构和通用属性,理解元素、类、id的样式规则

HTML页面结构和通用属性,理解元素、类、id的样式规则

longlong
longlong原创
2020年06月12日 12:14:092299浏览

1. HTML页面文档结构

  • HTML文档结构在编辑器中的显示,如下图:

  • 标签元素解释

    • <DOCTYPE html> 通知浏览器这是一个HTML5页面

    • <html>...</html> 根标签,所有的HTML内容都必须写在标签内

    • <html lang="en"> 通知搜索引擎html文档使用的编程语言

    • <head>...</head> 宫浏览器和搜索引擎使用,描述字符编码集,视口与页面标题

    • <meta charset="UTF-8"> 通知浏览器html文档编写语言所属字符编码集

    • <meta name=""viewport" content="..."> 下面三行对其解读,

    1. name="viewport" 设置视口如何显示页面

    2. initial-scale=1.0 设置页面初始绽放比例,1.0表示原样显示

    3. width="device-width" 表示可视区域宽度为设备宽度

    • <title>...</title> 显示在浏览器标签上的文本,指定当前页面的标题
    • <body...></body> 页面主体内容,即用户能看到的文档内容

    • <!--注释内容--> 用来描述标签或功能用途,不会在html页面展示,只出现在源代码中


2. HTML元素的三大通用属性

  • id属性:获取页面唯一元素,由用户保证当前页面的唯一性,浏览器不检查,为什么要保证唯一性,因为在js获取其属性时只会获取到检测的第一个元素,我通过下面例子来演示:
  1. <body>
  2. <h3 id="demo">hello world</h3>
  3. <p id="demo">hello friends</p>
  4. </body>
  1. <script>
  2. console.log(document.getElementById("demo").innerHTML);
  3. //输出hello world
  4. </script>

在上面案例中,在控制台中只会输出 hello word,不会输出 hello friends,因为js只会获取到它检测的第一个id,所以用户自己需要保证id属性的唯一性


  • class属性:它是类属性,返回具有相同特征的元素集合,以下例子来说明
  1. <body>
  2. <h3 class="text">hello world</h3>
  3. <p class="text">hello friends</p>
  4. </body>
  1. <script>
  2. console.log(document.getElmentsByClassName("text"));
  3. //控制台会得到一个HTML的集合,含有2个元素
  4. </script>
  1. <style>
  2. .text{
  3. background-color:red;
  4. /*通过class属性会把<h3>和<p>两个元素的背景色都改为红色*/
  5. }
  6. </style>

在上面案例中,js获取到class属性的时候返回了一个集合,css获取class属性的时候也把两个元素的背景色都改了,所以可以看出class属性表示一类属性,是一个集合,可以把它放在不同的元素中,能使不同的元素具有相同的特征


  • style属性:也称为内联样式,它是写在标签内部的,仅对当前元素有效,示例如下:
  1. <body>
  2. <h3 style="color:red;">hello world</h3>
  3. <p>hello friends</p>
  4. </body>

上面案例中,只有 hello world 的字体颜色变为了红色,而<p>标签中的内容颜色不变


3. 元素、类、id不同级别的样式规则

  • 元素的样式:用css定义元素的样式,直接写元素的标签名,例:
  1. <style>
  2. p{
  3. background-color:yellow;
  4. }
  5. </style>
  1. <body>
  2. <p>hello world</p>
  3. </body>

上面案例中,通过css直接定义元素的样式

  • 类样式:通过 .class 的方式来定义css样式,例:
  1. <style>
  2. .bgcolor{
  3. background-color:yellow;
  4. }
  5. </style>
  1. <body>
  2. <p class="bgcolor">hello world</p>
  3. </body>

上面案例中,通过类样式 .class 的方式来定义样式

  • id样式:通过 #class名 的方式来定义css样式,例:
  1. <style>
  2. #hello{
  3. background-color:yellow;
  4. }
  5. </style>
  1. <body>
  2. <p id="hello">hello world</p>
  3. </body>
  • 元素 id class 样式的优先级:id>class>元素,通过下面例子来演示:
  1. <body>
  2. <p class="hello" id="world">hello world</p>
  3. </body>
  1. <style>
  2. p {
  3. color:red;/*红色*/
  4. }
  5. .hello {
  6. color:blue;/*蓝色*/
  7. }
  8. #world {
  9. color:yellow;/*黄色*/
  10. }
  11. </style>

上面案例中:

  1. 当只值设置 p 元素的样式时,文本应用为红色

  2. 当设置同时设置 class属性和 p元素时,应用为蓝色

  3. 当三个属性同时设置时,应用为黄色

由此看出,id属性>class属性>元素样式

注意:还有一种情况,当设置了style内联样式时会发生什么变化呢?

例:在 p 标签内加入内联样式,颜色为绿色green

<p class="hello" id="world" style="color:green;">hello world</p>

最后,我们可以看到,文本颜色变为了绿色,所以可以总结出:

  • 没有设置style属性时,规则是:id属性>class属性>元素样式

  • 若设置了style属性,那么会首先应用内联样式

上一条:PHP SPL标准库下一条:Markdown标记语言
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议