理解CSS | 青训营笔记

182 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天

在这之前,我也学过CSS,但在视频中还是有些我从未听闻的知识点,在此记录一些我印象不深或认为较为重要的点。

课堂笔记

CSS选择器

属性选择器

<style>
a {
  text-decoration: none;
}
a[href^="#"] {
  color: red;
}
a[href$=".jpg"] {
  color: green;
}
</style>
<a href="#10086">一一一</a>
<a href="10086.jpg">二二二</a>

image.png

href^="#":用来匹配以#开头的href属性值

href$=".jpg":用来匹配以.jpg结尾的href属性值

伪类选择器

状态性 对于处于某种状态的标签给予样式

例如:

a:active 匹配被点击的链接

input:checked 匹配处于选中状态的input元素

结构性 根据元素在父亲节点中的相对位置给予样式

例如:

li:first-child 匹配父元素中的第一个子元素li

p:nth-child(n) 匹配父元素中的第n个子元素p

组合选择器

image.png

CSS选择器优先级

image.png 优先级:id选择器>类(伪类)选择器>标签选择器 简单理解:标签选择器的权重为1,类(伪类)选择器的权重为10,id选择器的权重为100,相加得CSS选择器的总权重,选择器权重越高,越优先显示。

CSS继承

在CSS中,某些属性会自动继承其父元素的计算值,除非显式指定一个值。

显式继承

* { box-sizing: inherit; } 
html { box-sizing: border-box; } 
.some-widget { box-sizing: content-box; }

初始值

在CSS中,每个属性都有一个初始值

  • background-color的初始值为transparent
  • margin-left的初始值为0

可以使用initial关键字显式重置为初始值

  • background-color:initial

CSS求值过程

原图地址:cdpn.io/webzhao/deb…

image.png

image.png

计算值:能根据CSS中的属性值计算出来的值,如浏览器默认 ‘font-size’ 是 ‘16px’,所以 ‘1em’ 计算值应该是 ‘16px’。

使用值:无法HTML和CSS计算出来的值,如设置body的宽度为60%,只有在窗口的大小确定下来以后才能计算得出body的宽度。

CSS布局

image.png

CSS布局这块理解得还不够深入,要多结合MDN文档学习