【内附答案】各大企业CSS笔试面试题汇总!

 

CSS笔试面试题大汇总

 

1.有哪项方式可以对一个DOM设置它的CSS样式? 

  • 外部样式表,引入一个外部css文件

  • 内部样式表,将css代码放在  标签内部

  • 内联样式,将css样式直接定义在 HTML 元素内部

 

2.CSS都有哪些选择器?派生选择器(用HTML标签申明)

  • id选择器(用DOM的ID申明)

  • 类选择器(用一个样式类名申明)

  • 属性选择器(用DOM的属性申明,属于CSS2,IE6不支持,不常用,不知道就算了)

除了前3种基本选择器,还有一些扩展选择器,包括

  • 后代选择器(利用空格间隔,比如div .a{  })

  • 群组选择器(利用逗号间隔,比如p,div,#a{  })

那么问题来了,CSS选择器的优先级是怎么样定义的?

基本原则:

一般而言,选择器越特殊,它的优先级越高。也就是选择器指向的越准确,它的优先级就越高。

复杂的计算方法:

  • 用1表示派生选择器的优先级

  • 用10表示类选择器的优先级

  • 用100标示ID选择器的优先级

    • div.test1 .span var 优先级 1+10 +10 +1

    • span#xxx .songs li 优先级1+100 + 10 + 1

    • #xxx li 优先级 100 +1

那么问题来了,看下列代码,

标签内的文字是什么颜色的?。

 1 <style>
 2 .classA{ color:blue;}
 3 
 4 .classB{ color:red;} 5 style> 6 7 <body> 8 9 <p class='classB classA'> 123 p>10 11 body>

答案:red。与样式定义在文件中的先后顺序有关,即是后面的覆盖前面的,与在

中的先后关系无关。

3.CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内?

最基本的:

设置display属性为none,或者设置visibility属性为hidden

技巧性:

设置宽高为0,设置透明度为0,设置z-index位置在-1000

4.超链接访问过后hover样式就不出现的问题是什么?如何解决?

答案:被点击访问过的超链接样式不在具有hover和active了,解决方法是改变CSS属性的排列顺序: L-V-H-A(link,visited,hover,active)

5.什么是Css Hack?ie6,7,8的hack分别是什么?

答案:针对不同的浏览器写不同的CSS code的过程,就是CSS hack。

示例如下:

 1  #test       {   
 2         width:300px;   
 3 height:300px; 4 5 background-color:blue; /*firefox*/ 6 background-color:red\9; /*all ie*/ 7 background-color:yellow\0; /*ie8*/ 8 +background-color:pink; /*ie7*/ 9 _background-color:orange; /*ie6*/ } 10 :root #test { }  /*ie9*/11 @media all and (min-width:0px){ #test {} }  /*opera*/12 @media screen and (-webkit-min-device-pixel-ratio:0){ #test {} }       /*chrome and safari*/

6.请用Css写一个简单的幻灯片效果页面

答案:知道是要用css3。使用animation动画实现一个简单的幻灯片效果。

 1         /**HTML**/
 2         div.ani 3 
 4         /**css**/ 5 .ani{ 6 width:480px; 7 height:320px; 8 margin:50px auto; 9 overflow: hidden;10 box-shadow:0 0 5px rgba(0,0,0,1);11 background-size: cover;12 background-position: center;13 -webkit-animation-name: "loops";14 -webkit-animation-duration: 20s;15 -webkit-animation-iteration-count: infinite;16 }17 @-webkit-keyframes "loops" {18 0% {19 background:url(http://d.hiphotos.baidu.com/image/w%3D400/sign=c01e6adca964034f0fcdc3069fc27980/e824b899a9014c08e5e38ca4087b02087af4f4d3.jpg) no-repeat;             20 }21 25% {22 background:url(http://b.hiphotos.baidu.com/image/w%3D400/sign=edee1572e9f81a4c2632edc9e72b6029/30adcbef76094b364d72bceba1cc7cd98c109dd0.jpg) no-repeat;23 }24 50% {25 background:url(http://b.hiphotos.baidu.com/image/w%3D400/sign=937dace2552c11dfded1be2353266255/d8f9d72a6059252d258e7605369b033b5bb5b912.jpg) no-repeat;26 }27 75% {28 background:url(http://g.hiphotos.baidu.com/image/w%3D400/sign=7d37500b8544ebf86d71653fe9f9d736/0df431adcbef76095d61f0972cdda3cc7cd99e4b.jpg) no-repeat;29 }30 100% {31 background:url(http://c.hiphotos.baidu.com/image/w%3D400/sign=cfb239ceb0fb43161a1f7b7a10a54642/3b87e950352ac65ce2e73f76f9f2b21192138ad1.jpg) no-repeat;32 }33 }

7.行内元素和块级元素的具体区别是什么?行内元素的padding和margin可设置吗?

块级元素(block)特性:

  • 总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;

  • 宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制;

     

  

内联元素(inline)特性:

  • 和相邻的内联元素在同一行;

  • 宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/margin-bottom)都不可改变(也就是padding和margin的left和right是可以设置的),就是里面文字或图片的大小。

  •  

那么问题来了,浏览器还有默认的天生inline-block元素(拥有内在尺寸,可设置高宽,但不会自动换行),有哪些

答案:

转载于:https://www.cnblogs.com/zxingp/articles/6135299.html

你可能感兴趣的:(【内附答案】各大企业CSS笔试面试题汇总!)