font-size: 20px;
line-height: 30px;
padding: 6px 16px;
改进:(1)将需要同步改变大小的属性值单位用相对属性代替,如em。这时大小就会更具font-size的变化而变化。(2)line-height根据倍数随着字体大小改变
font-size: 2em;
line-height: 1.5;
padding: .3em .8em;
如果想改变颜色,可能要覆盖border
、color
、background
、box-shadow
和text-shadow
的属性值。对于阴影和边框,只需把半透明的黑色或白色叠加在主色调上,即可产生主色调的亮色和暗色变体:
text-shadow: 0 -.05em .05em rgba(0,0,0,.5);
border: 1px solid rgba(0,0,0,.1);
background: #58a linear-gradient(hsla(0,0%,100%,.2),transparent);
box-shadow: 0 .05em .25em rgba(0,0,0,.5);
现在只要覆盖 background-color 属性,就可以得到不同颜色版本的按钮:
.cancel{
background-color:sienna;
}
.ok{
background-color:yellowgreen;
}
比如在写提示框的箭头时,可以用inherit
来继承父元素的样式:
.textTip{
position: relative;
margin-top: .5em;
padding: .4em;
background:wheat;
border: 1px solid tan;
color:white;
border-radius: .4em;
}
.textTip::before{
content: "";
position: absolute;
top: -.4em; left: 1em;
padding: .35em;
background: inherit;
border: inherit;
border-right: 0;
border-bottom: 0;
transform: rotate(45deg);
}
border-width: 10px 10px 10px 0;
如果要更改多个位置,上面的写法会比较麻烦;而下面的写法易于维护,并容易看懂:
border-width: 10px;
border-left-width: 0;
我们的思路是尽最大努力实现弹性可伸缩的布局,并在媒体
查询的各个断点区间内指定相应的尺寸。当网页本身的设计足够灵活时,让 它变成响应式应该只需要用到一些简短的媒体查询代码:
Stylus(http://stylus-lang.com/)、Sass(http://sasslang.com/)或 LESS(http://lesscss.org/)这样的 CSS 预处理器可以为 CSS的编写提供便利,比如变量、mixin、函数、规则嵌套、颜色处理等。不过,预处理器也不是完美无
缺的:
其实现在很多受预处理器启发的特性都已经以各种方式融入到原生 CSS 中了:
这些原生特性通常比预处理器提供的版本要强大得多,因为它
们是动态的 1。举个例子,预处理器完全不知道如何完成 100% - 50px 这样的计算,因为在页面真正被渲染之前,百分比值是无法解析的。但是,原生CSS 的 calc() 在计算这样的表达式时没有任何压力。
上面提到的原生 CSS 特性绝大多数在目前还没有得到很好的支持。建议:在每个项目开始时使用纯 CSS,只有当代码开始变得无法保持 DRY 时,才切换到预处理器的方案。
原文:https://www.cnblogs.com/sanhuamao/p/14676284.html