首页 / CSS / 让css的权重变得更友好的小技巧
让css的权重变得更友好的小技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了让css的权重变得更友好的小技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2555字,纯文字阅读大概需要4分钟。
内容图文
![让css的权重变得更友好的小技巧](/upload/InfoBanner/zyjiaocheng/412/a922748b21a74cc3984f73d02a958e0e.jpg)
技巧一:样式总是作为特定属性组合出现
一个很好的例子就是color和bakground-color的组合。除非你只做小调整,不然你需要一起调整他们。当给一个元素添加背景颜色时,它可能不包含任何文本,但可能会有一些子元素。因此,我们一起设置前景色(color)和背景色(background-color),我们总是可以确定这些元素不会遇到任何易读性和对比问题。下次我们改变背景色时,不需要到处寻找需要修改的文本颜色,因为他们都以一个组合的形式出现在一起。
技巧二:使用动态值,比如currentColor和em等
有时候文本颜色也会使用在其他属性上。比如说border、box-shadow或者SVG图标中的fill上。定义相同颜色有一个替代方案,可以直接使用currentColor。默认情况下,color是可以继承的,你只需要在一个地方修改就可以改变其他属性的颜色。
同样的,给font-size属性使用em单位,允许你只修改:root的font-size就可以改变元素的盒模型大小。
技巧三:使用inherit属性值继承其父元素样式来覆盖UA自带样式。
像button、input这样的表单控件,不同的浏览器都会有自己的样式风格(UA样式)。我们可以使用inherit继承其父元素样式,从而覆盖浏览器的UA样式。
button, input, select, textarea { color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; }
上面示例代码取自sanitize.css、 normalize.css也是这样使用的。如果你不是这样使用,说明你已经...
你也可以尝试在input[type="range"]、input[type="radio"]和input[type="checkbox"]等元素上直接使用前面介绍的currentColor属性自动匹配颜色。或许你不需要改变什么,可以将一个亮色系变成一个暗色系。
技巧四:每当你写CSS时,你想尽可能的回到树形顶部。换句话说,回到:root。
例如,我们的网站有一个侧边栏,希望在这个侧边栏上添加一个简短的个人介绍。其HTML的结构看起来可能会像这样:
<body> <main class=“Posts”> <aside class=“SideBar”> <nav class=“Nav”> <p class=“Bio”>
CSS是这样写的:
.Bio { font-size: .8em; line-height: 1.5; color: #888; }
这样写是能正常工作的,并不存在样式上的问题。但是,侧边栏还有一个导航nav,很有可能他们有一些样式是相同的。在我们这个示例中font-size和color都是相同的。让我们把这些属性从nav和.Bio中提取出来,并且将它们添加到其父元素.SideBar中:
.SideBar { font-size: .8em; color: #888; }
事实证明,在.Posts中已经设置了line-height:1.5;。似乎整个页面都使用了相同的行高,那么我们可以将.Bio和.Posts中的line-height移到根元素中:
:root { line-height: 1.5; }
这看起来是一个CSS常识,但他也不会太关注兄弟元素定义同样的事情。这也让你发现,有一些代码产生重复。其实这并不可怕,因为我们只需要花点时间重新重构代码,但这样保持了CSS的代码处理健康状态。
在树支上写样式,而不应该在树叶上写样式
以上就是让css的权重变得更友好的小技巧的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的让css的权重变得更友好的小技巧全部内容,希望文章能够帮你解决让css的权重变得更友好的小技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。