前端面试题整理

近日逛知乎,看到有很多大佬分享自己的面试经验,其中包含了很多面试题。
仔细学习一下这些面试题,说不定会对自己的工作有帮助。
在这里整理一下。


CSS相关

1、px和em,rem的区别

px:px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
em:em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。

注意:任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。

rem: rem 单位基于 html 元素的字体大小。


2、用css2和css3分别写一下垂直居中和水平居中

css2

水平居中:

text-align:center;(水平)
margin: 0 auto;(水平)

垂直居中:

单行内容垂直居中设置相同的height和line-height
多行内容垂直居中通过设置上下的padding
vertical-align:center;(垂直居中)

绝对定位实现水平垂直居中:

top:50%;
left:50%;
transform:translateX(-50%);
transform:translateY(-50%);

css3

display: flex;
justify-content: center;
align-items: center;

你可能感兴趣的:(前端面试题整理)