元素应用 class 或 id 属性,但是更常见的情况是只应用其中一种。这两者的主要差异是,class 用于元素组(类似的元素,或者可以理解为某一类元素),而 id 用于标识单独的唯一的元素。
实例
文档中的一个部分会显示为绿色:
This is a header
This is a paragraph.
案例分析
NEWS WEBSITE
some text. some text. some text...
...
News headline 1
some text. some text. some text...
...
News headline 2
some text. some text. some text...
...
例子解释:下次想改全部headline的样式的时候,只要在样式表里改news就一键优化了
正如您看到的,上面这段 HTML 模拟了新闻网站的结构。其中的每个 div 把每条新闻的标题和摘要组合在一起,也就是说,div 为文档添加了额外的结构。同时,由于这些 div 属于同一类元素,所以可以使用 class="news" 对这些 div 进行标识,这么做不仅为 div 添加了合适的语义,而且便于进一步使用样式对 div 进行格式化,可谓一举两得。
提示:如需更深入地学习 class 和 id 的用法,请阅《W3school 的结构化标记》这一章中 div、id 和其他帮手这一节。
HTML 标签
定义和用法
标签被用来组合文档中的行内元素,本身没有视觉变化,只起到结构作用。
提示和注释:
提示:请使用 来组合行...
内元素,以便通过样式来格式化它们。
注释:span 没有固定的格式表现。当对它应用样式时,它才会产生视觉上的变化。
some text.some other text.
例子解释
如果不对 span 应用样式,那么 span 元素中的文本与其他文本不会任何视觉上的差异。尽管如此,上例中的 span 元素仍然为 p 元素增加了额外的结构。
可以为 span 应用 id 或 class 属性,这样既可以增加适当的语义,又便于对 span 应用样式。
可以对同一个 元素应用 class 或 id 属性,但是更常见的情况是只应用其中一种。这两者的主要差异是,class 用于元素组(类似的元素,或者可以理解为某一类元素),而 id 用于标识单独的唯一的元素。
提示:事实上,您也许已经注意到了,W3School 站点上有一些文本的样式与其他文本是不同的。比如“提示”使用了粗体的橘红色。尽管实现这种效果的方法非常多,但是我们的做法是:使用“提示”使用 span 元素,然后对这个 span 元素的父元素,即 p 元素应用 class,这样就可以对这个类的子元素 span 应用相应的样式了。
HTML:
提示:除了提示以外的其他内容... ... ...
CSS:
p.tip span {
font-weight:bold;
color:#ff9955;
}
div、id 和其他帮手
如果被正确地使用,div 可以成为结构化标记的好帮手,而 id 则是一种令人惊讶的小工具,它使你有能力编写极其紧凑的 XHTML,以及巧妙地利用 CSS,并通过标准文档对象模型 (DOM) 向站点添加复杂精巧的行为。
W3C 在其最新的 XHTML2 草案的 XHTML 结构模型中这样定义 div:
div 元素,通过与 id、class 及 role 属性配合,提供向文档添加额外结构的通用机制。这个元素不会将表现的风格定义于内容。所以,创作者可以通过将这个元素与样式表、xml:lang、属性等配合使用,使 XHTML 适应他们自身的需求和口味。
div 是 division 的简写。division 意为分割、区域、分组。比方说,当你将一系列的链接组合在一起,就形成了文档的一个 division。
确定结构的通用机制
所有编写 HTML 的人对段落和标题这类常见的元素都很熟悉,但是有些人对 div 就可能不那么熟悉了。在W3C的描述中我们可以找到理解 div 元素的关键,“一种添加结构的通用机制。”
在本站的首页,我们将教程目录列表封装于一个 div 之中,这是因为教程目录并不是正文的任何元素的一部分。其中,h2元素标记每个教程的标题,同时 ul 列表元素标记每个教程的详细列表。但是在更大更具体的意义中,这个教程目录扮演了一个结构化的角色,即二级导航组件。为了强调这个角色,我们使用 navsecond 这个 id 标注这个 div。
你可以使用任何命名。"Gladys" 和 "orangebox"都完全符合 XHTML 的命名规则。但是语义的 (semantic) 或者元结构化 (meta-structural) 的命名是最好的(即能够解释其中元素所执行功能的命名)。
当客户决定使用蓝色时,你会觉得将站点某部分命名为 orangebox(橙色框)会非常地傻。下面的这种情况中,你会觉得自己更傻,当距离最后交付只有六个月时,你开始调校样式表,却怎么也想不起来 "Gladys"(格拉迪斯,女子名)到底代表导航区、侧栏还是搜索框。
因此,将 id 标注为 "menu"、"content" 或者 "searchform"会帮助你回忆。进一步讲,标记不等同于设计,结构良好的的页面可以被格式化为你希望的任何样子。这样做的结果是,无论你使用纯粹 CSS 布局或者混合布局,你都会彻底改掉使用表现标记进行思考和创作的习惯。
d Vs. class
id 属性对于 XHTML 并不新鲜;class 属性或者 div 元素也一样。它们都可以回溯到 HTML 时代。id 属性为一个元素分配一个唯一的名字。每个名字只能在被赋予的页面使用一次。(例如,假如你的页面包含 id 为 content 的 div,那么另外一个 div 或者其他别的元素都不能使用这个名字。相反地,class 属性可以被一遍又一遍地使用在页面中(例如,页面中的五个段落都可以使用名为 "small" 或者"footnote" 的 class 名称)。下面的标记将有助于阐明 id 和 class 的差异:
id 属性对于 XHTML 并不新鲜;class 属性或者 div 元素也一样。它们都可以回溯到 HTML 时代。id 属性为一个元素分配一个唯一的名字。每个名字只能在被赋予的页面使用一次。(例如,假如你的页面包含 id 为 content 的 div,那么另外一个 div 或者其他别的元素都不能使用这个名字。相反地,class 属性可以被一遍又一遍地使用在页面中(例如,页面中的五个段落都可以使用名为 "small" 或者"footnote" 的 class 名称)。下面的标记将有助于阐明 id 和 class 的差异:
Today's blog post
Blog content goes here.
Here is another paragraph of blog content.
Just as there can be many paragraphs on a page, so too
there may be many entries in a blog. A blog page could use
multiple instances of the class "blogentry" (or any other
class).
Yesterday's blog post
In fact, here we are inside another div of class
"blogentry."
They reproduce like rabbits.
If there are ten blog posts on this page, there might
be ten divs of class "blogentry" as well.
在这个例子中,名为 searchform 的 div 被用来封装包含搜索表单的页面区域,而 div class="blogentry" 则用来封装 blog 中的每个文章入口。在页面中只有一个搜索表单,所以我们选择 id 标注这个唯一的组件。但是 blog 则拥有许多的(文章)入口,所以 class 属性被应用于这种情况。同样地,新闻站点通常拥有多个 div,这些 div 的 class 可以命名为 "newsitem" 或者别的什么。
然而不是所有的站点都需要 div。blog 站点可以仅仅使用 h1, H2, 和 h2 标题和
段落,新闻站点也一样。我们在这里展示 class 为 blogentry 的 div,并不是鼓励你在站点中塞满 div,而仅仅是为了向你展示这个原则:在同一个 HTML 文档中,使用多次 class,
但只能使用一次 id。
HTML 字符实体
诸如“<”之类的符号在HTML中拥有特殊的含义,所以在文本中使用它们。
为了在 HTML 中显示小于号 (<),我们需要使用字符实体。
字符实体
一些字符在 HTML 中拥有特殊的含义,比如小于号 (<) 用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体。
字符实体有三部分:一个和号 (&),一个实体名称,或者 # 和一个实体编号,以及一个分号 (;)。
要在 HTML 文档中显示小于号,我们需要这样写:< 或者 <
使用实体名称而不是实体编号的好处在于,名称相对来说更容易记忆。而这么做的坏处是,并不是所有的浏览器都支持最新的实体名称,然而几乎所有的浏览器对实体编号的支持都很好。
注意:实体对大小写敏感。空格
空格是 HTML 中最普通的字符实体。
通常情况下,HTML 会裁掉文档中的空格。假如你在文档中连续输入 10 个空格,那么 HTML 会去掉其中的9个。如果使用 ,就可以在文档中增加空格。
最常用的字符实体
显示结果描述实体名称实体编号
空格
< 小于号< <
> 大于号> >
& 和号& &
" 引号" "
' 撇号' (IE不支持) '
其他一些常用的字符实体
显示结果描述实体名称实体编号
¢分¢ ¢
£镑£ £
¥日圆¥ ¥
§节§ § ?版权© © ?注册商标® ® ×乘号× × ÷除号÷ ÷
HTML框架代码全集
框架可以生成独立变化和滚动的窗口,从而能将一个窗口分割为若干个字窗口。在每一个字窗口中显示一个HTML文档。我们这回就来看看多文档的基本结构和子窗口之间的交叉链接。 一,基本结构HTML使用