在CSS中,继承是一种非常自然的行为,我们甚至不需要考虑是否能够这样去做,但是继承也有其局限性。首先,有些属性是不能继承的。这没有任何原因,只是因为它就是这么设置的,标准就是如此。举个例子来说:border属性,大家都明白border属性的作用是设置元素的边框的,它就没有继承性。如果继承了边框属性,那么文档看起来就会很奇怪。例如我们定义容器div的边框为1px,而在此容器内的ul li在正常情况下我们都不希望它有边框,如果border有继承性,我们就要再去掉它们的边框。这样显然是不合理的。多数边框类的属性,如:Border(边框)、Padding(补白)、Margin(边界)、背景等等,都是没有继承性的。在某些时候继承也会带来一些错误,比如说下面这条CSS定义:Body{color:blue}这是定义了Body中的文本颜色为蓝色。如果Body中含有表格,在有些浏览器中这句定义会使除表格之外的文本变成蓝色,而表格内部的文本颜色并不是蓝色。从技术上来说,这是不正确的,但是它确实存在。所以我们经常需要借助于某些技巧,比如将CSS定义成这样:Body,table,th,td{color:blue}这样表格内的文字也会变成蓝色了。
CSS继承性之深入剖析(2)
来源:互联网 发布日期:2016-03-25 16:34:40 浏览:2699次
相关内容
AiLab云推荐
最新资讯
本月热点
热门排行
-
周鸿祎预测2024大模型10大趋势,“建议让AI在公司里无孔不入”
阅读量:186874
-
AI大变局,时代新希望|异想大会
阅读量:167156
-
产品经理必须懂得AI:ChatGPT-人工智能对话的新篇章
阅读量:107635
-
印媒:防AI造假,尼康、索尼等相机巨头拟推“数字签名”新技术
阅读量:104914
-
AI 的未来比你想象的更不稳定
阅读量:94547
-
比OpenAI官方提示词指南更全,这26条黄金准则让LLM性能飙升50%以上
阅读量:60890