高质量的HTML

本系列源自《编写高质量代码-web前端开发修炼之道》

HTML,CSS,JavaScript三者中,HTML作为结构,CSS作为修饰,JavaScript作为控制。不管是在前端还是后台,结构都是非常重要的,使用HTML时必须要考虑语义化。

1.如何确定你的标签是否语义化?

浏览器会给标签给定默认样式,所以就算不用CSS修饰也能体现一些简单的样式。因此判断一个网页标签是否语义化的简单方法是:去掉CSS,看网站结构是否组织良好有序,是否仍然有良好的可读性。

你可以手动注释CSS代码,也可以使用web调试工具,比如firefox的Web Developer插件,可以禁用CSS。

2.如何选用正确的标签?

下面举了一些常见的例子:

2.1标题和内容

要 实现上面这个样式,可以使用方案一:

	<div class="container">
		<h2>标签的语义<a href="#">更多>></a></h2>
		<p>段落一的内容.....<strong>重要部分</strong>......</p>
		<p>段落二的内容.....<strong>重要部分</strong>......</p>
		<p>段落三的内容很长长长长长长长长长长长长长长长长长长长长.</p>
	</div>
        <style type="text/css">
	.container{
		width: 400px;
		margin: 0 auto;
		background-color: #ff0;
	}
	h2{
		position: relative;
		border-bottom: 1px dashed #333;
	}
	h2 a{
		position: absolute;
		right: 0;
		top: 0;
	}
	p{
		text-indent: 2em;
		line-height: 150%;
		margin: 0 0 1em 0;
	}
	strong{
		color:red;
		font-weight: normal;
	}
	</style>

此方案将锚点放在了h2中,但很明显锚点”更多“不属于标题,所以这个是不合语义的。下面是方案二:

	<div class="container">
		<div class="title">
			<h2>标签的语义</h2>
			<a href="#">更多>></a>
		</div>
		<p>段落一的内容.....<strong>重要部分</strong>......</p>
		<p>段落二的内容.....<strong>重要部分</strong>......</p>
		<p>段落三的内容很长长长长长长长长长长长长长长长长长长长长.</p>
	</div>

CSS代码就不贴了,将锚点从标题中提出来,同时在二者外再加一个div块,表示他们形式上应该属于一个整体。方案二结构看起来要清晰的多。

2.2表单

一般来说,表单域要用fieldset标签包起来,并用legend标签说明表单的用途。fieldset默认有边框,可以按需要更改样式,也可以隐藏legend标签,以此来兼顾语义和显示。

每个input标签对应一个label,通过for联系起来,下面是示例:

<form action="" method="" class="fieldset">
  <fieldset>
    <legend>登录表单</legend>
    <p>
    	<label for="name">账号:</label>
    	<input type="text" id="name"/>
    </p>
    <p>
    	<label for="pw">密码:</label>
    	<input type="text" id="pw"/>
    </p>
    <input type="submit" value="登录" class="subBtn">
  </fieldset>
</form>

2.3表格

表格经常用在数据显示页面上。table常用的标签有caption、thead、tbody、tfoot、tr、td、th。表格标题要用caption,表头用thead包围,主体用tbody包围,尾部用tfoot包围。

表头和一般单元格要分开,表头用th,单元格用td。

<table>
	<caption>表格标题</caption>
	<thead>
		<tr>
			<th>实现方式</th>
			<th>代码量</th>
			<th>搜索引擎友好</th>
			<th>特殊终端兼容</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<th>table 布局</th>
			<td>多</td>
			<td>差</td>
			<td>一般</td>
		</tr>
		<tr>
			<th>乱用标签</th>
			<td>多</td>
			<td>差</td>
			<td>一般</td>
		</tr>
	</tbody>
</table>

2.4语义化标签应该注意的问题

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

1.尽量少用div和span,用更加语义化的标签来代替它们;

2.语义不明显,既可以用p又可以用div的情况下,尽量用p。因为p默认有上下间距,去除样式后可读性更好 ,对兼容特殊终端有利;

3.不要使用纯样式标签,例如b,font,u等,改用CSS设置。语义上需要强调的用strong和em,二者有强调之意。

高质量的HTML,布布扣,bubuko.com

时间: 2024-08-10 10:38:37

高质量的HTML的相关文章

高质量的工程代码为什么难写 (转)

http://kb.cnblogs.com/page/558087/ 之所以想起写这篇文章,是因为最近看到的一个著名的开源项目在内部使用时的各种问题,不得不说,很多的开源的东西思想是不错的,但离真正工程化都有不小的距离,所以没什么商业公司采用的开源产品如果要引入的话一定要慎重,通常会有N多的坑等着你去填,而比较成功的开源项目的背后多数都会有商业公司在背后不断的改进. 遥想我2000年开始学习写asp代码时,觉得写代码也不难呀,无非就是学学语法规则.库就可以写出来,记得有一次我实习面试的时候是让我

每周一书-编写高质量代码:改善C程序代码的125个建议

首先说明,本周活动有效时间为2016年8月28日到2016年9月4日.本周为大家送出的书是由机械工业出版社出版,马伟编著的<编写高质量代码:改善C程序代码的125个建议>. 编辑推荐 10余年开发经验的资深C语言专家全面从C语法和C11标准两大方面深入探讨编写高质量C代码的技巧.禁忌和实践 C语言因为既具有高级语言特性,又具有汇编语言特性,所以它是近二十几年来使用较为广泛.生命力较强的编程语言.无论是操作系统.嵌入式系统.普通应用软件,还是移动智能设备开发,它都能够很好地胜任,是公认的强大的语

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

