css技巧-color的巧用

引言

这个技巧来自 张鑫旭的css世界的讲解.

延伸

具体是: css中 有很多的属性中的颜色值默认的 是color的值, 如: border-color/outline/box-shadow和text-shadow等.

实例

实际开发的例子: 上传图片的时候,会做美化比如这样:
css图片上传
hover的时候可以整体变个色.
这种方方正正、简简单单的图形最适合使用三三两两的CSS代码绘制了。通常, 我们使用width/height外加一个background-color绘制加号的, 核心CSS代码如下:

.add {
    border: 2px dashed #ccc;
}

.add:before, .add:after {
    background: #ccc;
}

/* hover的时候 变个色*/
.add:hover {
    background: #06C;
}

.add:hover:before, .add:hover:after {
    background: #06C;
}

功能上没有问题, 可是当我们hover变色的时候, 需要同时重置3处(元素本身以及两个伪元素)颜色. 实际上, 如果这里不适用background-color, 而是使用border来绘制加号, 则代码会简单很多, 如下:

.add {
    color: #ccc;
    border: 2px dashed;
}
.add:before {
    border-top: 10px solid;
}
.add:after {
    border-left: 10px solid;
}
/* hover的时候 变个色*/
.add:hover {
    color: #06C;
}

可以看到, 使用border实现, 我们hover变色的时候, 只需要重置1处, 也就是重置元素本身的color就可以了, 因为整个图形都是使用border绘制的, 同时颜色缺省, 所以所有图形颜色自动跟着一起变化了.
演示效果 张鑫旭
我的演示


   转载规则


《css技巧-color的巧用》 lttztt 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
css中添加@charset的作用 css中添加@charset的作用
说明使用UTF-8编码唯一的好处是,国外的用户如果使用Windows XP英文版,浏览UTF-8编码的任何网页,无论是中文、还是日文、韩文、阿拉伯文,都可以正常显示,UTF-8是世界通用的语言编码,而如果用Windows XP英文版的IE6
2018-12-04
下一篇 
npm的package.json详解 npm的package.json详解
npm中package.json详解 参见 https://blog.csdn.net/naipeng/article/details/53178062 通常我们使用npm init命令来创建一个npm程序时,会自动生成一个package
2018-11-10
  目录