css是前端绝对不会陌生的模块,css的hack也是前端工程师必须解决的问题。这篇经验和大家分享一下如果css样式冲突,应该怎么解决。
工具/原料
notepad++
浏览器
方法/步骤
1、新手可能经常遇到一个问题,就是同一个标签被套用了多层样式。这种样式冲突来为大家详细解释一下。按照下面的写法就是一个最普通的P标签。
2、我们首先来给body加上一个定义。body{color:#6cf;}(我比较喜欢用天依蓝来做示范)这样P标签里面的文字就会显示为#6cf的颜色。
3、我们再来给div加一个样式,因为按照层级关系,body>div。在样式表中加入div{color:#000;}就会看到字体颜色从body的属性转换到div的属性。
4、接下来我们在给P标签添加一个css样式。p{color:#fff;}并且为了方便识别,我们加入background-color:#000,可以看到页面显示为:
5、最后,我们再来试着直接给p标签增加衡痕贤伎style。<pstyle='color:#bbb'></p>稆糨孝汶;。观察结果。可以看到颜色变成了#bbb,但是背景色却沿用了父元素的#000
6、完整代码显示如下,按照层级蔡龇呶挞关系body>div>p>内连style(即直接写在p后面的style=''),可以看出,css主要继承的是最靠近它的一级的属性。
7、如果我们可以给p加一个类标签,命名为.class,标签会显示.class。单独类命名的标签的css和直接在标签里加style效果是一样的。
8、如果同时有class样式,又有style样式的话,最终显示的还是style样式。越靠近标签,显示的越完整。
9、css会踅斗渤汊强行继承样式,是css的缺点,也是前端需要发挥自己实力的地方。会被继承的属性主要有字体属性,文本属性,元素可见性,布局属性,生成内容属性。其他的属性用的比较少,可以需要的时候再查询。