简述在html中加入css的几种方式,CSS文件在HTML中的几种引用方式

CSS与HTML文档结合的4中方法:

1 使用元素链接到外部的样式文件

2 在元素中使用"style"元素来指定

3 使用CSS "@import"标记来导入样式表单

4 在内部的元素中使用"style"属性来定义样式

一个例子:

css demo

第一种是直接在html页面上进行css书写,而第二种和第三种是采用外部引用样式单独提取文件。

问题1.到底link和@import有什么区别?

我们先来看看他们的定义

link元素

HTML和XHTML都有一个结构,它使网页作者可以增加于HTML文档相关的额外信息。这些额外资源可以是

样式化信息(CSS)、导航助手、属于另 外形式的信息(RSS)、联系信息等等。

@import

指定导入的外部样式表及目标设备类型。

其实link和@import的最根本区别就是,link是一个html的一个标签,而@import是css的一个标签,

link除了调用css外还可以有其他作用譬如声明页面链接属性,声明目录,rss等等,而@import就只能

调用css。如果单独从外部引用css来说,他们的作用是基本一样,只不过上面的老大不一样而已。:)

问题2.link合import到底那个更好?

上面说了因为上面的老大不一样,所以在使用上就会有一些细节的区别,不能说总体谁好谁坏,

只能说具体情况具体分析。

1)我要用javascript进行样式选择;

这个时候就要用link,因为link是html元素,可用javascript去控制dom元素最后达到改变样式的效果。

看下列代码

title="orange" />

title="blue" />

title="pink" />

title="slate" />

这是一段很经典的改变页面风格的代码,因为我们今天主要讲的是link和import,所以我这里只列出了

引用css部分。

我们先来看看link里面个个属性都是表达了什么意思:

[1]rel:用来声明链接对象的作用或者类型。

譬如上面的的代码:"stylesheet"表示链接一个默认的css,而"alternate stylesheet"折表示备选的

css

[2]href:这个就不用我说了吧,引用css的文件路径。

[3]tyle:文件类型

[4]media:应用的设备,"screen"是说明应用在屏幕上。

[5]title:是css的名称。

这段代码中一共有5个css,第一个是基本样式,而其他四个是风格样式,利用javascript去控制默认显示

的样式title就ok了。

2)我要在应用打印样式;

打印样式顾名思义就是打印页面时候的样式。

这个样式在普通浏览下是没有效果的,只有在打印的时候生效。

如果要为页面单独引用打印样式的话,link和@import都可以的。

link代码

@import代码

另外对于css来说还有一种方式@media:

@media print {

@import "print.css"

}

用@media先制定设备为 print,然后再用@impor链接

3)我要引用多个样式;

如果要在一个页面上引用多个样式组合产生效果的话,永link和@import也是都可以的。

link代码

@import代码

不过个人觉得,用@import引用多文件的时候更加清晰一些

另外对于多样式还有一种link于@import的组合用法。

先用link引用一个css文件

然后在这个css文件里面再引用。

这样做的好处是,如果你一个站点所有页面引用的样式都是一样的,

而有又多个css,如果你每个页面都加4,5个一样的css样式,却是浪费代码和精力,

所以莫不如这样做,所有一个页面都引用一个css,然后一个css在引用多个css,方便

管理和维护。

加载css link与@import的区别:其实 link 与 @import 在显示效果上还是有很大区别的,基本上来看

link 的加在会在页面显示之前全部加在完全,而 @import 会是读取完文件之后加在,所以如果网速很

好或很快的情况下,会出现先开始无css定义,而后加载css定义。@import加载页面时开始的瞬间会有

闪烁 (无样式表的页面),然后才恢复正常(加载样式后的页面),Link没有这个问题。

他们从方法上是一样的,只是在浏览器识别上有点差距,link在支持CSS的浏览器上都支持而@import只

在5.0一行的版本有效,而且还能用 于浏览器过滤也就是hack的使用,兼容一些老版本的浏览器。所以

最好还是使用link通用型更强,但是对于高版本的浏览器,也就是现在的浏览器来说,其 实都一样,

这是个没有太大意义的区分 。

@import最优写法:@import的写法一般有下列几种:

@import 'style.css' //Windows IE4/ NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别

@import "style.css" //Windows IE4/ NS4, Macintosh IE4/NS4不识别

@import url(style.css) //Windows NS4, Macintosh NS4不识别

@import url('style.css') //Windows NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不识别

@import url("style.css") //Windows NS4, Macintosh NS4不识别

由上分析知道,@import url(style.css) 和@import url("style.css")是最优的选择,兼容的浏览器

也是最多了。而从字节优化的角度来看@import url(style.css)无愧于最值得推荐的写法。

CSS代码格式可以缩减样式表文件的大小

在编写CSS样式表的时候,为了能够方便以后阅读样式定义代码,我们会将每一条代码写在一行上。但

是我发现这样写似乎并不好,因为CSS代码毕竟不像程序 代码有很强的逻辑性,它主要以名称和值的对

应方式写的。所以写在同一行上不会特别影响阅读。反而会减少样式表文件的尺寸,因为减少了很多换

行符和间隔符。 我测试了一下发现文件的尺寸可以减少12%左右。如果样式表文件比较大或者文件比较

多的时候就会明显减少客户端的下载量,提高了网页的打开速度。

注意样式名称的冒号和后面的值之间不要写空格,只是在两个样式之间用空格分割。

具体格式如下:

程序代码:

div {margin:20px; padding:10px; background-color:#F00;}

CSS选择器是用来选择HTML文档的元素,并对这些元素应用样式CSS选择器有多种类型,包括: 1. 元素选择器:根据元素的标签名称来选择元素,例如`p`选择器可以选择所有的`<p>`元素。 2. 类选择器:根据元素的class属性的值来选择元素,例如`.red`选择器可以选择所有class属性值为`red`的元素。 3. ID选择器:根据元素的id属性的值来选择元素,例如`#header`选择器可以选择id属性值为`header`的元素。 4. 属性选择器:根据元素的属性值来选择元素,例如`[type="text"]`选择器可以选择所有`type`属性值为`text`的元素。 5. 伪类选择器:根据元素在特定状态下的情况来选择元素,例如`:hover`选择器可以选择鼠标悬停在该元素上时的元素。 6. 伪元素选择器:用于向某些选择器添加一些特殊效果,例如`::before`选择器可以在元素的前面插入一个内容。 以下是一些CSS选择器的示例: ``` /* 元素选择器 */ p { color: blue; } /* 类选择器 */ .red { color: red; } /* ID选择器 */ #header { font-size: 24px; } /* 属性选择器 */ [type="text"] { border: 1px solid gray; } /* 伪类选择器 */ a:hover { text-decoration: underline; } /* 伪元素选择器 */ p::before { content: ">> "; } ``` 以上代码,`p`选择器选择所有的`<p>`元素,并将它们的文本颜色设置为蓝色。`.red`选择器选择所有class属性值为`red`的元素,并将它们的文本颜色设置为红色。`#header`选择器选择id属性值为`header`的元素,并将它们的字体大小设置为24px。`[type="text"]`选择器选择所有`type`属性值为`text`的元素,并将它们的边框样式设置为1像素的灰色实线。`a:hover`选择器选择鼠标悬停在链接上的元素,并将它们的文本下划线设置为实线。`p::before`选择器向所有`<p>`元素的前面插入一个包含`>> `文本内容的元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值