关于lesscss和颜色梯度(linear-gradient )的一些问题
一、什么是less?
一种 动态 样式 语言.
LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数.
LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可一在服务端运行 (借助Node.js).
二、什么是颜色梯度?
本人没有文化,正确地说 线性梯度(-webkit-)linear-gradient 是gradient属性的一个分支。
————————————————————————
css3 :linear-gradient 加油站:
http://dev.opera.com/articles/view/css3-linear-gradients/(opera)
https://ie.microsoft.com/testdrive/graphics/cssgradientbackgroundmaker/default.html(ms)
https://developer.mozilla.org/en/CSS/linear-gradient(moz)
http://www.webkit.org/blog/1424/css3-gradients/(webkit)
生成工具:http://westciv.com/tools/gradients/
三、less与 css gradient 相关的function:color function
Color 函数
LESS 提供了一系列的颜色运算函数. 颜色会先被转化成 HSL 色彩空间, 然后在通道级别操作:
lighten(@color, 10%); // return a color which is 10% _lighter_ than @color(减淡)
darken(@color, 10%); // return a color which is 10% _darker_ than @color(加深)
saturate(@color, 10%); // return a color 10% _more_ saturated than @color(+饱和度)
desaturate(@color, 10%); // return a color 10% _less_ saturated than @color(-饱和度)
fadein(@color, 10%); // return a color 10% _less_ transparent than @color(-透明度)
fadeout(@color, 10%); // return a color 10% _more_ transparent than @color(+透明度)
spin(@color, 10); // return a color with a 10 degree larger in hue than @color(……)
spin(@color, -10); // return a color with a 10 degree smaller hue than @color()
http://verekia.com/less-css/dont-read-less-css-tutorial-highly-addictive/attachment/less-css-8
四、预览效果:
preview
五、源代码:
.buttonbase(@bcolor:#ffffff,@border-radius:3px,@color:#FFFFFF){
//background: @bcolor;
background: -webkit-linear-gradient(@bcolor, darken(@bcolor,5%) 44%, darken(@bcolor,20%)) repeat scroll 0 0 transparent;
background: -moz-linear-gradient(@bcolor, darken(@bcolor,5%) 44%, darken(@bcolor,20%)) repeat scroll 0 0 transparent;
background: -ms-linear-gradient(@bcolor, darken(@bcolor,5%) 44%, darken(@bcolor,20%)) repeat scroll 0 0 transparent;
background: -o-linear-gradient(@bcolor, darken(@bcolor,5%) 44%, darken(@bcolor,20%)) repeat scroll 0 0 transparent;
border-color: darken(@bcolor,22%) darken(@bcolor,30%) darken(@bcolor,18%);
border-radius: @border-radius;
border-style: solid;
border-width: 1px;
box-shadow: 0 1px 0 0 lighten(@bcolor,10%) inset, 0 1px 2px rgba(0, 0, 0, 0.2);
color:@color;
font-family: arial,helvetica,sans-serif;
font-size: 14px;
font-weight: bold;
line-height: 1;
padding: 6px 16px 7px;
text-align: center;
text-decoration: none;
text-shadow: 0 -1px 0 #4865E4;
&:hover{
background: -webkit-linear-gradient(lighten(@bcolor,1%), darken(@bcolor,4.5%) 44%, darken(@bcolor,21%)) repeat scroll 0 0 transparent;
background: -moz-linear-gradient(lighten(@bcolor,1%), darken(@bcolor,4.5%) 44%, darken(@bcolor,21%)) repeat scroll 0 0 transparent;
background: -o-linear-gradient(lighten(@bcolor,1%), darken(@bcolor,4.5%) 44%, darken(@bcolor,21%)) repeat scroll 0 0 transparent;
background: -ms-linear-gradient(lighten(@bcolor,1%), darken(@bcolor,4.5%) 44%, darken(@bcolor,21%)) repeat scroll 0 0 transparent;
border: 1px solid darken(@bcolor,21%);
box-shadow: 0 1px 0 0 lighten(@bcolor,10%) inset, 0 1px 2px rgba(0, 0, 0, 0.3);
&:active{
background: -webkit-linear-gradient(@bcolor, darken(@bcolor,4.8%) 44%, darken(@bcolor,20.5%)) repeat scroll 0 0 transparent;
background: -moz-linear-gradient(@bcolor, darken(@bcolor,4.8%) 44%, darken(@bcolor,20.5%)) repeat scroll 0 0 transparent;
background: -ms-linear-gradient(@bcolor, darken(@bcolor,4.8%) 44%, darken(@bcolor,20.5%)) repeat scroll 0 0 transparent;
background: -o-linear-gradient(@bcolor, darken(@bcolor,4.8%) 44%, darken(@bcolor,20.5%)) repeat scroll 0 0 transparent;
border-color: darken(@bcolor,23%) darken(@bcolor,28%) darken(@bcolor,19%);
border-left: 1px solid darken(@bcolor,25%);
border-right: 1px solid darken(@bcolor,25%);
border-style: solid;
border-width: 1px;
box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1) inset;
}
}
}
#green{
.buttonbase(#83C260,3px,#FFFFFF);
}
#yellow {
.buttonbase(#ffc40d,3px,#FFFFFF);
}
#blue {
.buttonbase(#049cdb,3px,#FFFFFF);
}
#red {
.buttonbase(#9d261d,3px,#FFFFFF);
}
#orange{
.buttonbase(#f89406,3px,#FFFFFF);
}
#purple{
.buttonbase(#7a43b6,3px,#FFFFFF);
}
代码阅读版:http://jsfiddle.net/Jf6Dg/
更加面向对象的版本(分离不需要重载的代码):http://jsfiddle.net/Jf6Dg/2/
在线生成试一试:
http://less.cnodejs.net/
六、 关于less的语法:
查看这里吧 http://www.lesscss.net/#docs
非原创,转自 https://blog.w3cub.com/blog/2012/02/28/less-and-linear-gradient/
关于lesscss和颜色梯度(linear-gradient )的一些问题的更多相关文章
- 图像处理------颜色梯度变化 (Color Gradient)
有过UI设计经验的一定对2D图形渲染中的Color Gradient 或多或少有些接触,很多编程 语言也提供了Gradient的接口,但是想知道它是怎么实现的嘛? 本文介绍三种简单的颜色梯度变化算法, ...
- 机器学习(1)之梯度下降(gradient descent)
机器学习(1)之梯度下降(gradient descent) 题记:最近零碎的时间都在学习Andrew Ng的machine learning,因此就有了这些笔记. 梯度下降是线性回归的一种(Line ...
- 梯度下降(Gradient Descent)小结 -2017.7.20
在求解算法的模型函数时,常用到梯度下降(Gradient Descent)和最小二乘法,下面讨论梯度下降的线性模型(linear model). 1.问题引入 给定一组训练集合(training se ...
- 理解梯度下降法(Gradient Decent)
1. 什么是梯度下降法? 梯度下降法(Gradient Decent)是一种常用的最优化方法,是求解无约束问题最古老也是最常用的方法之一.也被称之为最速下降法.梯度下降法在机器学习中十分常见,多用 ...
- 强化学习(十三) 策略梯度(Policy Gradient)
在前面讲到的DQN系列强化学习算法中,我们主要对价值函数进行了近似表示,基于价值来学习.这种Value Based强化学习方法在很多领域都得到比较好的应用,但是Value Based强化学习方法也有很 ...
- 梯度下降(gradient descent)算法简介
梯度下降法是一个最优化算法,通常也称为最速下降法.最速下降法是求解无约束优化问题最简单和最古老的方法之一,虽然现在已经不具有实用性,但是许多有效算法都是以它为基础进行改进和修正而得到的.最速下降法是用 ...
- R语言colorRampPalette函数-创建颜色梯度(渐变色)
在绘热图时,需要将数值映射到不同的颜色上,这时就需要一系列的颜色梯度 colorRampPalette 函数支持自定义的创建一系列的颜色梯度 代码示例: > colors <- color ...
- [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)
引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等,主要学习资料来自网上的免费课程和一些经典书籍,免费课 ...
- FCC---Create a Gradual CSS Linear Gradient
Applied Visual Design: Create a Gradual CSS Linear Gradient background: linear-gradient(gradient_dir ...
- [论文阅读] 颜色迁移-Linear Monge-Kantorovitch(MKL)
[论文阅读] 颜色迁移-Linear Monge-Kantorovitch(MKL) 文章: The Linear Monge-Kantorovitch Linear Colour Mapping f ...
随机推荐
- 【TensorFlow】Tensorflow-GPU 环境搭建教程(附 Windows 版本对应表及 CUDA GPU 计算能力表)
conda教程(推荐):『Tensorflow GPU Installation Made Easy: Use conda instead of pip [Update-2] | by Harveen ...
- VS Code:4个中文乱码问题及解决方法-转载
https://www.jianshu.com/p/6a2c21cc07bb 1. 背景 凡是编程软件,特别是国外的软件,都有或多或少的中文乱码问题(毕竟程序都是用英文写的).现提出VS Co ...
- GIT迁移仓库地址时如何保留分支和历史记录
需求背景 GIT仓库(GitLab)所在服务器因某些原因要关停,相关服务需转移到另外一台机器上. 操作步骤 # clone项目 git clone --mirror http://192.168.12 ...
- CSS3选择器nth-child(n)
CSS3选择器nth-child(n)实现隔几行选择元素 nth-child(n),n 可以是数字.关键词或公式.选择器匹配属于其父元素的第N个子元素,不论元素的类型. 序号写法:li:nth-chi ...
- JAI 多图片合成TIF格式
因为项目需要,所以要做这么个工具类,发现了一些问题,接下来一一说明. 需要引入jai-codec-1.1.3.jar跟jai_code-1.1.3.jar. 1.判断图片格式: JPEG (jpg), ...
- linux 删除暂时无用内容
查看磁盘使用情况[root@localhost games]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup- ...
- Posggresql插件Multicorn安装问题总结
根据官网https://multicorn.readthedocs.io/en/latest/installation.html的安装指南下载安装,关键信息: Postgresql 9.1+ Post ...
- 为什么常用Formdata对象来上传图片
一.上传的数据体格式Content-Type 1.application/x-www-form-urlencoded 2.application/json 3.multipart/form-data ...
- golang常见编程错误集
一.append是深拷贝, func main() { a := []int{7, 8, 9} fmt.Printf("%+v\n", a) ap(a) fmt.Println(& ...
- 解决npm ERR! Cannot read properties of null (reading ‘pickAlgorithm‘)报错问题
解决方法:在终端中运行命令:npm cache clear --force 然后重新运行 npm i 命令,再次安装安装完成,没有出现报错npm run serve 运行项目,项目可以正常启动了. 安 ...