CSS的三大样式你了解多少
目录
- CSS样式
- 行内式
- 内部式
- 外部式
- 多重样式优先级
- 总结
CSS样式
行内式
又叫:内联样式、行内样式、嵌入式样式
<!-- style作为属性直接写在标签后面, style属性可以包含任何 CSS属性 --> <div style="font-size: 40px; color: #FF0000;">我是div</div> <div style="font-size: 40px; color: blue;">我是div2号</div> <p style="font-size: 40px; color: orange;">我是段落</p>
- 当样式仅需要在一个元素上应用一次时,要使用内联样式
- 缺点
- 将表现和内容混杂在一起,结构样式没有分离,不利于后期维护
- 样式不能重复使用 ( 推荐不使用 )
内部式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>内部样式表</title> <!-- 2、在head中间创建一个style标签 --> <style type="text/css"> /* 3、在style标签中,就可以直接书写css代码,进行修饰 */ p { color: red; font-size: 30px; /* 在书写css的时候,如果没有特殊规定, 数值必须带单位(html不必),px:像素 */ } div{ color: blue; font-size: 80px; } </style> </head> <body> <!-- 1、先创建想要修饰的对象 --> <div>CSS基础学习</div> <p>我是段落</p> </body> </html>
- 当单个文档需要特殊的样式时,使用内部样式表
- 适合案例、短小的页面开发
- 使用
<style>
标签在文档头部定义内部样式表 <style>
标签放在哪里都可以,不一定要放在<head>
里面。之所以放在<head>
里面,是为了让浏览器在加载的时候先加载CSS,这样的话浏览器就会先心里有数,知道谁要修饰成什么样式,等加载到html之后就可以直接把样式给到相关对象上。- 优点:结构样式分离,好维护
- 缺点:只能在一个页面中使用CSS样式
外部式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>外部样式表</title> <!-- 3、利用<link>标签或者import引入css文件 --> <!-- css外部引入方式1(推荐使用) --> <!-- rel: relationship; rel属性是必须的, 规定当前文档与被链接文档/资源之间的关系 stylesheet:样式表 --> <link rel="stylesheet" type="text/css" href="外部样式.css" /> <!-- link的另一种用法,链接标题<title>前面的小图标 --> <link rel="icon" href="images/icon.jpg" /> <!-- css外部引入方式2 --> <style type="text/css"> @import url("demo.css"); /* @import:导入,引入; */ </style> </head> <body> <!-- 1、先创建想要修饰的对象 --> <div>CSS基础学习外部样式</div> <div>CSS基础学习外部样式</div> <p>我是段落</p> <p>我是段落</p> <!-- 2、新建一个css文件 --> </body> </html>
- 当样式需要应用于很多页面时,外部样式表将是理想的选择
- 适合整站开发、比较长的页面开发
- 在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用
<link>
标签链接到样式表,浏览器会从CSS文件中读到样式声明,并根据它来格式文档 - 优点
- 结构化样式分离,好维护
- 样式重用,可以多个页面使用
<link>
和import
的区别- 本质上来看,
<link>
是HTML的标签,而import
是CSS提供的一种方式 - 加载顺序上
<link>
是当页面 ( body里面的内容 ) 被加载的时候 ( 也就是被浏览者浏览的时候 ),<link>
引入的CSS会同时被加载import
引入的CSS会先等页面加载完毕之后再加载,如果用这种加载方式,会在网速比较慢的时候,出现闪烁的效果,影响用户体验
- 兼容性上的区别
@import
是CSS2.1提供的,所以老的浏览器不支持,@import
只有在IE5以上的才能识别<link>
标签无此问题
- 使用DOM
- 当使用JavaScript控制DOM去改变样式的时候,只能用
<link>
标签 - 因为
@import
不是DOM可以控制的
- 当使用JavaScript控制DOM去改变样式的时候,只能用
- 本质上来看,
多重样式优先级
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>多重样式优先级</title> <link rel="stylesheet" type="text/css" href="demo.css"/> <style type="text/css"> div{ color: blue; } p{ color: blue; } </style> <!-- demo.css里面p标签设置的是红色 这里<style>距离<p>标签比<link>近,所以显示的是蓝色字体 --> </head> <body> <div style="font-size: 50px; color: orange;"> 解析规则第一条测试 </div> <p> 解析规则第二条测试:外部和内部样式表同时使用 </p> </body> </html>
- 多重样式优先级
- 同时使用内部、外部、行内样式表修饰同一个标签的时候,优先级最高的是行内样式表,即显示结果是行内样式
- 当外部和内部样式表同时使用的时候,哪个css样式距离标签近就最终显示哪个样式
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
赞 (0)