第五章:高质量的Javascript 这章的内容我看的最久,这是跟我js基础没打好有着莫大的关系,但是还是耐着性子看完了, 不懂的东西都是百度上搜索,理解后再继续.下面是记录下来的笔记. 1)如何避免JS冲突 A:匿名函数 在多人合作一个网站时,每个人都会写自己的JS代码,定义变量的时候有可能会引起命名冲突,如何避免这种冲突隐患呢? 一种最简单有效的办法是“匿名函数”将脚本包起来,让变量的作用域控制在匿名函数之内. 匿名函数:(function (){})() 前面的括号内是函数体,后面的()表

网站建设和SEO要永远把高质量内容放在首位

想必大家都知道,高质量的网站和内容是搜索引擎都知道的,为此很多人比较吹捧原创,自己以前也犯了这样一个误区,认为原创,代表高质量,现在看来也不尽然. 网页质量是一个网页满足用户需求能力的衡量,是搜索引擎确定结果排序的重要依据.在网页资源内容与用户需求有相关性的基础上,内容是否完整.页面是否美观.对用户是否友好.来源是否权威专业等因素,共同决定着网页质量的高低. 在<百度网页搜素质量白皮书>简版里面,百度指出主要从以下角度评价网页内容质量: 内容制作成本高低; 内容是否有效.完整丰富; 是否原创;

利用这四大技巧 轻松打造高质量的网站内容

在制作网站的过程中,怎样为企业网站打造一些高质量的网站内容呢?因为高质量的内容可以提高网站的表现效果,而且可以吸引更多的流量,提升网站的权重.今天我们就来说一下网站制作过程中,怎样打造优质的内容.下面我们就一起来聊一下吧. 第一.为网站选择一个易记简短的域名.一个稳定的网站服务空间.易记简短的域名不仅方便用户可以很容易快速地记住你的网站.从搜索引擎收录网站的角度来看,对简单的域名也是比较感兴趣的.因此,很多企业网站在制作的时候一般都会选择com域名注册.而作为一个营销类型的网站,而且是想要打开网

酷雷曼360全景:制作高质量的360全景需要注意哪些

酷雷曼360全景隶属于同创蓝天投资管理(北京)有限公司,我们是一家专注与360度全景拍摄和制作的公司,是国内专业的以全景技术为核心的数字营销解决方案提供商. 我们的主要业务有:全景拍摄,360度全景制作,720度全景制作,三维全景制作,全景网站,景区全景.酒店全景.虚拟展厅.房产全景.数字博物馆全景.政府全景.企业全景.学校全景.虚拟漫游,并面向全国寻求合作伙伴,招商合作,为广大创业者提供优质的创业平台. 在拍摄360全景照片之前期有良好的规划,事先对场地.环境有一个初步的估算,拍摄过程中会顺利

代码质量优先——《编写高质量代码:改善c程序代码的125个建议》

高质量的代码不但可以促进团队合作.减少bug处理.降低维护成本,对程序员自身的成长也是至关重要的.很难想象一个参考<如何编写无法维护的代码>写代码的程序员技术成长的上限有多么低.为了写出高质量的代码,我们需要听取过来人的改善代码质量的经验,<编写高质量代码:改善c程序代码的125个建议>就是一本能让人写出高质量代码的好书. 本书的第三章<程序控制语句应该保持简洁高效>首先用简练的语言介绍了流程控制结构的概念,然后提供了对if.else.for.do-while.swit

整套高质量前端基础到高级视频教程免费发布

我自己是从农村出来的,看到很多农村的寒门子弟初入社会,很难改变自身命运.尤其是很多大学生学习IT专业,但是大学期间荒废度日.很难从事IT行业,所以造就了目前IT培训市场的繁荣. 目睹了,大量的学生因为没有钱而享受不了高质量的IT培训的资源,我心里痛快至极.传智的工作越来越离着学员远,内心焦躁不已.自己深感,背离初心已远.毅然决然的放弃稳定的工作,从此自由身. 专心的为寒门子弟做点事情,为寒门子弟改变命运而做免费的高质量的IT入门学习资源,就是本真的我,就是我人生价值所在,依稀记得自己愿望,不忘初

c++高质量编程手册

怡化主管强烈要求我读这本书.... 笔记尚未完成,持续更新呗.. 第1章 高质量软件开发之道 1.1 软件质量基本概念 1.1.1 如何理解软件的质量:功能性和非公能性 1.1.2 提高软件质量的基本方法: 一次性编出高质量的程序 1.1.3 "零缺陷"理念 1.2 细说软件质量属性 1.2.1 正确性: 需求范围内的需求 1.2.2 健壮性  需求外的扩展需求 1容错  2恢复 1.2.3 可靠性  你平均无故障时间衡量 1.2.4 性能  时间-空间效率 优化数据结构,算法,代码来

数据建模学习笔记-1-《高质量数据库建模 1-重大意义》

https://edu.hellobi.com/course/54 <高质量数据库建模 1-重大意义> 1.数据模型的概念和意义 DIKW —— 数据(Data) 信息(Information) 知识(Knowledge) 智慧(Wisdom) 如图所示,我理解,通过数据得到信息,通过信息得到知识,通过知识产生智慧.  最终的目的是产生智慧产生决策 2.什么是数据模型? 数据模型是将数据元素以标准化的模式组织起来,用来模拟现实世界的信息框架蓝图 3.数据模型的要求: 1).直观地模拟世界 2)