9个关于CSS面试中经常遇到的面试题,和猎萝卜网小编一起了解。


1、position:absolute的原点是哪里?

答:position:absolute 是绝对定位

原点默认是body的左上角,意思就是设置了 left:0 top:0 以后,此元素会位于左上角;但如果父元素设定了position属性以后,此元素的原点会跟随父元素的左上角。


2、简单说一下css选择器都有哪几种?

答:有id选择器,class选择器,元素选择器

> 子选择器 空格子选择器

伪类选择器

属性选择器 等等

blob.png

3、怎么把一个元素隐藏起来?尽可能多的说出你的解决办法

答:

  • display:none;

  • visibility:hidden;

  • width:0px;height:0px;overflow:hidden;

  • 设置透明程度100% opacity 的设置,这样就透明了,看不见了,就是隐藏了呗

  • input 元素有个 type="hidden" 这样设置后,input 元素也是不可见的


4、说一说清除浮动的解决办法

答:

清除浮动是指一个父元素,N个子元素,子元素设置了float:left 这样父元素如果没有设置高度的话,父元素就失去了height 。这样不管子元素有多高,父元素都不能被撑起来。所以清楚浮动问的是怎么把父元素撑起来的问题。

  • 给父元素设置height属性,这样就好了,父元素不是没有高度嘛,设置一个

  • 给父元素设置 overflow:hidden 。浮动的子元素之所以不能把父元素撑起来,是因为子元素设置了float以后,子元素就脱离了本身的文档结构,给父元素设置overflow:hidden 以后,可以把这个情况改回来。

  • 在子元素同级添加 <div style="clear:both;"></div> clear:both 也是一种清楚浮动的常用方法。


5、div垂直居中,说出你用过的解决方案

答:

<div class="dd">书软</div>

  • .dd{width:20px;height:20px;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;}

  • .dd{width:500px;height:500px;position:absolute;top:50%;left:50%;margin-top:-250px;margin-left:250px;}


6、两个a标签之间出现间隙的情况遇到过吗?怎么解决的

答: 写html代码的时候,如果两个a标签出现换行,就会有间隙,可以不换行,写到一行,间隙就没了;也可以设置 display:inline-block 然后设置一定量的margin 负值,这样也是可以消除间隙的。


7、请写出css中 px em rem vw 的使用

答: 这里不做详细的解说了啊,前面的文章我们有一节说的很详细了,可以再去看一遍。小伙伴如果觉得还不是很清楚,就去看看文章,再电脑上敲一敲代码。面试的时候一定不能背书,要总结出自己的一套说辞,这样才能更显得是你的经验之谈。面试官也怕丢人,面试的时候人家比自己懂得太多不行,所以有一些问题你能说出大概他就不往深里问了。当然,也不排除他觉得你懂得多,看你不顺眼,就使劲儿难为你的。


8、从css角度说说,如何优化你的网页

答:

  • 尽量少的写行内和页内样式,因为浏览器每次刷新会缓存css文件中的样式,但行内和页内样式不会被缓存,会每次都加载

  • css样式含有公共部分的要抽离出来,书写的时候尽量写一行,而不是多行,这样可以减小css文件的体积

  • css测试完成以后,上线以后可以进行压缩,压缩后可以把多个css文件压缩得更少,甚至压缩成一个,这样可以减少http请求数量,也是加速页面渲染的一种方法

  • 使用图片精灵,意思就是把项目中的小图标用ps做到一张大图片中,css中使用图片的时候,通过background-position 去定位找到自己需要的小图标,这样也是减少http请求的做法。

9、关于css盒模型

答: 这个问题也很常见,这个问题不清楚的回去看文章啊,前面有一节说这个问题的文章,在电脑上试一试,在纸上画一画,体会体会,这里不做详细解说了。


猎萝卜网推荐阅读:

如何在面试时能识别出求职者是不是职场巨婴?