2.引入方式
一般的方式有4种
行内样式
内嵌样式
外链样式
导入样式
2.1行内样式
即是在标签里面添加样式,与<style>结合
下例以<p>标签为例
<p style="text-indent: 2em">这是一个段落</p>
如图所示,这个段落缩进了2个字符
2.2内嵌样式
将<style>以及属性的内容写在<head></head>标签内
下例以<p>标签为例
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
<style type="text/css">
p{
text-indent: 2em;
color: red;
}
</style>
</head>
<body>
<p>这是一个段落</p>
</body>
</html>
如图所示:这个段落缩进了2个字符,并且文字的颜色是红色
优点:速度快,所有的 CSS 控制都是针对本页面标签的,没有多余的 CSS 命令;再者不用外链 CSS 文件。直接在 HTML 文档中读取样式
缺点:改版麻烦些,单个页面显得臃肿,CSS 不能被其他 HTML 引用造成代码量相对较多,维护也麻烦些
2.3外链样式
将css内容单独写在css文件中,用link标签的href属性进行链接
下例以<p>标签为例
‘这是.html的内容
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<p>这是一个段落</p>
</body>
</html>
这是.css里面的内容
p{
text-indent:2em;
color: red;
font-size: 20px;
}
链接式可以说是现在占统治地位的引入方法。如同 IE 与浏览器。这也是最能体现 CSS 特点的方法;最能体现 DIV+CSS 中的内容与显示分离的思想,也最易改版维护,代码看起来也是最美观的一种。
如果希望用 javascript 来动态决定引入哪个 css 文件,则必须使用链接式才能实现。大多数的网站还是比较喜欢使用链接的方式引用外部 CSS 的。
2.4导入样式
下例以<p>标签为例
这是.html的内容
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
<style type="text/css">
@import url("style.css");
</style>
</head>
<body>
<p>这是一个段落</p>
</body>
</html>
这是.css的内容
p{
text-indent:2em;
color: red;
font-size: 20px;
}
采用导入式和链接式的区别:
1、导入式:会在整个页面装载完成后再装载 CSS 文件,对于有的浏览器来说,在一些情况下,如果网页文件的体积比较大,则会出现先显示无样式的页面,闪烁一下之后再出现设置样式后的效果,从浏览者的感受来说,这是导入式的一个缺陷。
2、链接式:会在装载页面主体部分之前装载 CSS 文件,这样显示出来的网页从一开始就是带有样式效果的。
对于一些比较大的网站,为了便于维护,可能会希望把所有的 CSS 样式分类别放到几个 CSS 文件中,这样如果使用连接式引入,就需要几个语句分别导入 CSS 文件。如果要调整 CSS 文件的分类,就需要同时调整 HTML 文件,这对于维护工作来说,是一个缺陷,如果使用导入式,则可以只引进一个总的 CSS 文件,在这个文件中再导入其他独立 CSS 文件;而链接式则不具备这个特性。
因此给大家的建议是:如果仅需要引入一个 CSS 文件,则使用链接方式,如果需要引入多个 CSS 文件,则首先用链接方式引入一个“目录”CSS 文件,这个“目录”CSS 文件中再使用导入式引入其他 CSS 文件。
link 和@import 的区别
Quote link的定义
HTML 和 XHTML 都有一个结构,它使网页作者可以增加于 HTML 文档相关的额外信息。这些额外资源可以是样式化信息(CSS)、导航助手、属于另外形式的信息(RSS)、联系信息等等。
Quote @import 的定义
指定导入的外部样式表及目标设备类型。其实 link 和@import 的最根本区别就是,link 是一个 HTML 的一个标签,而@import 是 CSS 的一个标签,link 除了调用 CSS 外还可以有其他作用譬如声明页面链接属性,声明目录,rss等等,而@import 就只能调用 CSS。如果单独从外部引用 CSS 来说,他们的作用是基本一样,只不过上面的老大不一样而已。
link和import哪个更好些?
上面说了因为上面的老大不一样,所以在使用上就会有一些细节的区别,不能说总体谁好谁坏,只能说具体情况具体分析。
1、如果要用 javascript 进行样式选择:
这个时候就要用 link,因为l ink 是 html 元素,可用 javascript 去控制 dom 元素最后达到改变样式的效果。
2、如果要应用打印样式;
打印样式顾名思义就是打印页面时候的样式。
这个样式在普通浏览下是没有效果的,只有在打印的时候生效。
如果要为页面单独引用打印样式的话,link 和@import 都可以的。
3、如果要引用多个样式;
如果要在一个页面上引用多个样式组合产生效果的话,link 和@import 也是都可以的。
最后,其实这种@import 文件导入的方式已经很少用了,建议用 link 方式。原因是 link 载入时是和 HTML 的载入同步加载的,而@import 则是在页面内容载入完成之后再引用的。如果网速慢的话,可能会导致页面的样式混乱。另外使用@import 时要注意添加地方,在 CSS 手册中提到:该规则必须在样式表头部最先声明。并且其后的分号是必需的,如果省略了此分号,外部样式表将无法正确导入,并会生成错误信息。IE 使用@import无法引入超过35条的样式表。