[翻译]标记语言和样式手册 Chapter 2 标题
作者:zhaozy 来源:3user.com 发布时间:2008-01-16 11:56:00
Chapter 2 标题
总览:
不但所有网页都需要有标题,而且如果标记正确的话,他们能为网页设计和易用性增色不少.
从外观来说,网页的标题通常是使用较大的字号,或许会用和主体文字不同的颜色或者字体.标题的作用是"简要的描述往后章节所讨论的主题",W3C这样描述 — 显示网页内各个段落的概要.
怎样来创建一个页面标题来使得我们要展现的信息得到最有效的利用?在这个章节中,我们将研究几种常用的处理标题的方法,试着从中找出其中一种对我们最有帮助的方式,然后,我们将使用一些css的技巧和窍门来为最棒的方法装饰一番.
创建文档标题的最好方法是什么?
在回答这个问题之前,让我们假设现在正要把标题放置在文档的页首,我们来看看能够达成类似效果的三种方式.
方法A:有意义吗?
<span class="heading">Super Cool Page Title</span>
虽然<span>标签在某些场合会是个方便的标签,但是对于页面标题来说,它的意义并不大,使用这个方法的唯一好处是我们可以为 heading 类指定一个css样式,以便让文字看起来像是个标题.
.heading {
font-size: 24px;
font-weight: bold;
color: blue;
}
现在,所有标记了heading类的标题都会变大,变粗,变蓝,很棒对吧?但是,如果有人使用一个不支持css的浏览器访问这个页面会怎么样呢?
举例来说,如果我们把css样式放在旧浏览器不支持的外部样式表文件里 — 或者屏幕阅读器为有障碍的用户朗读页面时会怎么样呢?通过这些途径访问这个页面的使用者将看不到(听不到)标题和正文文字的差异.
class="heading"这样的标注方法稍~~微的描述了标签内容的意义,但是<span>只是个一般用途的容器,只是让大部分浏览器改变默认显示样式而已.
搜索引擎在抓取到这个页面时,会跳过<span>标签就像它不曾在那边一样,不会为里面可能包含的关键字提升权重,稍后在本章节内会提到更多搜索引擎和页面标题的关系.
最后,由于<span>标签是一个行内元素,我们大多需要把方法A的内容在放置到另一个块级容器中,比方说<p>或者<div>,以便让它独占一行.这样会生成许多不必要的代码,就算你加上需要的容器,不支持css的浏览器仍然会以他本来的方式显示文字,让用户看不出标题和正文的任何区别.
方法B: P和B的组合
<p><b>Super Cool Page Title</b></p>
方法B使用了段落标签,这会让我们得到我们想要的块级元素的显示效果,而<b>标签会让文字呈现粗体的样式(在大多数浏览器上) — 但是我们以这样的方式标记重要的标题时,仍然要面对同样缺少语义性的结果.
不像方法A,<b>标签的存在就算缺少css样式的定义,在大多数浏览器中还是会将文字以粗体的样式呈现.但是和<span>标签一样,搜索引擎不会为段落内的粗体文字提升关键字权重.
难以加上样式
使用单纯的p和b的标签组合,让我们无法为这个标题加上和其它段落有所区别的样式,或许我们想以独特的方式强调标题,为页面内容加上定义和结构 — 但是使用了这个方法让它呈现粗体后,我们就没有办法去做这些事情了.
方法C:样式与实质
<h1>Super Cool Page Title</h1>
哈哈,我们的好朋友标题标签来了,标题标签从一开始就是存在的,但是许多网页设计师还是无法以一致的方式使用它们.如果使用得当,标题标签能够提供页面内容的锚点,提供灵活的,可索引的,可更改样式的结构.
从标签本身的观点来看,你一定会爱上它的简洁,它们不需要额外的容器标签,你甚至能说这个方法能比前两个方法节省了一些字节,可能可以忽略,但是每小一个字节就是改变.
<h1>到<h6>分别代表了6层标题,从最重要的<h1>到最不重要的<h6>,他们本身就是块级元素不需要一个额外的容器就能自成一行,简单而又有效率 — 是完成这项工作的最佳工具.
容易定义样式
因为<h1>标签拥有独特的意义,不像<b>或者<p>标签那样会在文内用到多次,因此我们能用css为它加上各式各样的样式(我们会在本章的"更多技巧"中深入讨论).
更重要的是,就算不加上任何的样式定义,标题标签看起来就很明显是个标题!浏览器会用大字体,粗体字呈现<h1>的内容,就算去掉页面所有的样式定义,仍然可以看到文档的结构,因为正确的标题标签描述的是内容意义,而不是表现方式. (图 2-1)
图 2 - 1: 脱离样式后使用标题标签的页面内容
屏幕阅读器,PDA,移动电话和其他一些视觉的非视觉的浏览器也能识别并正确处理标题标签的内容,把它的重要性突出于页面其他内容之上.使用<span>标签,不支持(或无法支持)css的浏览器就不会认为它有什么特别之处.


