• html---规范、细节积累-01


    语义错误

    块级元素可以包含内联元素和某些块级元素,内联元素不能包含块级元素,只能包含内联元素

    页面可能正常解析,但不符合语义。浏览器自带容错机制,对于不规范的写法也能够正确解析,各浏览器的容错机制不同,所以尽量按规范来写;

    /*规范的写法*/
    
    <div>
        <h2>jikexueyuan</h2>
        <p>IT education</p>
    </div>
    
    /*不规范的写法*/
    
    <span>
        <div>wrong</div>
    </span>
    

     h1、h2、h3、h4、h5、h6、P标签不能包含块级元素 如div  section等

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">
        <meta content="yes" name="apple-mobile-web-app-capable">
        <meta content="black" name="apple-mobile-web-app-status-bar-style">
        <meta content="telephone=no,email=no" name="format-detection">
        <meta name="App-Config" content="fullscreen=yes,useHistoryState=yes,transition=yes">
        <title></title>
    </head>
    <body>
    <a href="">
        <button>click</button>
    </a>
    <p>
        <h3>dsds</h3>
    </p>
    </body>
    </html>
    

      

    行内元素强制转成块级元素,块级元素强制转成行内元素

    如下做法是不推荐的:

    给 <div> 标签设置 inline-block 属性
    给 <span>标签设置 block 属性

    li标签可以包含div以及ul,ul的子元素应该只有li

    /*规范的写法*/
    
    <li>
       <ul>
           <li></li>
           <li></li>
           <li></li>
       </ul>
       <div></div>
    </li>
    
    /*不规范的写法*/
    
    <ul>
       <a href="">迷路的a标签</a>
       <li></li>
       <li></li>
       <li></li>
    </ul>
    

      

    使用 disabled=false

    disabled 属性是用来禁用标签的,一般用于 input 、button等,表示不可点击。

    正常的用法是:

    <input type="text" name="lname" />
    <input type="text" name="lname" disabled="disabled" />
    错误的写法:

    <input type="text" name="name" disabled="false" />

    这里虽然 disabled="false" 语义也代表不禁用,但实际上是被禁用的。

    disabled 属性规定应该禁用 input 元素,即只要出现改属性为禁用。<input type="text" name="name" disabled="" />

    页面中同一个 ID 出现两次及更多

    ID应该是dom元素唯一标示符;

    错误的使用 role 属性

    role更多的是用来增强语义性,当现有的html标签不能充分表达语义性的时候,就可以借助role来说明。通常它更多的出现在一些自定义的组件上。比如html中没有tree标签,我们就可以把他的role设置为tree,这样可以增强组件的可访问性、可用性和可交互性。

  • 相关阅读:
    BZOJ3193: [JLOI2013]地形生成
    ARG102E:Stop. Otherwise...
    51NOD1847:奇怪的数学题
    大型大常数多项式模板(已卡常...)
    CF932G Palindrome Partition
    51nod1538:一道难题(常系数线性递推/Cayley-Hamilton定理)
    HTML——meta标签
    HTTP 格式
    Node.js——Async
    设计模式——外观模式
  • 原文地址:https://www.cnblogs.com/CandyManPing/p/6541395.html
Copyright © 2020-2023  润新知