这是我参与8月更文挑战的第21天,活动详情查看:8月更文挑战
基础知识
- 外部样式表是指将CSS编写在扩展名为
.css
的单独文件中,并从HTML<link>
元素引用它的情况 - 内部样式表是指不使用外部CSS文件,而是将CSS放在HTML文件
<head>
标签里的<style>
标签之中。 - 当浏览器遇到无法解析的CSS选择器或声明的时候,浏览器什么也不会做,继续解析下一个CSS样式。
- CSS的属性的值可以是相对简单的关键字或数值,也有一些可能的值以函数的形式出现。例如,
width: calc(90% - 30px);
transform: rotate(0.8turn)
}
- @规则。
@import
(将额外的样式表导入主CSS样式表 ) ;@media
(使用媒体查询)
@import 'styles2.css';
body {
background-color: pink;
}
@media (min-width: 30em) {
body {
background-color: blue;
}
}
// 如果浏览器的宽度大于30em,则背景色将为蓝色
CSS工作原理
当浏览器展示一个文件的时候,它必须兼顾文件的内容和文件的样式信息。当浏览器载入HTML文件后,会将HTML转化成DOM;接着,浏览器拉取该HTML相关的大部分资源,比如嵌入到页面的图片、视频和CSS样式,JavaScript则会稍后进行处理。
浏览器拉取到CSS之后会进行解析,根据选择器把他们分到不同的“桶”中,应用在对应的DOM的节点中,并添加节点依赖的样式(这个中间步骤称为渲染树);渲染树会依照应该出现的结构进行布局;网页展示在屏幕上(这一步被称为着色)。
继承
CSS的继承需要在上下文中去理解。有一些属性是可以被子元素继承的,比如font,有一些则不能,比如width。
为了控制继承,每个CSS属性的值都可以是下列值。
inherit
:设置该属性会使子元素属性和父元素相同。实际上,就是 "开启继承".initial
unset