【总有一些东西要弄清】——说说面试时一系列的CSS问题

本文详细介绍了CSS中的各种选择符,包括通配选择符、类型选择符、群组选择符等,并列举了可继承的CSS属性。此外,还探讨了CSS样式的优先级规则及其应用案例。

仅以此篇缅怀那些笔试100次,问100次的CSS问题。

问:

  CSS选择符有哪些?哪些属性可以继承?优先级?内联和important哪个优先级高?

选择符

1通配选择符(*)表示页面内所有元素的样式*{font-size:12px;margin:0;padding:0;}
2类型选择符(body、div、p、span等)网页中已有的标签类型作为名称的选择符div{width:10px;height:10px;}
3群组选择符(,)对一组对象同时进行相同的样式指派a:link,a:visited{color:#fff;}
4层次选择符(空格)包含选择符对某对象中的子对象进行样式指派#header top{width:100px;}
5id选择符(#)id选择符具有唯一性,在页面中不能重复使用#header{width:300px;}
6class选择符(.)可以在页面中重复使用.title{width:300px;}
7IEhack选择符(_、*、\0、\9\0;)兼容不同的浏览器.title{_width:50px;*height:30px;}

 

可继承的属性

azimuth, border-collapse, border-spacing,          //红色为常用的
caption-side, color, cursor, direction, elevation,
empty-cells, font-family, font-size, font-style,
font-variant, font-weight, font, letter-spacing,
line-height, list-style-image, list-style-position,
list-style-type, list-style, orphans, pitch-range,
pitch, quotes, richness, speak-header, speaknumeral,
speak-punctuation, speak, speechrate,
stress, text-align, text-indent, texttransform,
visibility, voice-family, volume, whitespace,
widows, word-spacing

优先级的四大原则

原则1:继承没指定的牛B

demo1:

<style type="text/css"> 
*{font-size:20px} 
.class3{ font-size: 12px; } 
</style> 
<span class="class3">我是多大字号?</span> <!-- 运行结果:.class3{ font-size: 12px; }-->

demo2:

<style type="text/css"> 
#id1 #id2{font-size:20px} 
.class3{font-size:12px} 
</style> 

<div id="id1" class="class1"> 
<p id="id2" class="class2"> <span id="id3" class="class3">我是多大字号?</span> </p> 
</div>  <!--运行结果:.class3{ font-size: 12px; }-->

原则2:#ID > .class > 标签

demo1:

<style type="text/css"> 
#id3 { font-size: 25px; } 
.class3{ font-size: 18px; } 
span{font-size:12px} 
</style> 

<span id="id3" class="class3">我是多大字号?</span> <!--运行结果:#id3 { font-size: 25px; }-->

原则3:越具体越牛B

demo1:

<style type="text/css"> 
.class1 .class2 .class3{font-size: 25px;} 
.class2 .class3{font-size:18px} 
.class3 { font-size: 12px; } 
</style> 

<div class="class1"> 
<p class="class2"> <span class="class3">我是多大字号?</span> </p> 
</div>   <!--运行结果:.class1 .class2 .class3{font-size: 25px;}-->

原则4:标签#ID > 标签.class

demo1:

<style type="text/css">
span#id3{font-size:18px}
#id3{font-size:12px}
span.class3{font-size:18px}
.class3{font-size:12px}
</style>

<span id="id3">我是多大字号?</span>
<span class="class3">我是多大字号?</span>  <!--运行结果:span#id3{font-size:18px} | span.class3{font-size:18px}-->

最后:当原则之前冲突的时候,原则1 > 原则2 > 原则3 > 原则4

 

!important

IE6到底认不认识!important???

  答:认识,但是有一个小bug。

例如:

<style>
#ida {size:18px}
.classb { font-size: 12px; }
</style>

<div id=“ida” class=“classb”>!important测试:18px</div>

加入!important

<style>
#ida{font-size:18px}
.classb{ font-size: 12px !important; }
</style>

<div id=“ida” class=“classb”>!important测试:12px</div>

IE6 BUG:

<style>
.classb{ font-size: 18px !important; font-size: 12px }
</style>

<div class=“classA”>!important测试:12px</div>

原因和办法:

  这里在ie6下是12像素的字,而其他浏览器下是18px的字。

  但是当我们把样式改一下,!important放在后面,即.classb{ font-size: 12px;font-size: 18px !important; },那么ie6下和其他浏览器一样也是18px的字。

  

 

 

转载于:https://www.cnblogs.com/ccto/archive/2013/03/19/2970309.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值