本章内容:
标签的语义
为什么要使用语义化标签
如何确定你的标签是否语义良好
常见模块你真的很了解吗

标签的语义

HTML标签的设计都是有语义考虑的,部分标签的中文翻译图示及本章内容参看:3.1 标签的语义。其中div和span是没有语义的,它们只是分别用作块儿级元素和行内元素的区域分割符。

为什么要使用语义化标签

搜索引擎看不到视觉效果,看到的只是代码,只能通过标签来判断内容的语义。

专注于结构:通过标签可以知道“这是个标题”、“这是个段落”,等等。

CSS布局的一个误区:只要不是table布局,只要是通过CSS布局就是对的,就是符合Web标准的。

在HTML、CSS、JavaScript这三大元素中,HTML才是最重要的,结构才是重点,样式是用来修饰结构的。正确的做法是,先确定HTML ,确定语义的标签,再来选用合适的CSS

如何确定你的标签是否语义良好

浏览器会根据标签的语义给定一个默认的样式。判断网页标签语义是否良好的一个简单方法是:去掉样式,看网页结构是否组织清晰有序,是否仍然有良好的可读性。

值得重点提及的h标签,其含义为“标题”,搜索引擎对这个比较敏感,尤其是h1,h2。h标签应该是完整有序没有断层的。即h1、h2、h3、h4这样依次列排下来,不能出现漏掉h2的情况。

调试插件:Firefox--Web Developer。参考站点:W3C官方站点。

常见模块你真的很了解吗

标题和内容

<div>
<h2>标题</h2>
<a href="#">更多</a>
</div>
<p>
内容
</p>

表单

<form action="" method="">
<fieldset>
<legend>登录表单</legend>
<p>
<label for="name">账户:</label><input type="text" id="name" name="name" />
</p>
<p>
<label for="pwd">账户:</label><input type="text" id="password" name="password" />
</p>
<input type="submit" value="登录" />
</fieldset>
</form>

一般来说,表单域要用fieldset标签包起来并用legend标签说明表单的用途。每个input标签对应的说明文本都需要用label标签,并通过为input设置id属性,在label标签中设置for=someld,来让说明文本和相应的input关联起来。在用户点击这个说明文本的时候,相关联的input自动获得焦点,方便用户输入信息或变成相应的选中状态等。

表格

table。虽然在CSS布局中table不推荐用来布局,但它仍有一席之地--在二维数据展示方面它是最好的选择。

表格标题要用caption,表头要用thead包围,主体部分用tbody包围,尾部要用tfoot包围,表头一般和单元格要区分开,表头用th,一般单元格用td。

语义化标签应注意的一些其它问题

为了保证网页去样式后的可读性,并且又符合Web标准,我们应注意以下几点:

  • 尽量少的使用无语义标签div和span;
  • 在语义不明显,既可以用p也可以使用div的情况下,尽量用p,p默认情况下有上下间距,去样式后的可读性更好,对兼容特殊终端有利;
  • 不要使用纯样式标签,如b、font和u等,改用CSS设置。语义上需要强调的文本可以包在strong或em标签里,strong和em有“强调”的语意,strong默认加粗,em默认斜体。

