CSS样式 | 青训营笔记

104 阅读2分钟

css基础知识

css又叫层叠样式表(cascading style sheets),可见css是一个样式表,样式表又叫规则声明的集合,常常会产生冲突,为了解决冲突,就引入了层叠的概念。
那么层叠是如何解决样式表的冲突的呢? 层叠,它作为一种规则,用于决定当多个CSS规则的属性值冲突时,哪个规则将会被应用到元素上。具体来说,当多个规则定义了相同的属性,而且这些规则都适用于同一个元素时,就会发生层叠。 下图表示层叠的优先级排序。
截屏2023-04-24 16.46.21.png

  • css的盒模型

image.png
以下是几个盒模型相关的代码展示

截屏2023-04-24 20.15.25.png 针对与margin属性值可为负数的特点,讲师是不推荐在项目中大量使用,因为大量使用将不利于后续的维护,并且降低可读性。
margin的负值最终减少的是外界可感知的宽高

布局与定位

在css 3 之前,我们常用的布局分为三类:Normal Flow(常规流)、Float(浮动流)、Positioning(定位流)。 我们通常使用浮动和定位来脱离文档流,也就是布局中的常规流。 通常使用float属性进行横向布局,使用position属性的fixed和absolute进行自由定位、覆盖等。 在css 3 之后,新增了一下几种布局: 截屏2023-04-26 10.35.56.png

常规流布局

常规布局流分为块级格式化上下文(BFC)和内联格式化上下文(IFC)
巧妙利用BFC解决外边距塌陷问题: 截屏2023-04-26 10.44.23.png 内联格式化上下文相关case: 截屏2023-04-26 10.47.33.png

定位Position

position 属性规定应用于元素的定位方法的类型。

有五个不同的位置值:

  • static
  • relative
  • fixed
  • absolute
  • sticky

元素其实是使用 top、bottom、left 和 right 属性定位的。但是,除非首先设置了 position 属性,否则这些属性将不起作用。根据不同的 position 值,它们的工作方式也不同。
position的属性值默认为static

层叠上下文

上面提到position,那么就可以引出z-index属性了。

Z-index 仅能在定位元素上奏效(例如 position:absolute;)!

Z-index可为负。