CSS3的高级特性
CSS3对响应式设计非常有用:使用CSS3替代图片,在有带宽限制的网页中可有效减少http请求(从而使网页加载更快),并可使网页更灵活、更容易维护。
在开发CSS3时,要记住添加相关的浏览器私有前缀以保证最广泛的浏览器兼容。
1.文字阴影
1.基本语法
.element{
text-shadow:1px 1px 1px #cccccc;
}
记住,阴影值的速记规则永远是先右再向下。因此,第一个值指的是右侧阴影的大小,第二个值指的是下方阴影的大小,第三个值指的是模糊距离(即阴影从开始变淡到完全消失的距离),最后一个值是阴影颜色。
2.HEX、HSL或RGB颜色都可以,同时要考虑浏览器兼容性。
text-shadow:4px 4px 0px #404442;
text-shadow:4px 4px 0px hsla(140,3%,26%,0.4);
3.px、em或rem都行
阴影值也可以使用em或rem单位。如下代码
text-shadow:.039215686em .039215686em 0em #dat7d7;
4.取消文字阴影:
text-shadow:none;
5.左上方文字阴影
text-shadow:-4px -4px 0px #dad7d7;
6.制作浮雕文字阴影效果
text-shadow最适合用来制作浮雕文字。这种效果一般最适合应用在非白色背景的深色文字上,搭配以高亮颜色(如纯白色或类似颜色)的阴影。
想要最好的浮雕文字效果就是:不要模糊,不要水平阴影,仅在垂直方向设置1或2像素的“白影”即可。
7.多重文字阴影
制作多重文字阴影,只需将两组值使用逗号分隔开即可,比如:
text-shadow:0px 1px #ffffff,4px 4px 0px #dad7d7;
2.盒阴影
盒阴影的语法和文字阴影完全一样:水平偏移距离、垂直偏移距离、模糊半径,以及阴影颜色:
box-shadow:0px 3px 5px #444444;
但是,盒阴影的跨浏览器支持并不好,所以明智的做法是使用浏览器私有前缀,例如:
-ms-box-shadow:0px 3px 5px #444444;
-moz-box-shadow:0px 3px 5px #444444;
-webkit-box-shadow:0px 3px 5px #444444;
box-shadow:0px 3px 5px #444444;
1.内阴影
box-shadow:inset 0 0 40px #000000;
2.多重阴影
box-shadow: inset 0 0 30px hsl(0,0%,0%),
inset 0 0 70px hsla(0,97%,53%,1);
3.背景渐变
1.线性背景渐变
background: linear-gradient(90deg,#ffffff 0%,#e4e4e4 50%,#ffffff 100%);
分解线性渐变语法:
(1)圆括号中的第一个值(即例子中的90deg,可选)定义了渐变的方向。不定义该值则默认是一个垂直从顶部到底部的渐变。你还可以使用如to top right这样的值,这会产生一个朝右上角的对角线渐变。
(2)下一个值(例子中的#ffffff 0%)定义的是渐变的“起点”,包括起点的颜色和位置。你也可以使用像bule 20%这样的值,这样就是从蓝色开始渐变到下一个颜色,而渐变开始位置则位于假想的渐变路径的20%处。同样,起点位置也可以使用负值,这样渐变从实际可见区域之外就开始了。比如:
background: linear-gradient(90deg,#ffffff -50%,#e4e4e4 50%,#ffffff 100%);
(3)下一个值指的是“颜色过度点”。我们来回顾一下:沿着90度垂直方向,从白色开始(#ffffff 0%),向位于渐变路径50%处的#e4e4e4这个颜色(浅灰色)渐变。这里就是渐变中的第一个过度颜色点。如果需要的话,可以在渐变“终点”之前定义更多的过渡颜色点(使用逗号隔开)。
(4)圆括号中的最后一个值始终是渐变的”终点“。无论在起点之后放置了多少个过渡颜色点,最后一个值始终是终点。
2.径向背景渐变
语法:
background: radial-gradient(center,ellipse cover,#ffffff 72%,#dddddd 100%);
分解径向渐变语法
(1)我们设定的是radial-gradient(而不是linear-gradient)。然后在圆括号中设定起点。例子中我们用的是center,其实我们也可以使用如25px 25px 这样的值。这就表示从距元素上边和左边均为25像素的那个点开始渐变。
background: radial-gradient(25px 25px,ellipse cover,#ffffff 72%,#dddddd 100%);
(2)下一个值(ellipse cover),指的是径向渐变的形状和大小。渐变形状要么是circle(圆形,渐变会均匀地向各个方向辐射),要么是ellipse(椭圆形,在不同的方向辐射量不同)。而渐变形状的大小则有很大的灵活性,大小值可以是下列任何一种。
a>.closest-side:(渐变形状是圆形时)以距离中心点最近的一边为渐变半径,或者(渐变形状是椭圆时)以距离中心点最近的水平或垂直边为渐变半径。
b>.closest-corner:以距离中心点最近的一角为渐变半径。
c>.farthest-side:和closest-side正好相反,(渐变形状是圆形时)以距离中心点最远的一边为渐变半径,或者(渐变形状是椭圆时)以距离中心点最远的水平或垂直边为渐变半径。
d>.farthest-corner:以距离中心点最远的一角为渐变半径。
e>.cover:和farthes-corner完全一样。
f>.contain:和closest-side完全一样。
(3)接下来是渐变起点、过渡颜色点以及终点(这部分和线性渐变是一样的)。
制作完美CSS3渐变的简便方法:使用在线渐变生成器。网站是:http://www.colorzilla.com/gradient-editor/
3.重复渐变
语法:
(1)重复线性渐变:
background: repeating-linear-gradient(90deg,#ffffff 0px,hsla(0,1%,50%,0.1) 5px);
(2)重复径向渐变:
background: repeating-radial-gradient(2px 2px,ellipse,hsla(0,0%,100%,1) 2px,hsla(0,0%,95%,1) 10px,hsla(0,0%,93%,1) 15px,hsla(0,0%,100%,1) 20px);
4.背景渐变图案
body{
background-color: white;
background-image:
radial-gradient(hsla(0,0%,87%,0.31) 9px,transparent 10px),
repeating-radial-gradient(hsla(0,0%,87%,0.31) 0,
hsla(0,0%,87%,0.31) 4px,transparent 5px,
transparent 20px,hsla(0,0%,87%,0.31) 21px,
hsla(0,0%,87%,0.31) 25px,transparent 26px,
transparent 50px);
background-size: 30px 30px,90px 90px;
background-position: 0 0;
}
CSS高手Lea Verou收集了一系列CSS3背景渐变图案,具体请见:http://lea.verou.me/css3patterns/
5.CSS3的响应性
可以针对不同的视口使用不同的声明。例如针对较小的视口可以继续使用上一节中的渐变图案。但针对大视口(例如宽度大于等于768像素的视口),可以继续使用背景渐变图案。
CSS3的高级特性的更多相关文章
- ActiveMQ中的Destination高级特性(一)
---------------------------------------------------------------------------------------- Destination ...
- Python3学习(二)-递归函数、高级特性、切片
##import sys ##sys.setrecursionlimit(1000) ###关键字参数(**关键字参数名) ###与可变参数不同的是,关键字参数可以在调用函数时,传入带有参数名的参数, ...
- 云端卫士实战录 | Java高级特性之多线程
<实战录>导语 一转眼作为一名Java开发者已经四年多时间了,说长不长说短不短,对于java的感情还是比较深的,主要嘛毕竟它给了我饭吃.哈哈,开个玩笑.今天我想借此机会来和大家聊聊Java ...
- javascript高级特性
01_javascript相关内容02_函数_Arguments对象03_函数_变量的作用域04_函数_特殊函数05_闭包_作用域链&闭包06_闭包_循环中的闭包07_对象_定义普通对象08_ ...
- Visual Studio 2015 速递(4)——高级特性之移动开发
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- Android TextView高级特性使用
TextView一般都是用来显示一段文本,这里说的高级特性主要是一些我们平常不太常用的属性.包括文字阴影.自定义字体.html嵌入多格式.字体加粗.插入图片.这些特性平时开发APP的时候,可能一般使用 ...
- Python的高级特性8:你真的了解类,对象,实例,方法吗
Python的高级特性1-7系列是本人从Python2过渡3时写下的一些个人见解(不敢说一定对),接下来的系列主要会以类级为主. 类,对象,实例,方法是几个面向对象的几个基本概念,其实我觉得很多人并不 ...
- Python的高级特性7:闭包和装饰器
本节跟第三节关系密切,最好放在一起来看:python的高级特性3:神奇的__call__与返回函数 一.闭包:闭包不好解释,只能先看下面这个例子: In [23]: def outer(part1): ...
- VQuery高级特性
VQuery高级特性 css方法 同时设置多个--for in 链式操作 链式操作 函数,链式操作 css 方法链式操作 json的使用 阻止冒泡,默认事件 VQuery插件 插件机制 可以扩展库的功 ...
随机推荐
- HTML页面meta标签内容详解
所有的浏览器都支持meta标签,用于提供页面相关信息,信息都是以名(http-equiv和name标示)/值(content标示)对的形式现实. 属性content,用于定义http-equiv(定义 ...
- python之路十
协程协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时 ...
- swift 001
swift 001 = 赋值是没有返回值的 所以 int a=10; int b=20; if(a=b){ printf("这个是错误的"); } swift 中的模运算 是支 ...
- vmware esxi 找不到网卡驱动,硬盘的解决方法
解决方法就是把ESXi无法识别的硬件的驱动定制进安装镜像文件中. ESXi 5.5 U2: VMware-VMvisor-Installer-5.5.0.update02-2068190.x86_64 ...
- 如何使用videojs兼容IE8浏览器
需要在服务器下运行 首先我们需要下载videojs包 https://github.com/videojs/video.js/releases 这里简单写了一个小栗子 <!DOCTYPE htm ...
- Cannot add Controls from 64-bit Assemblies to the Toolbox or Use in Designers Within the Visual Studio IDE
原文地址:https://support.microsoft.com/en-us/kb/963017 Source: Microsoft Support RAPID PUBLISHING RAPID ...
- [BI项目记]-搭建代码管理环境之服务端
上一篇介绍如何搭建环境进行文档版本的管理,这篇主要介绍搭建环境进行代码版本的管理. 即使是BI项目也要进行代码版本管理.代码版本管理的工具有很多,VSS, SVN等都是当下大家经常提起的,这里主要介绍 ...
- CozyRSS开发记录5-订阅列表栏里的项
CozyRSS开发记录5-订阅列表栏里的项 1.订阅列表栏里的项的原型图 这里列表项依然参考傲游的RSS阅读器,以后可能会微调. 2.使用ControlTemplate来定制ListBoxItem 给 ...
- DNS域名解析过程
图1-10是DNS域名解析的主要请求过程实例图. 如图1-10所示,当一个用户在浏览器中输入www.abc.com时,DNS解析将会有将近10个步骤,这个过程大体描述如下.当用户在浏览器中输入域名并按 ...
- 桶装水 送水 消费充值PDA会员管理系统 介绍
桶装水 送水 消费充值PDA会员管理系统 介绍 主要功能:会员管理临时开卡.新增会员.修改会员.删除会员场馆管理仓管信息管理.租凭信息管理会员卡管理会员卡类型设置.会员发卡.会员信息管理.体验用户发卡 ...