笔者在学习该课程后,对课程中的部分知识点进行总结梳理,给出自己的理解,并给他同学一些建议
选择器的优先级
由选择器的特异度决定,特异度可以表示为选择器的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布局
盒模型
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
属性值的确定灵活组合,从整体到具体
margin:
指定元素四个方向的外边距
取值为长度、百分数、auto
百分数相对于容器宽度
课程总结和建议
本课程在CSS的基础知识上,深入学习CSS的继承、初始值、布局、盒模型等特性,面向的对象为有CSS基础的同学,入门的同学可以提前学习CSS中的基础概念CSS - 学习 Web 开发 | MDN (mozilla.org)再观看此视频。
部分截图、内容来源于课程