CSS常见面试题

html-css010

CSS常见面试题,第1张

1.position:absolute+transform:translate(-50%,-50%)

2.position:absolute+margin-top:-100px+margin-left:-100px(需要直到div的宽高)

3.flex

4.绝对定位的top,left,bottom,right都设置为0,然后通过margin:auto实现水平垂直居中

5.display:table-cellvertical-align:middletext-align:center

6.calc函数计算实现

1. DOM结构 :元素不会渲染

2. 事件监听 :不能监听DOM事件

3. 继承 :子元素不会继承

4. 性能 :改变此属性会重排,性能较差

1. DOM结构 :元素会渲染

2. 事件监听 :能监听DOM事件

3. 继承 :子元素会继承,可以通过visibility:visible来取消继承

4. 性能 :改变此属性会重绘,性能较好

1. DOM结构 :元素会渲染

2. 事件监听 :能监听DOM事件

3. 继承 :子元素会继承,而且不能通过opcity:1来取消隐藏

4. 性能 :改变此属性会重绘,性能较好

window.divicePixelRatio=2(默认)

意思是:我们css中1px相当于实际移动端设备2px

1.border-width:0.5px

2.box-shadow内阴影模拟边框,

box-shadow:inset 0px -1px 1px 1px red

3.通过viewport设置rem的基准值,就可以直接写rem了,较好的解决方案

4.伪类+transform

通过:after或:before设置border,结合定位

两侧宽度固定,中间宽度自适应

所以我们要尽量少使用以上属性和方法

参考链接: juejin.im/post/5e8d52…

animation、transition、transform、translate 这几个属性要搞清楚:

水平居中:

垂直居中

BFC 是块级格式上下文,IFC 是行内格式上下文:

不会,因为 BFC 是页面中一个独立的隔离容器,其内部的元素不会与外部的元素相互影响,比如两个 div,上面的 div 设置了 float,那么如果下面的元素不是 BFC,也没有设置 float,会形成对上面的元素进行包裹内容的情况,如果设置了下面元素为 overflow:hidden;属性那么就能够实现经典的两列布局,左边内容固定宽度,右边因为是 BFC 所以会进行自适应。

box-sizing 属性可以被用来调整这些表现:

BFC(Block Formatting Context)格式化上下文,是 Web 页面中盒模型布局的 CSS 渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。

五种:

BFC 的特性:

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括: 外边距(margin) 、 边框(border) 、 内边距(padding) 、 实际内容(content) 四个属性。 CSS盒模型: 标准模型 + IE模型

标准盒子模型:宽度=内容的宽度(content)+ border + padding

低版本IE盒子模型:宽度=内容宽度(content+border+padding),如何设置成 IE 盒子模型:

static:无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用。 relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。 absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。 fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性定义。 sticky:具体是类似 relative 和 fixed,在 viewport 视口滚动到阈值之前应用 relative,滚动到阈值之后应用 fixed 布局,由 top 决定。

问:为什么会有这种现象?你能解释一下吗

是由块级格式上下文决定的,BFC,元素在 BFC 中会进行上下排列,然后垂直距离由 margin 决定,并且会发生重叠,具体表现为同正取最大的,同负取绝对值最大的,一正一负,相加

BFC 是页面中一个独立的隔离容器,内部的子元素不会影响到外部的元素。

不清楚浮动会发生高度塌陷:浮动元素父元素高度自适应(父元素不写高度时,子元素写了浮动后,父元素会发生高度塌陷)

了解更多加入我们前端学习圈

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<title>交叉重叠层</title>

<style type="text/css">

html{ color:#f00}

#top{width:200pxheight:300pxbackground-color:#fffposition:absolutetop:50pxleft:50px}

#bottom{width:300pxheight:400pxbackground-color:#000z-index:-100position:absolutetop:0left:0}

</style>

</head>

<body>

<div id="top">上面层</div>

<div id="bottom">下面层</div>

</body>

</html>

可以用z-index来定义层的上下关系