Web前端应该掌握的十大内容.docx
- 文档编号:18555351
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:41
- 大小:345.19KB
Web前端应该掌握的十大内容.docx
《Web前端应该掌握的十大内容.docx》由会员分享,可在线阅读,更多相关《Web前端应该掌握的十大内容.docx(41页珍藏版)》请在冰点文库上搜索。
Web前端应该掌握的十大内容
Web前端工程师应该掌握的十大内容
css的优先级
在讲CSS优先级之前,我们得要了解什么是CSS,CSS是用来做什么的。
简单说来,CSS是层叠样式表(CascadingStyleSheets)的简称。
它的规范代表了互联网历史上一个独特的发展阶段。
现在对于从事网页制作的朋友来说,应该很少没有听说过CSS了,因为在制作网页过程中我们经常需要用到。
我们能通过CSS为文档设置丰富且易于修改的外观,以减轻网页制作者的工作负担,从而减轻制作及后期维护的代价。
其实现在还来讲CSS是什么,CSS有什么作用完全是多余的,相信从事网页制作的朋友都已经或多或少的接触过了。
言归正传,开始进入今天的话题。
一、什么是CSS优先级
所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序。
二、CSS优先级规则
既然样式有优先级,那么就会有一个规则来约定这个优先级,而这个“规则”就是本次所需要讲的重点。
样式表中的特殊性描述了不同规则的相对权重,它的基本规则是:
1、统计选择符中的ID属性个数。
2、统计选择符中的CLASS属性个数。
3、统计选择符中的HTML标记名个数。
最后,按正确的顺序写出三个数字,不要加空格或逗号,得到一个三位数(css2.1是用4位数表示)。
(注意,你需要把数字转换成一个以三个数字结尾的更大的数)。
相应于选择符的最终数字列表可以很容易确定较高数字特性凌驾于较低数字的。
例如:
1、每个ID选择符(#someid),加0,1,0,0。
2、每个class选择符(.someclass)、每个属性选择符(形如[attr=value]等)、每个伪类(形如:
hover等)加0,0,1,0。
3、每个元素或伪元素(:
firstchild)等,加0,0,0,1。
4、其它选择符包括全局选择符*,加0,0,0,0。
相当于没加,不过这也是一种specificity,后面会解释。
三、特性分类的选择符列表
通过上面,就可以很简单的看出,HTML标记的权重是1,CLASS的权重是10,ID的权重是100,继承的权重为0(后面会讲到)。
按这些规则将数字符串逐位相加,就得到最终的权重,然后在比较取舍时按照从左到右的顺序逐位比较。
优先级问题其实就是一个冲突解决的问题,当同一个元素(内容)被CSS选择符选中时,就要按照优先级取舍不同的CSS规则,这其中涉及到的问题其实很多。
说到这里,我们不得不说一下CSS的继承性。
四、CSS的继承性
4.1继承的表现
继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的。
继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。
例如一个BODY定义了的颜色值也会应用到段落的文本中。
这段代码的应用结果是:
“CSS继承性的测试”这段话是红颜色的,“继承性”几个字由于应用了标签,所以是粗体。
很显然,这段文字都继承了由body{color:
#f00;}样式定义的颜色。
这也就是为什么说继承性是CSS的一部分。
然而CSS继承性的权重是非常低的,是比普通元素的权重还要低的0。
4.2继承的局限性
继承是CSS重要的一部分,我们甚至不用去考虑它为什么能够这样,但CSS继承也是有限制的。
有一些属性不能被继承,如:
border,margin,padding,background等。
五、附加说明
1、文内的样式优先级为1,0,0,0,所以始终高于外部定义。
这里文内样式指形如 red>blah
(1) IE6/IE77对FireFox
*+html与*html是IE特有的标签,firefox暂不支持。
而*+html又为IE7特有标签.
CSS代码:
注意:
*+html对IE7的HACK必须保证HTML顶部有如下声明:
XML/HTML代码:
DOCTYPEHTMLPUBLIC“-//W3C//DTDHTML4.01Transitional//EN” ”http:
//www.w3.org/TR/html4/loose.dtd”>
六、 float闭合
将以下代码加入GlobalCSS中,给需要闭合的div加上class=”clearfix”即可。
CSS代码
七、 其他兼容技巧
1. FF下给div设置padding后会导致width和height增加,但IE不会.(可用!
important解决)
2. 居中问题.
?
垂直居中.将line-height设置为当前div相同的高度,再通过vertical-align:
middle.(注意内容不要换行.)
?
水平居中.margin:
0auto;(当然不是万能)
3. 给a标签内内容加上样式,需要设置display:
block;(常见于导航)
4. FF和IE对BOX理解的差异导致相差2px的还有设为float的div在IE下margin加倍等问题.
5. ul标签在FF下面默认有list-style和padding。
最好事先声明,以避免不必要的麻烦.(常见于导航标签和内容列表)
6. 作为外部wrapper的div不要定死高度,最好还加上overflow:
hidden。
以达到高度自适应.
7. 关于手形光标使用cursor:
pointer,而hand只适用于IE。
CSS代码
/*FF*/
.submitbutton{
float:
left;
width:
40px;
height:
57px;
margin-top:
24px;
margin-right:
12px;
}
/*IE6*/
*html.submitbutton{
margin-top:
21px;
}
/*IE7*/
*+html.submitbutton{
margin-top:
21px;
}
八、 控制网页背景在IE和Firefox中显示不同颜色
虽然实际网页很少这样制作,但这是体验CSSHack控制能力的一个简单明了的好例子。
注:
?
IE6可识别*,但无法识别!
important
?
IE7可识别*,也可识别!
important
?
Firefox无法识别*,但可识别!
important
注:
?
IE6可识别*和下划线”_”
?
IE7可识别*,无法识别下划线”_”
?
Firefox无法识别*或下划线”_”
九、 控制网页页面宽度。
使网页在IE中宽度为400px,在Firefox中宽度为700px
注:
?
IE可识别”+”
?
Firefox无法识别”+”
3.控制网页页面高度。
使网页在IE6中高度为50px,在IE7或IE6中高度为100px,在Firefox中高度为300px
注:
?
IE6可识别下划线”_”
?
IE6和IE7可识别*
?
IE7无法识别下划线”_”
?
Firefox无法识别”*或下划线”_”
?
IE的if条件Hack
十、 IE的if条件Hack
可以让IE区别于其它浏览器和IE个版本之间的浏览器,它利用…这样的语法让IE浏览器对其进行解析,属于IE浏览器专有
?
--[ifIE]>OnlyIE
[endif]--> 所有的IE可识别
?
--[ifIE5.0]>OnlyIE5.0
[endif]--> 只有IE5.0可以识别
?
--[ifgtIE5.0]>OnlyIE5.0
[endif]--> IE5.0包换IE5.5都可以识别
?
--[ifltIE6]>OnlyIE6
[endif]--> 仅IE6可识别
?
--[ifgteIE6]>OnlyIE6
[endif]--> IE6以及IE6以下的IE5.x都可识别
?
--[iflteIE7]>OnlyIE7
[endif]--> 仅IE7可识别
说明:
?
gt:
greaterthan,选择条件版本以上版本,不包含条件版本
?
lt:
lessthan,选择条件版本以下版本,不包含条件版本
?
gte:
greaterthanorequal,选择条件版本以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 前端 应该 掌握 内容