在这篇文章中,我将通过一些示例来向大家展示一些CSS的小技巧,让你知道如何使用CSS的级联(cascade)能变得更友好,也减少一些不必要的需求,从而也减少权重上遇到的麻烦。

技巧一:样式总是作为特定属性组合出现

一个很好的例子就是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的结构看起来可能会像这样:

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改变权重,让css的权重变得更友好的小技巧相关推荐

  1. ArcBlock 分享 | OCAP Playground让区块链开发变得更友好

    作者:海艳 来源:币探索 时隔半年,ArcBlock 区块基石逐步从理论走向落地,第一款应用"开放链访问协议实验台( OCAP Playground)" 已如期正式发布.一系列相关 ...

  2. css改变指针形状,css 指针样式

    定义鼠标样式 cursor:pointer; 取值: [ [ ,]* [ auto | crosshair | default | pointer | move | e-resize | ne-res ...

  3. HTML内置css改变文字效果,CSS+HTML文字效果

    下面归类一些简单的文字效果,此处都为静态样式,想要动态的,可以根据自身需求添加 hover 效果. Hello World 效果1: image.png h1 { -webkit-box-reflec ...

  4. 分享让PPT变高级的两个小技巧

    今天想跟大家分享两个小技巧,可以让你制作的PPT看起来更高级哦. 1.优美曲线 制作优美曲线非常简单,下面给大家具体讲述下. 首先,我们选择原始图表中的折线,将线改为平滑线.然后复制一个图表,之后剪切 ...

  5. 妙用CSS变量,让你的CSS变得更心动

    作者:JowayYoung 仓库:Github.CodePen 博客:掘金.思否.知乎.简书.头条.CSDN 公众号:IQ前端 联系我:关注公众号后有我的微信哟 特别声明:原创不易,未经授权不得对此文 ...

  6. jQuery添加/改变/移除CSS类

    转自:http://www.jbxue.com/article/24589.html 在jquery中用到removeClass移除CSS类.addClass添加CSS类.toggleClass添加或 ...

  7. CSS改变插入光标颜色

    CSS改变插入光标颜色常用两种方法: 第一种:caret-color: red; input {color: #333;caret-color: red;} caret-color属性目前Chrome ...

  8. html select 样式t调整_用纯css改变下拉列表select框的默认样式

    **社区评论 ( Beta版 )** #0 危汤讽 2015-04-02 09:57:05 firefox浏览器支持不好,貌似是浏览器bug 回复 #1 林甩土 2015-04-03 09:06:57 ...

  9. 背景亮度css,用CSS改变背景的亮度

    我想改变DIV背景的亮度,而不影响div中的其他内容.用CSS改变背景的亮度 当我在div上应用悬停亮度过滤器时,其中的其他元素也受到影响.我不想要的. 我的另一个解决方案是用编辑过的照片替换div的 ...

最新文章

  1. 2022-2028年中国装配式装修行业市场研究及前瞻分析报告
  2. log4cxx体系结构
  3. 微信浏览器禁止页面下拉查看网址
  4. maven 多模块项目关系
  5. LeetCode 557. 反转字符串中的单词 III(栈)
  6. r语言plot函数设置y轴的范围及刻度_R语言之简单绘图
  7. GC原理---对象可达判断
  8. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_03 斗地主案例(单列)_1_斗地主案例的需求分析...
  9. lanmp_wdcp_v2.4快速安装RPM包发布
  10. matlab中fplot和ezplot,Matlab中plot、fplot、ezplot的使用方法和区别
  11. 用户故事与敏捷方法笔记---估算用户故事
  12. 谭老师c语言入门 小甲鱼,《零基础入门学习C语言》视频教程(小甲鱼主讲全套共65节)...
  13. 全加器在计算机的应用,利用全加器构成3位并行加法器.doc
  14. linux进程终止命令,Linux kill命令:终止进程
  15. python画一个正方形和圆_正方形最新:Python 用turtle实现用正方形画圆的例子_爱安网 LoveAn.com...
  16. 很好听的曲子《红枣树》,歌词写的很好,摘抄一下
  17. python 元类理解
  18. C++游戏编程--基于EasyX图形库--实现走迷宫小游戏
  19. 【安安教具】-【数学】-【一阶线性齐次方程】模拟器 教你如何用python制作一阶线性齐次方程模拟器 python项目小发明
  20. 公众平台--扫描微信二维码,关注后自动登录

热门文章

  1. UnityShader凹凸感
  2. 用java自己实现代码阻塞的几种方式
  3. 单片机51测温度c语言,基于51单片机的温度检测及显示设计
  4. 莱比特矿池CEO江卓尔:BCH作为货币不需要新功能,但出于货币竞争的考虑需要...
  5. android闹铃备忘录代码,求推荐一个安卓手机上用的闹钟提醒的备忘录便签
  6. php源代码被公开漏洞,dede目录列表漏洞_页面存在源代码泄露_发现源码泄露
  7. XSS (Cross-Site Scripting;跨站脚本)
  8. Dreammail V4.6.9.2 XSS漏洞利用
  9. 简单爬虫Ajax数据爬取——今日头条图片爬取
  10. pytorch geometric(PYG) - NeighborSampler