《编写高质量代码-Web前端开发修改之道》笔记--第三章 高质量的HTML的更多相关文章

  1. 《编写高质量代码-Web前端开发修改之道》笔记--第二章 团队合作

    本章内容: 揭秘前端开发工程师 欲精一行,必先通十行 增加代码的可读性--注释 提高重用性--公共组件和私有组件的维护 冗余和精简的矛盾--选择集中还是选择分散 磨刀不误砍柴工--前期的构思很重要 制 ...

  2. 《编写高质量代码-Web前端开发修改之道》笔记--第一章 从网站重构说起

    本章内容: 糟糕的页面实现,头疼的维护工作 Web标准--结构.样式和行为的分离 前端的现状 打造高品质的前端代码,提高代码的可维护性--精简.重用.有序 糟糕的页面实现,头疼的维护工作 工作中最大的 ...

  3. 编写高质量代码:Web前端开发修炼之道(一)

    最近老大给我们买来一些技术方面的书籍,其实很少搬着一本书好好的完整的看完过,每每看电子档的,也是打游击式的看看这章,瞅瞅那章,在那5本书中挑了一本比较单薄的<编写高质量代码web前端开发修炼之道 ...

  4. 读《编写高质量代码-Web前端开发修炼之道》笔记

    第一章 1.Web标准由一系列标准组合而成,核心理念是将网页的结构,样式和行为分离,所以分为三大部分:结构标准,样式标准和行为标准.结构标准包括XML标准,XHTML标准,HTML标准:样式标准指CS ...

  5. 编写高质量代码:Web前端开发修炼之道(三)

    第五章:高质量的Javascript 这章的内容我看的最久,这是跟我js基础没打好有着莫大的关系,但是还是耐着性子看完了, 不懂的东西都是百度上搜索,理解后再继续.下面是记录下来的笔记. 1)如何避免 ...

  6. 编写高质量代码:Web前端开发修炼之道(二)

    第四章:高质量的css 1)怪异模式和标准模式 在标准模式中,浏览器根据规范表现页面:而怪异模式通常模拟老式浏览器的行为以防止老站点无法工作. 他们两者之间的差异比较典型的表现在IE对盒模型的解析:在 ...

  7. 《编写高质量代码——Web前端开发修炼之道》读后随笔

    结构样式行为的分离 结构标准包括XML标准.XHTML标准.HTML标准:样式标准有CSS标准:行为标准主要包括DOM标准和ECMAScript标准. 通常的项目会按照如上的方式进行分离,但自己曾今做 ...

  8. 编写高质量代码:Web前端开发修炼之道(四)

    这一节是继上一节高质量的Javascript 7)编程实用技巧 1:弹性 从 一个标签区和内容区的实例(就是点击不同的标签菜单显示不同的内容块)来说明不需要每个tabmenu都设置onclick事件, ...

  9. 【读书笔记】读《编写高质量代码—Web前端开发修炼之道》 - JavaScript原型继承与面向对象

    JavaScript是基于原型的语言,通过new实例化出来的对象,其属性和行为来自于两部分,一部分来自于构造函数,另一部分是来自于原型.构造函数中定义的属性和行为的优先级比原型中定义的属性和优先级高, ...

随机推荐

  1. sql优化-隐形转换危害

    level  整形字段 a:select * form t_user where level =2; b:select * form t_user where level ='2'; b里面的隐形字段 ...

  2. C++中new与delete问题学习

    一.new char与delete问题 . 问题程序 [cpp] view plaincopy #include <iostream> using namespace std; void ...

  3. quickstack is a tool to take call stack

    https://github.com/yoshinorim/quickstack quickstack is a tool to take call stack traces with minimal ...

  4. c#线程问题(2)

    表示要在新上下文中调用的方法.public delegate void ContextCallback(Object state) 参数 state 类型: System. Object一个对象,包含 ...

  5. fpm 配置详解

    约定几个目录 /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php.ini 一,php- ...

  6. C - Minimum Inversion Number

    Description The inversion number of a given number sequence a1, a2, ..., an is the number of pairs ( ...

  7. 想学React Native?你只需要一个App!(11月5号更新)

    最近有点空闲时间,顺手研究下react-native,2013年的时候在老师的指导下使用jQuery Mobile做过手机应用,那个运行速度慢呀!让我对WebApp和PhoneGap这一类的跨平台Ap ...

  8. mysqldump 失败

    背景交代 mysql版本:mysql Ver 14.14 Distrib 5.7.11, for Linux (x86_64) using EditLine wrapper os:Linux vers ...

  9. s实现指定时间自动跳转到某个页面

    --js实现指定时间自动跳转到某个页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

  10. ORA-01034: ORACLE not available

    ora-01034:oracle   not   available    ora-27101:shared   mermory   realm   does   not   exist 解决办法: ...