1.有哪项方式可以对一个DOM设置它的CSS样式?
•外部样式表,引入一个外部css文件
•内部样式表,将css代码放在<head> 标签内部
•内联样式,将css样式直接定义在HTML 元素内部
2.CSS都有哪些选择器?
•派生选择器(用HTML标签申明)
•id选择器(用DOM的ID申明)
•类选择器(用一个样式类名申明)
•属性选择器(用DOM的属性申明,属于CSS2,IE6不支持,不常用,不知道就算了)
除了前3种基本选择器,还有一些扩展选择器,包括
•后代选择器(利用空格间隔,比如div .a{  })
•组选择器(利用逗号间隔,比如p,div,#a{  })
那么问题来了,CSS选择器的优先级是怎么样定义的?
基本原则:
一般而言,选择器越特殊,它的优先级越高。也就是选择器指向的越准确,它的优先级就越高。
复杂的计算方法:
•用1表示派生选择器的优先级
•用10表示类选择器的优先级
•用100标示ID选择器的优先级
•st1 .span var 优先级1+10 +10 +1
•span#xxx .songs li 优先级1+100 + 10 + 1
•#xxx li 优先级100 +1
那么问题来了,看下列代码,<p>标签内的文字是什么颜的?。
1.<style>
4.</style>
5.<body>
6.<p class='classB classA'> 123 </p>
7.</body>
答案:red。与样式定义在文件中的先后顺序有关,即是后面的覆盖前面的,与在<p class='classB classA'>中的先后关系无关。
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。
css样式表优先级最高
示例如下:
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 { background-color:purple\9; }  /*ie9*/
11.    @media all and (min-width:0px){ #test {background-color:black\
0;} }  /*opera*/
12.    @media screen and (-webkit-min-device-pixel-ratio:0){ #test {backg
round-color:gray;} }      /*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(d.hiphotos.baidu./image/w%3D400/
sign=c01e6adca964034f0fcdc3069fc27980/e824b899a9014c08e5e38ca4087b0208 7af4f4d3.jpg) no-repeat;
20.            }
21.            25% {
22.background:url(b.hiphotos.baidu./image/w%3D400/
sign=edee1572e9f81a4c2632edc9e72b6029/30adcbef76094b364d72bceba1cc7cd9 8c109dd0.jpg) no-repeat;
23.            }
24.            50% {
25.background:url(b.hiphotos.baidu./image/w%3D400/
sign=937dace2552c11dfded1be2353266255/d8f9d72a6059252d258e7605369b033b 5bb5b912.jpg) no-repeat;
26.            }
27.            75% {
28.background:url(g.hiphotos.baidu./image/w%3D400/
sign=7d37500b8544ebf86d71653fe9f9d736/0df431adcbef76095d61f0972cdda3cc 7cd99e4b.jpg) no-repeat;
29.            }
30.            100% {
31.background:url(c.hiphotos.baidu./image/w%3D400/
sign=cfb239ceb0fb43161a1f7b7a10a54642/3b87e950352ac65ce2e73f76f9f2b211 92138ad1.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元素(拥有内在尺寸,可设置高宽,但不会自动换行)
,有哪些?
答案:<input> 、<img> 、<button> 、<textarea> 、<label>。
8.什么是外边距重叠?重叠的结果是什么?
答案:
外边距重叠就是margin-collapse。
在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距。这种合并外边距的方式被称为折叠,并且因而所结合成的外边距称为折叠外边距。
折叠结果遵循下列计算规则:
1.两个相邻的外边距都是正数时,折叠结果是它们两者之间较大的值。
2.两个相邻的外边距都是负数时,折叠结果是两者绝对值的较大值。
3.两个外边距一正一负时,折叠结果是两者的相加的和。
答案:
rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内容的透明度,
而rgba()只作用于元素的颜或其背景。(设置rgba透明的元素的子元素不会继承透明效果!)
10.css中可以让文字在垂直和水平方向上重叠的两个属性是什么?
答案:
垂直方向:line-height
水平方向:letter-spacing
那么问题来了,关于letter-spacing的妙用知道有哪些么?
答案:可以用于消除inline-block元素间的换行符空格间隙问题。
11.如何垂直居中一个浮动元素?
1.// 方法一:已知元素的高宽
2.
3.#div1{
4.background-color:#6699FF;
5.width:200px;
6.height:200px;
7.
8.position: absolute;        //父元素需要相对定位
10.left: 50%;
11.margin-top:-100px ;  //二分之一的height,width
12.margin-left: -100px;
13.    }
14.
15.//方法二:未知元素的高宽
16.
17.#div1{
18.width: 200px;
19.height: 200px;
20.background-color: #6699FF;
21.
22.margin:auto;
23.position: absolute;        //父元素需要相对定位
24.left: 0;
26.right right: 0;
27.bottom bottom: 0;
28.    }
那么问题来了,如何垂直居中一个<img>?(用更简便的方法。)
1.#contai ner    //<img>的容器设置如下
2. {
3.display:table-cell;
<-align:center;
5.vertical-align:middle;
6. }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。