css基础

2023-01-29  本文已影响0人  欢西西西

1. 盒子模型

问题:从这4个维度看块级元素和行内元素的区别

- -inline -block
-content 设置width和height无效,width由内部元素决定 width会自动铺满父元素宽度
-padding -上下padding无效 -
-border - -
-margin -上下margin无效 -
-截图 image.png -
-测试 当inline内部包含了block元素时:① inline可以设置高度,上下padding和margin也有效 ②如果inline不设置高度的话,高度被block元素撑开

问题:background-color的填充区域

填充区域是content-padding-border。将border设置为dashed就能很清晰地看出是填充了border区域的

image.png

问题:inline-block

既有inline元素的同行属性,又有block的宽高属性

问题:获取宽度-offsetWidth

image.png image.png image.png

2. BFC(block formatting context,块级格式化上下文)

具有BFC特性元素的子元素不会受到外界元素的影响,也不会影响外部元素

一般我们可以用来解决margin重合问题和清除浮动、盒子高度塌陷问题

那什么时候会触发BFC呢?常见的情况如下:
<html>根元素
overflow的值为auto、scroll或hidden(本身还是个普通元素,保留了块状元素的流体特性)
display的值为inline-block、flex、table-cell、table-caption
float的值不为none (浮动元素本身BFC化,然而浮动元素有破坏性和包裹性,失去了元素本身的流体自适应性)
position为absolute或者fixed (元素脱离文档流)

问题:元素脱离文档流有哪些方式?

问题:position: sticky会触发BFC吗?

不会脱离文档流,也不会触发BFC。sticky的特性只会在它的容器里生效,内部A元素被粘性定位时,后续元素仍按照A未定位时的位置来确定

3. 长度单位

单位 解析
mm / cm 毫米 / 厘米
in 英寸 (1in = 96px = 2.54cm)
单位 解析
px 像素,相对于设备独立像素
% 百分比,相对于父元素宽度
em / rem 相对于当前元素/根元素font-size
vw / vh 相对于viewport的宽度 / 高度,1vw=viewport的1%
vmin / vmax vw和vh中较小/大的那个

4. opacity与rgba透明的区别

5. 父元素高度塌陷

父元素没有设置足够的高度,内部元素又设置了浮动,父元素中又没有其他更高的非浮动的元素,就会出现子元素跳出父元素的边界的情况。

6. 伪类和伪元素

伪元素:创建不存在文档中的“假元素”,::before ::after ::selection(设置选中状态的样式) ::first-letter ::first-line ::placeholder()
伪类:用来选择符合某种“状态”的元素 :hover,:first-child,nth-child(odd) 奇数子元素 :not()

7. css选择器的解析

从右向左
所以也应尽可能减小右侧选择器的范围

8. 画一个扇形

上一篇 下一篇

猜你喜欢

热点阅读