css面试总结,大厂考点

1.BFC

(1)、BFC的成因

- 根元素或者其他包含它的元素

-浮动元素

-绝对定位元素

-内联块

-表格单元格

-表格标题

-*具有overflow ,且不是 visible 的元素

-diplay:inline-block/table-cell/table-caption/flex/inline-flex/grid/inline-grid

(2)BFC的特点/规则

-内部的box将会独占宽度,且在垂直方向,轮流排列

-box 垂直方向的间距由 margin 决定,但在同一个BFC的两个相邻 box 的 margin ,会出现*** 边距折叠 ****现象

-每个 box 水平方向上左边缘,与BFC的左边缘对齐,即使存在浮动,也是如此

-BFC 区域不会与浮动元素重叠,而是依次排列。

-BFC区域内是一个独立的渲染容器,容器内的元素和 BFC 区域外的元素不会形成干扰

-浮动元素的高度也参与到BFC高度计算中。

经典css题

1.两个元素,左侧元素浮动,固定宽度,如何让右侧元素自适应宽度,答:根据BFC 的规则,将自适应的元素添加overflow:hidden;属性

2.

此时root的高度为0,为了解决这个问题,我们根据BFC的概念,做一下修改

3.边距折叠解决方法:将其中一个形成一个新的BFC,在其中一个元素添加一个父元素包裹,添加overflow:hidden;

2.背景、阴影、滤镜

background 非常常用的一个属性。

-X-color、-X-image、-X-repeat 图像的平铺方式、-X-attachment: scroll/fixed、-X-position、-X-clip、-X-size、-X-origin、-X-blend-mode

background的连续规则

background:color image repeat attachment position/size

阴影

box-shadow

offsetX 水平偏移

offsetY 垂直偏移

blur       模糊半径

spread 扩展距离

color 投影颜色

position 投影位置


text-shadow

offsetX 水平偏移

offsetY 垂直偏移

blur      模糊半径

color    投影颜色


3 .滤镜

filter 一共有十个函数

- blur 模糊

- brightness 两端

- contrast 对比度

- drop-shadow 阴影

- grayscale 灰度

- hue-rotate 色相旋转

- opaticy 透明度

- saturate 饱和度

- invert 反相

- sepia 褐色


4 .定位

属性

- fixed  相对于浏览器窗口定位

- absolute  相对于第一个父级元素不为static的元素定位

- relative  不改变文档流,直接基于原有位置切换

- static normal

- sticky  css3 fixed 和 relative 切换

第二部分

css 的优先级是什么?

!important > 内联样式(style="") > ID选择器 > 类选择器  =  属性选择器 = 伪类 > 标签选择器  =  伪元素选择器

*****层级选择器

- foo bar 后代选择器,元素的后代元素

- foo > bar 子代选择器,元素的子代元素

- foo + bar 相邻同胞选择器

- foo ~  bar 通用同胞选择器

- foo,bar 并集选择器

- foo.class 交集选择器

*****条件选择器

:lang 具体语言标记的元素

:dir() 指定编写方向的元素

:has 包括指定元素的元素

:is 指定条件的元素

:not 非指定条件的元素

:where 指定条件的元素

*****状态选择器

:active

:hover

:link

:visited

:focus

*****表单

:valid

:invalid

:checked

*****结构选择器

:root 文档的根元素

:empty 无子元素的元素

:nth-child(n) 元素中指定顺序索引的元素。 odd/even

:nth-last-child(n) 倒序索引

:first -child 元素中为首的元素

:last-child 元素中为尾的元素

:only-child 仅有该元素的元素

*****属性选择器

[attr] 指定属性的元素

[attr=val] 属性等于指定值的元素

[attr*=val] 包括指定元素的元素

[attr^=val] 包括开头

[attr$=val] 包括结尾

*****伪元素

::before 在元素前加入

::after 在元素后面加入

::first-letter

::first-line

::backdrop 全屏模式的元素(Document.fullscreen)

::placeholder

*****flex 布局

flex ---- flexble box 弹性布局。

display:flex

*****容器属性

flex-direction 主轴方向 

  --row   --- default

  ---column

flex-wrap 如果一个轴线排不下,如何换行

  -nowrap --- default

  -wrap

  -wrap-reverse

-flex-flow 是以上两者的简写

-justify-content

  -flex-start

  -flex-end

  -center

  -space-between

  -space-around

  -space-evenly

-align-items

-center

-flex-start

-flex-end

- center

-baseline 项目的第一行文字对齐

-stretch 占满高度

 *****项目属性

- order

- 属性定义项目的排列顺序,数值越小,排列越靠前,默认为0

  - flex-grow

  - 放大比例,剩余空间。默认为0

 - flex-shrink 

  - 缩小比例,剩余空间,默认为1

 - flex-basis

 -定义在分配多余空间之前,项目占据的空间。

 - flex

  -- flex:1 是什么意思

 - 如果直接赋值数字,flex:1 --- flex:1 1 0%;

- 如果给 auto,flex:auto --- flex: 1 1 auto

- flex:none  flex:0 0 none;

*****动画和变换

transform,transition,animation

*****transform

变换,2d变换,3d变化

- transform

-- flat

-- preserve-3d

*****translate 平移

--translate(x,y)

--translate3d(x,y,z) -- translateZ(0)

*****scale 缩放

scale(x,y)

scale3d(x,y,z)

*****skew 扭曲

*****rotate 旋转

rotate(x,y)

rotate(x,y,z,a)

*****transition 

 --transition-property

  -- all

  -- none

-- string

- transition-duration 

持续时间

-transition-timing-function

-transition-delay

*****animation

--name

动画名称

--duration

持续时间

-- timing-fuction 动画曲线

-- delay 延时

--播放次数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容