zoukankan      html  css  js  c++  java
  • 高可读性的HTML

    1、HTML语义化

           HTML语义化:从HTML代码中使用的标签本身就可以说明标签包含内容的含义。

           页面标签语义化的优点:

           (1)使得诸如搜索引擎以及第三方内容抓取工具等更容易读懂页面代码。

           (2)提高了页面代码的可读性。

            最主要的4条原则:

            (1)熟悉所有规范中的HTML标签,理解各标签的语义,在合适的地方使用合适的标签。

                     标签<hx>系列代表的是标题;

                     <ul>和<ol>表示列表,在展现各种数据列表或者菜单时使用。

                     其他使用率较高的语义标签有:<p>、<em>、<strong>、<table>、<site>、<blockquote>等。

                     HTML5新加入的标签:<header>、<footer>、<article>、<section>、<nav>、<aside>等。

             (2)熟悉各标签上的规范的属性,给HTML标签设置必要的属性。

                    alt属性:在<img>标签中,alt是必须设置的属性。

                    title属性:添加额外的信息。          

         <!-- alt属性除了对图片进行解释说明之外,也作为图片在浏览器中未加载时显示的代替文字 -->
         <img src="load.gif" alt="data loading...">
         <!-- title属性是对元素的解释说明,并且作为在浏览器中当鼠标移到元素上时显示的提示信息 -->
         <a href="" title=""></a>

                   <label>标签的for属性:从语义上绑定了<label>标签和<input>表单元素。

          <!-- 当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。-->
          <label for="name">name:</label>
          <input type="text" id="name">

           (3)样式和结构分离

                   把HTML代码中用于表达外观的部分从HTML中删除,并改用CSS样式实现。

           (4)给空标签中添加隐藏文字,用于说明标签的实际功能。

                   为了美观效果,有时会把原来该用文字表达的效果替换为图片。这种情况下,建议给空标签添加一定的文字说明,并让文字隐藏起来。一般通过设置text-index来达到隐藏文字的目的。

    2、如何设置网页标题层级

            (1)在页面内容的标题部分使用<hx>标签。

            (2)页面中只使用一个<h1>标签。

            (3)<hx>标签使用过程中不要跳级。

            (4)不要单纯使用<hx>标签给内容设置样式。

    3、如何正确设计表单

           (1)使用<label>标签,并设置<label>标签的for属性。

          <!-- 当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。-->
          <label for="name">name:</label>
          <input type="text" id="name">

           (2)给输入控件设置合适的水印提示(placeholder属性)。

          <input type="text" name="email" placeholder="user@lifeway.com" />

           (3)如有必要,给输入控件设置tab顺序。使用Tab键可切换不同的表单输入控件。

         <input type="text" tabindex="2" />

            (4)使用HTML5中引入的表单控件。

                      HTML5中引入了多个输入控件的类型(如url、email、date、search和number等)。

              最终表单示例:

           <form action="/service/user" method="post">
                <fieldset>
                    <legend>Sign in to begin.</legend>
                    <label for="userName">User Name:</label>
                    <input type="email" name="userName" id="userName" placeholder="user@lifeway.com" tabindex="1" required="true" />
                    <label for="password">Password:</label>
                    <input type="password" id="password" name="password" tabindex="2" required="true" />
                    <label for="staySigned">
                        <input type="checkbox" id="staySigned" name="staySigned" tabindex="3" />
                        Stay signed in
                    </label>
                </fieldset>
                <input type="sumbit" value="Login" tabindex="4" />
            </form>

           页面效果:

          <fieldset>元素给表单控件分组。<legend>元素用来定义控件组的标题。

    4、精简HTML代码

           (1)删除多余的容器。

           (2)装饰性的元素使用CSS样式实现。一个很有用的技巧是使用::before和::after伪元素。

           (3)避免使用table布局。

    5、过时的块状元素和行内元素

            从渲染样式上看:

                  块状元素在页面中单独占一行,即display样式的默认值为block,而行内元素则显示在行中,display样式的默认值为inline或者inline-block。

           从语义角度出发:

                  块状元素可以包含其他元素,行内元素表示页面内容,只能包含行内元素,不能包含块状元素。 

           常见的块状元素有:<div>、<p>、<table>、<ul>、<ol>、<h1>~<h6>等。

           常见的行内元素有:<span>、<img>、<a>、<em>、<input>、<select>等。

          在HTML5规范中刻意淡化了块状元素和行内元素的定义,并按照元素具体的语义重新划分了元素的类型。总共分为7类:

    • 元数据式(Metadata)内容:<base>、<command>、<link>、<meta>等。
    • 流式(Flow)内容:<span>、<div>等。
    • 章节式(Phrasing)内容:<article>、<aside>、<nav>以及<section>。
    • 标题式(Headerr)内容:<h1>~<h6>、<hgroup>。
    • 段落式(Sectioning)内容:<span>、<img>等。
    • 嵌入式(Embedded)内容:<img>、<iframe>、<svg>、<audio>、<video>、<canvas>等。
    • 交互式(Iteractive)内容:<a>、<button>、<select>、<input>等。
  • 相关阅读:
    初步学习css 从css手册看起———text
    IE6双倍margin间距两大解决方案转载
    div+css的基本 常用到语法(一) 。
    初步学习css 从css手册看起———Font
    行内宽高设置无效的解决
    C++面对对象基础
    C++继承和派生
    基于MATLAB的FIR滤波器的设计
    C++多态
    C++中的静态成员和静态函数
  • 原文地址:https://www.cnblogs.com/209yin/p/7658139.html
Copyright © 2011-2022 走看看