深入CSS(上) 学习笔记 | 青训营

65 阅读2分钟

 深入CSS (上) - 掘金 (juejin.cn)

笔者在学习该课程后,对课程中的部分知识点进行总结梳理,给出自己的理解,并给他同学一些建议

选择器的优先级

选择器的特异度决定,特异度可以表示为选择器的id,(伪)类,标签的数量乘以其权重之和,其中权重递减(可以为100,10,1)

引申思考:在实际开发中,可以利用选择器的优先级实现选择器的覆盖,提高代码的复用性

继承

定义:某些属性会自动继承其父元素的计算值,除非显示指定一个值

一般来说,文字相关属性(颜色)可继承,盒模型相关属性(宽度)不可继承

显示继承:对于不可继承的属性,可以使用inherit关键字显示继承

如:下面代码中的box-sizing属性

*{

        box-sizing:inherit;

    }

    html{

        box-sizing:border-box;

    }

    .some-widget{

        box-sizing:content-box;

}

  引申思考:对比c++语言中的继承(继承成员(属性),而不是继承值)

初始值

每个属性都有初始值(默认值)

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

background-color:initial

  引申思考:类比c++语言中的类型默认值

布局( Layout

定义:确定内容的大小和位置的算法;依据元素、容器、兄弟结点和内容等信息来计算

布局相关技术:常规流、浮动、绝对定位

常规流:行级、块级、表格布局、FlexBox、Grid布局

盒模型

image.png

Width

指定content box的宽度

取值为长度、百分数、auto

Auto由浏览器根据其他属性确定

百分数相对于容器的content box的宽度


height

指定content box的宽度

取值为长度、百分数、auto

Auto由浏览器根据其他属性确定

百分数相对于容器的content box的宽度

容器有指定的高度时,百分数才生效


padding

指定元素四个方向的内边距

百分数相对于容器宽度


border

指定容器边框样式、粗细、颜色

三种属性:border-width,border-style,border-color

四个方向:border-top,border-right,border-bottom,border-left

image.png

属性值的确定灵活组合,从整体到具体


margin

指定元素四个方向的外边距

取值为长度、百分数、auto

百分数相对于容器宽度

课程总结和建议

本课程在CSS的基础知识上,深入学习CSS的继承、初始值、布局、盒模型等特性,面向的对象为有CSS基础的同学,入门的同学可以提前学习CSS中的基础概念CSS - 学习 Web 开发 | MDN (mozilla.org)再观看此视频。

部分截图、内容来源于课程