# flex: 1 的完整写法是什么?分别代表什么意思?

flex 属性是 flex-grow flex-shrink flex-basis 的简写,默认值为 0、1、auto。

  • flex-grow 定义项目的放大比例,默认为 0,即如果存在剩余空间,也不放大。

  • flex-shrink 定义项目的缩小比例,默认为 1,即如果空间不足,该项目将缩小。

  • flex-basis 给上面两个属性分配多余空间之前,计算项目是否有多余空间,默认为 auto,即项目本身的大小。

flex: 1 的完整写法如下:

flex-grow: 1;
flex-shrink: 1;
flex-basis: 0%;
1
2
3

# 绝对定位是相对于什么进行定位的

绝对定位是相对于最近的已定位祖先元素进行定位。一个元素被称为已定位的条件是其 position 属性被设置为 relative(相对定位)、absolute(绝对定位)、fixed(固定定位)或 sticky(粘性定位)中的任何一个。

如果元素没有已定位的祖先元素,那么它的定位将相对于初始包含块(initial containing block)进行。在大多数情况下,初始包含块是 <html> 元素。因此,如果整个页面都没有相对定位的元素,绝对定位的元素将相对于 <html> 元素进行定位。

# 元素的 padding 值如果是百分比,是相对于什么来计算的

元素的 padding 值如果设置为百分比,它是相对于包含块的宽度计算的。包含块是指包含当前元素的最近的块级祖先元素。

# CSS 实现水平垂直居中

十种方式实现水平垂直居中 (opens new window)

# CSS 样式优先级

CSS 样式优先级 (opens new window)

上次更新时间: 2024年02月21日 01:55:24