猜你喜欢
- 前言我们实战经常会遇到以下几个问题:1、遇到一个利用步骤十分繁琐的漏洞,中间错一步就无法利用2、挖到一个通用漏洞,想要批量刷洞小赚一波,但手
- 本文讲述了Python使用pip安装报错:is not a supported wheel on this platform的解决方法。分享
- 如何使用Iframe实现本页提交?例:chunfeng.html< html>< head>&n
- 抽象基类的常见用途:实现接口时作为超类使用。然后,说明抽象基类如何检查具体子类是否符合接口定义,以及如何使用注册机制声明一个类实现了某个接口
- 这篇文章主要介绍了python 两个数据库postgresql对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 一、数据库操作1、创建model表基本结构:#coding:Utf8from django.db import modelsclass us
- 阅读上一篇:你是真正的用户体验设计者吗? Ⅱ系统和用户环境设计苹果系统成功在于系统架构。简化系统本身,设备只能变得更好、更小、性能更强大。在
- 闲来无事,上班时找了个练习来写,联系题目是针对sql server 2000的以下为mysql 一 单词解释(2分/个) 34分 Data
- 本文实例讲述了Python实现爬取马云的微博功能。分享给大家供大家参考,具体如下:分析请求我们打开 Ajax 的 XHR 过滤器,然后一直滑
- 一个小项目自动登录淘宝联盟抓取数据,由于之前在Github上看过类似用Python写的代码因此选择用Python来写,第一次用Python正
- Vue开发环境跨域访问其他服务器或者本机其他端口,需要配置项目中config/index.js文件,修改如下module.exports =
- 有时候我们需要在某段字符串或者某段语句中去查找确认是否包含我们所需要的字符串信息,举例子说、某段变量是:A= ”My name is Cla
- 说明:最近在B站看一些材料力学视频时候,感觉有一些分集狂魔的分集真的很恐怖,有的甚至上百集,因此决定写个小脚本每次分析下到底这个系列视频到底
- 具体代码如下所示:# -*- coding: utf-8 -*-import redisimport datetime''&
- 本文研究的主要是Python编程argparse的相关内容,具体介绍如下。#aaa.py#version 3.5import os &nbs
- Image控件又称图像控件,主要用来显示用户的图片或图像信息。一、属性表1 Image控件常用属性及说明属性说明ID控件IDImageAli
- 最近,在做一个项目时遇到的了一个问题,主线程无法捕获子线程中抛出的异常。先看一个线程类的定义'''''
- 我们先思考一下,如果需要达到自动化接口测试的效果,那么我们在基本的模拟请求上还需要做哪些呢?以下我粗略概括为 3 个问题(欢迎更多补充与建
- 本文的目的是探讨JS相关技术,并不是以杀毒为主要目的,杀毒只是为讲解一些JS做铺垫的,呵呵,文章有点长,倒杯咖啡或者清茶慢慢看,学习切勿急躁
- 介绍An open source load testing tool.一个开源性能测试工具。define user behaviour wi