CSS 3 属性学习 —— 1. Gradient 渐变
CSS3 中渐变分为:
线性渐变(linear-gradient)和径向渐变(radial-gradient)两种。
1. 线性渐变
参数:
<linear-gradient> = linear-gradient( [<position>,] [<angle>,] <color-stop>[,<color-stop>]+ ); 设置线性渐变,我们至少要一个position或者angle来表示我们渐变的防线,同时还要设置两个颜色节点表示起始和终止。 1.1 position 的值有如下选择:
a) [top | bottom] || [left | right] b) <length> [ <length> ] c) <length> '/' <length> <length> '/' <length>
a) 表示简单的 从上到下、从下向上、从左往右、从右至左 的渐变方向,
示例1(case a):
background: linear-gradient(to bottom, #000, #FFF); background: -webkit-linear-gradient(top, #000, #FFF); background: -o-linear-gradient(top, #000, #FFF); background: -moz-linear-gradient(top, #000, #FFF);
b) 表示在容器中 横向位置渐变的起始位置 和 纵向位置渐变的起始位置(测试完发现只有火狐支持),
background: -moz-linear-gradient(10px 10px, #000, #FFF);
c) 表示在 b) 的基础上,横向和纵向的偏移距离(发现均不支持)。
总结:
上面三种写法经过测试后,发现只有 a 普遍支持,因而建议直接使用 top|left|bottom|right 这样的写法。
1.2 使用角度 angle:
.gradient-30deg{
background: linear-gradient(30deg, #000, #FFF);
background: -webkit-linear-gradient(30deg, #000, #FFF);
background: -o-linear-gradient(30deg, #000, #FFF);
background: -moz-linear-gradient(30deg, #000, #FFF);
}
1.3 使用 color stop
gradient 属性还可以通过 color stop 这一属性,让一个元素进行多次渐进变化。
可以通过百分比的形式进行每个渐变色节点的设置,或者不进行设置让浏览器去通过个数平均分配,如:
background: -moz-linear-gradient(left, #ace, #f96, #ace); background: -webkit-gradient(linear, left top, right top, from(#ace), color-stop(0.5, #f96), to(#ace)); background: -webkit-linear-gradient(left, #ace, #f96, #ace); background: -o-linear-gradient(left, #ace, #f96, #ace);
2. 径向渐变
参数:
-moz-radial-gradient([<bg-position> || <angle>,]? [<shape> || <size>,]? <color-stop>, <color-stop>[, <color-stop>]*); -webkit-radial-gradient([<bg-position> || <angle>,]? [<shape> || <size>,]? <color-stop>, <color-stop>[, <color-stop>]*);
bg-position(背景位置) 一个 坐标
angle(角度) 一个或多个
shape(形状)一个 圆形或椭圆形 ellipse circle
size(尺寸) 一个或多个 最近端,最近角,最远端,最远角,包含或覆盖 (closest-side, closest-corner, farthest-side, farthest-corner, contain or cover)
.radial-grad{
background: radial-gradient(#F00, #0F0, #00F);
background: -webkit-radial-gradient(#F00, #0F0, #00F);
background: -o-radial-gradient(#F00, #0F0, #00F);
background: -moz-radial-gradient(#F00, #0F0, #00F);
}
通过示例一我们可以发现,默认情况下shape是使用的椭圆
.radial-grad-cir{
background: radial-gradient(circle, #F00, #0F0, #00F);
background: -webkit-radial-gradient(circle, #F00, #0F0, #00F);
background: -o-radial-gradient(circle, #F00, #0F0, #00F);
background: -moz-radial-gradient(circle, #F00, #0F0, #00F);
}
通过示例可以看到,如果容器不为正方形,设置为圆形会出现显示缺角的情况,这点在实际使用时需要注意。
需要设置圆心位置 这里设置为 30% 30%。
.radial-grad-closest-slide{
background: radial-gradient(30% 30%, closest-side,#F00, #0F0, #00F);
background: -webkit-radial-gradient(30% 30%, closest-side,#F00, #0F0, #00F);
background: -o-radial-gradient(30% 30%, closest-side,#F00, #0F0, #00F);
background: -moz-radial-gradient(30% 30%, closest-side,#F00, #0F0, #00F);
}
.radial-repeat{
background: -webkit-repeating-radial-gradient(#f00, #0f0 10%, #00f 15%);
background: -o-repeating-radial-gradient(#f00, #0f0 10%, #00f 15%);
background: -moz-repeating-radial-gradient(#f00, #0f0 10%, #00f 15%);
background: repeating-radial-gradient(#f00, #0f0 10%, #00f 15%);
}
注意的是要通过设置比例的形式来进行规定重复次数。
CSS 3 属性学习 —— 1. Gradient 渐变的更多相关文章
- CSS 3 属性学习大纲
1. Gradient 渐变 2. RGBA 颜色透明 3. Border-radius 圆角 4. text-shadow 文字阴影 5. box-shadow 图层阴影 6. Transform ...
- CSS display属性学习
---恢复内容开始--- http://www.w3school.com.cn/cssref/pr_class_display.asp 所有主流浏览器都支持 display 属性,如IE,Firefo ...
- CSS 3 属性学习 —— 2. RGBA
RGBA 是 CSS3 中用来控制颜色的单位,分别是 Red Green Blue 三原色和 Alpha 透明度的缩写. 也就是说该属性可以帮助我们在设置颜色的同时,也设置了其透明度. 其实就是 RG ...
- css属性学习
CSS display 属性 display 属性规定元素应该生成的框的类型. none:此元素不会被显示. block:此元素将显示为块级元素,此元素前后会带有换行符. inline默认.此元素会被 ...
- css的基本操作学习--css样式,选择器,hover,文字属性,文本属性,背景
什么是css? 通配符选择器 <head> /* *通配符选择器 匹配任何元素 */ *{ margin: 0; padding: 0; } </head> css样式有三种 ...
- #学习记录#——CSS content 属性
CSS content 属性常结合:before 和:after 这两个伪类一起使用,给指定的元素添加内容来丰富页面. 1. 添加文本内容 html: <h1>给末尾添加内容. </ ...
- 1+x证书学习日志——css常用属性
## css常用属性: 1:文本属性: 文本大小: font-size:18px; 文本颜色 colo ...
- css之属性部分
这篇写的是今天的学习到的属性,一共20个. 属性再多,但也要会使用,会在使用时可以记起它,才能起到它为我们所需要的作用. 样式属性 1.border CSS边框属性允许你指定一个元素边框的样式和颜色. ...
- 原生 CSS 网格布局学习笔记
下是来自Oliver Williams的帖子. Oliver已经学习了相当长时间的原生CSS网格,可以说是在CSS网格方面有一定的发言权.在这篇文章中,他将以非同寻常的思路分析自己的CSS网格布局学习 ...
随机推荐
- C# Cache何时使用及使用方法
Cache 即高速缓存.那么cache是怎么样提高系统性能与运行速度呢?是不是在任何情况下用cache都能提高性能?是不是cache用的越多就越好呢?我在近 期开发的项目中有所体会,写下来当作总结也希 ...
- php单例设计模式
class car { static $obj = null; private function __construct(){} static function getObj(){ if(is_nul ...
- 创建一个基本的 Win32 窗口
#include <Windows.h> //Forward declarations bool InitMainWindow(HINSTANCE, int); LRESULT CALLB ...
- CAA调试
在需要调试的Module(*.m)上右键,选择属性,命令位置选择你的framework目录 路径选择对应工程目录下的\intel_a(或者Win64 -- 64位机器) 然后就可以尽 ...
- Asp.net SignalR 初试和应用笔记一 认识和使用 SignalR
如果你在用QQ,微信.你会知道,广告和消息无处不在.也有好的一面,比如通过QQ或微信,微博等及时聊天功能,你找到了你的初恋,你找到了小学的班级等等. 这里的及时通信在很多应用场所能用到,比如: 1.球 ...
- 移动端-弹窗demo
<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name ...
- centos安装phpMyAdmin
phpMyAdmin是一个网络接口,通过它可以管理你的MySQL数据库. 首先,我们使CentOS系统RPMForge软件库的phpMyAdmin,而不是官方的CentOS 6.2库: 所以需要导入 ...
- 恶补ASP.NET基础【1】枚举和结构
有时我们希望变量提取的是一个固定集合中的值,此时就可以用枚举类型, 例: enum OpenMode : byte { 新增=, 编辑=, 查看= } class Program { static v ...
- mono 判断系统的网络是否可用
/** * 判断系统的网络是否可用 * @return */ private bool isNetworkConnected() { bool ...
- C++模板类中使用静态成员变量(例如Singleton模式)
一个最简单Singleton的例子: ///////// Test.h /////////template <class _T>class CTest{private:_T n;stati ...