理解css基础| 青训营笔记

112 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第一天

本篇笔记的基本内容

  • css的基本定义
  • 冲突筛选规则

CSS定义

css(层叠样式表)定义了如何显示html的元素,我们可以使用css来更改html元素的呈现效果。比如更改字体大小、颜色,添加动画等。
对于一个标题:

<body>
	<h1>绿色</h1>
<body>

使用以下css代码可以将其颜色改变为绿色:

h1 {color:green;}

冲突筛选规则

image.png 参考文章:zhuanlan.zhihu.com/p/66972942

对于有冲突的css语句,需要按顺序经过以下三层筛选:

  • 筛选来源
  • 筛选针对性
  • 语句出现的顺序

来源

这一层也有三个优先级:

  • 带有 !important 修饰的,代表最高的优先级。
  • 用户在 html/css 源代码中书写的, 代表第二高的优先级。
  • 浏览器中默认的css样式, 优先级最低。比如字体在浏览器中的默认字体为黑色,而链接则为蓝色加下划线。

针对性

在这一层,有一个共识:针对性越强,优先级越高。
一般在css中,针对性分为四个层级:

  • h1 { color: red; } 针对的是所有的 h1 元素。 h1 这种形式被称为 tag selector(或 type selector) (标签选择器)
  • .title { color: green; } 针对的是 class=title 的所有元素。 .title 这种形式被称为 class selector (类选择器)
  • #page-title { color: blue; } 针对的是 id=page-title 的这一个元素。 #page-title 这种形式被称为 ID selector (ID选择器)
  • HTML 中写
    <p style="color:orange; font-weight:bold;">some text</p>
    的话,这种写法称为 inline style, 针对的就是当前这个 p 元素。

以上四个层级的针对性从上至下依次增强,也就是说,优先级的顺序是:inline style > ID选择器 > 类选择器 > 标签选择器。

出现顺序

这层的优先级判断方法很简单,谁在 css源代码中最后出现,谁的优先级就高。

总结

  • 使用css可以优化html的样式
  • 注意控制选择器的优先级

注意事项

  • 使用 @import 可以将一张样式表导入另一张样式表中。比如:
@import "hello.css";

@import url("hello.css"); 

均可

  • 简写属性遵循TRouBLe(top/right/bottom/left)的顺序规则