HTML中引入CSS的方式

一、认识CSS

  • CSS:层叠样式表(Cascading Style Sheets)
  • 样式表:如果把HTML比作人,那么样式表就是衣帽服饰,就是用来打扮HTML外观的(俗话说人靠衣服,网页靠CSS,才能变得漂亮)
  • 内容与样式分离:HTML代码与CSS代码分离,让它们各自去做擅长的事情
  • HTML控制结构和内容;CSS控制样式
  • 这样有利于代码的维护
  • 举个栗子:存在已久的QQ空间的装扮功能就是内容与样式分离的最好体现
    当我们点击切换不同的皮肤时,空间页面会显示不同的主题样式,这就是在给网页更换皮肤啊
 既然将HTML与CSS分离,那么又如何让它们精诚合作呢?向下看

二、四种CSS的引入方式

1. 内联样式(行内式)

即:在html标签内的style属性中设定CSS样式,例如:

<p style="color: red">我是段落</p>

注:这种方式不推荐使用,因为它只能改变当前标签样式,多处使用会导致代码的可维护性极差

2. 内部样式(嵌入式)

即:在html内的head头部内的style标签对中设定CSS样式,例如:

<head type="text/css">
   <style>
        p{
            color: red;
        }
    </style>
</head>

注:这种方式使html内容结构和css样式分开,便于阅读且代码比较集中,但CSS样式只对当前页面有效。
当多个页面需要引用同一个CSS样式时,修改CSS样式将十分麻烦,此时不利于代码维护,可维护性变差。

3. 外部样式(链接式:link)

即:使用html的link标签引入一个外部独立的 .css 文件
link标签放在html文件内的head头部中,例如:

<head>
  <link rel="stylesheet" type="text/css" href="style.css"><!-- 注意href路径 -->
</head>

注:这种方式,CSS代码存储在一个外部独立的文件中,若要更换网站样式,只需修改CSS文件即可,不需改动html文件,所以采用这种方式使代码具有良好的可维护性

4. 外部样式(导入式:@import)

即:使用CSS的语法规则引入一个外部独立的 .css 文件
@import放在html文件head头部里的style标签内(@import也可以放在导入样式表的开头,去引用其他样式),例如:

<style>
    @import url("style.css");     <!-- @import放在style标签内 -->
</style>
@import url("style.css");         /* @import放在导入样式表的开头 */

注:这种方式与链接式link一样,将CSS代码存储在一个外部独立的文件中,也具有良好的可维护性,但这种方式也有缺点:白屏和无样式内容闪烁

嘿,除了以上引用的样式外,不要忽略 “ 浏览器的默认样式 ” 哦

三、 引用外部样式时:link 和 @import 的区别

1. 从属关系
  • link属于HTML的标签,通过 link 标签的 href 属性来引入外部文件;link不仅可以引入CSS样式表,还可以定义RSS、rel属性等
  • @import属于CSS的语法,@import语法只有一项作用:导入样式表
2. 加载顺序
  • 使用link标签引入的CSS样式在加载页面时被同时加载
  • 使用@import导入的CSS样式将在页面加载完毕之后才被加载
3. 兼容性
  • link 属于HTML标签,不存在兼容性问题
  • @import 是 CSS2.1 是在CSS2.1提出的,低版本的浏览器不支持,只可在 IE5+ 才能被识别
4. DOM可控区
  • link 支持使用Javascript控制DOM去改变样式(通过 JS 操作 DOM ,插入link标签来改变样式)
  • @import不支持使用Javascript控制DOM去改变样式( 由于DOM 方法是基于文档的,所以无法使用@import的方式插入样式)
5. 权重(若有兴趣自行查询它的原因)
  • link引入的样式权重大于@import引入的样式
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,816评论 1 92
  • 一.html引入css的方式 1.内联样式 在html标签内的style属性中设定CSS样式,例如: 你好 注:在...
    疯小儿阅读 921评论 0 1
  • 转载请声明 原文链接地址 关注公众号获取更多资讯 第一部分 HTML 第一章 职业规划和前景 职业方向规划定位...
    前端进阶之旅阅读 16,636评论 32 459
  • 1.摘要 在上一篇文章我们说了Arcgis生成离线地图的方法,但是一个地图类应用,只有底图是不够的。我们的应...
    sayyid阅读 13,196评论 4 1
  • 感恩41 感恩继续早起,而且比昨天早一点。每天进步一点点不错! 感恩站桩带来全身血液加速循...
    福星高照棒棒哒阅读 168评论 0 0