深入理解CSS| 青训营笔记

69 阅读3分钟

深入理解CSS

课程概述

为什么学习CSS?

解决网页排版布局和装饰问题第一个有层叠概念的语言,对CSS2的修正,扩展代替CSS2,表现和内容分离,规范模块化发展样式丰富、酷炫提高网站的可维护性以及性能速度。

一、基础知识

Cascading规则、选择器、继承、值和单位、盒模型

(1)层叠、优先级

叠层-解决冲突

样式表-规则声明的集合-产生冲突-解决冲突

层叠三大规则-样式表来源-选择器优先级-源码位置

样式表来源重要排序

用户样式表

作者样式表

作者样式表中的!important

用户样式表中的!important

用户代理样式表中的!important

(2)       选择器有哪些?基础选择器

#id——ID选择器。Tagname—一类型选择器或者标签选择器。62.29.class一―类选择器。*――通用选择器。该选择器匹配所有元素组合器

子组合器(>)—―匹配的目标元素是其他元素的直接后代。如:.parent >.child。相邻兄弟组合器(+)—―匹配的目标元素紧跟在其他元素后面。如: p +h2。

通用兄弟组合器(~)-―匹配所有明随左地宁元去心儿'口l。如: p +h2。6228复合选择器多个基础选择器可以连起来使用,如:h1.page-header。

属性选择器

通过约束属性值, div[data-title=“aaa"]伪类选择器

选中处于某个特定状态或相对于其父级或兄弟元素的位置的元素。如:first-child ,:hover伪元素选择器

匹配在文档中没有直接对应HTML.元素的特定部分,或插入内容。如 h2:: first-letter, div:.before

逻辑选择器

较新的选择器:is( :has() :where() :not()

(3)       叠层、优先级

由叠层概念引申出的CSS代码good practice

选择器尽量少用ID

尽量不要用!important

自己的样式加载在引用库样式的后面

继承:

大部分具有继承性的属性跟文本相关:

color、font、font-family、font-size、font-weight、font-variant、font-style、line-height、letter-spacing、text-align、text-indent、text-transform、 white-space以及word-spacing

还有少部分列表、表格的属性

可以使用inherit关键字显式指定一个属性值从其父元素继承。

CSS的值和单位

单位:长度:绝对长度和相对长度

       角度:deg,grad,turn,rad

       时间:s ms

       分辨率:dpi,dpcm,dppx

值:文学类:比如像initial这种关键字,颜色,位置

数值类:比如z-index:1这种数值或者带有单位的数值、百分比等

函数生成:比如calc(),min(),max()等

(4)盒模型

浏览器根据视觉格式化模型将所有元素表示为盒子模型,CSS通过盒模型layout

控制盒子类型

display: block、inline、inline-block、flex、...控制盒子大小&计算方式

width,height ...

box-sizing : content-box、border-box

控制盒中内容流

overflow: auto、scroll、hidden、 ...

控制定位

position: static、relative、absolute、fixed、sticky

是否可见

visibility: visible、hidden、...