CSS3技术适合在移动Web开发中使用的特性有:
CSS3中,可以使用HTML元素的属性名定义CSS样式。
属性选择器一共分为4种匹配模式选择器:
比如通过指定id值将属性设定为红色字体:
<div id="test">测试div>
<style>
[id=test]{
color:red;
}
style>
只要元素中的属性包含指定的字符创,元素就是使用该样式。
【语法】
[attribute*=value];
attribute指的是属性名,value指的是属性值,包含匹配采用”*=”符号;
例如:
<style>
[id*=test]{
color:red;
}
style>
<div id="test">
测试1
div>
<div id="test2">
测试2
div>
<div id="test3">
测试3
div>
首字符匹配就是匹配属性值开头字符,只要开头字符符合匹配,则元素使用该样式
【语法】
[attribute^=value];
【语法】
[attribute$=value];
超链接4个状态选择器:a:link、a:visited、a:hover、a:active。
CSS3增加的选择器:
before 伪类选择器主要作用是:在选择某个元素之前插入内容,一般用于清除浮动。
支持的浏览器:IE8+、Firfox、chrome、safari、opera、Android browser 和 iOS Safari。
【语法】
元素标签:before{
content:"插入的内容";
}
例如,在p元素之前插入”文字“:
p:before{
content:"文字";
}
after 伪类元素选择器和 before伪类元素选择器原理一样。
【语法】
元素标签:after{
content:"插入的内容";
}
指定元素列表中第一个元素的样式。
【语法】
li:first-child{
color:red;
}
指定列表中最后一个元素样式。
【语法】
li:last-child{
color:red;
}
nth-child 和 nth-last-child 可以指定某个元素的样式或从后数起某个元素的样式。
//指定第2个li元素
li:nth-child(2){
}
//指定倒数第2个li元素
li:nth-last-child(2){
}
//指定偶数个li元素
li:nth-child(even){
}
//指定奇数个li元素
li:nth-child(odd){
}
阴影样式有两种:一种是文本内容的阴影效果,另一种元素阴影效果。
CSS3的box-shadow属性是让元素具有阴影效果,【语法】:
box-shadow:<length> <length> <length> || color;
第一个 length 为【阴影水平偏移值】;
第二个 length 为【阴影垂直偏移值】;
第三个 length 为 【阴影模糊值】;
基于 Webkit 的 Chrome 和 Safari 等浏览器使用 box-shadow属性,需要将属性的名称写成
-webkit-box-shadow 的形式。
Firefox 需要写成 -moz-box-shadow 的形式。
比如:
以下代码兼容 Chrome浏览器、Safari浏览器及Firefox浏览器
<style>
div{
/* 其他浏览器 */
box-shadow:3px 4px 2px #000;
/* webkit浏览器 */
-webkit-box-shadow:3px 4px 2px #000;
/* Firefox浏览器 */
-moz-box-shadow:3px 4px 2px #000;
}
style>
text-shadow 属性用于设置文本内容的阴影效果或者模糊效果。
【语法】
text-shadow: <length> <length> <length> || color;
background-size 属性用于设置背景图像的大小。
支持chrome浏览器,Safari浏览器、Opera浏览器,也支持Android和iOS平台的WEB浏览器。
webkit的 chrome和Safari浏览器下,写法为:
-webkit-background-size
Opera浏览器下不需要前缀,只需写成:
background-size
实际开发中,建议采用兼容模式的写法:
background-size:10px 5px;
-webkit-background-size:10px 5px;
background-clip 属性用于确定背景的剪裁区域。
支持除IE外大部分浏览器,实际应用不多。
【语法】
background-clip:border-box | padding-box | content-box | no-clip
border-box 是从 border 区域向外剪裁背景;
padding-box 是从 padding 区域向外裁剪背景;
content-box 是从内容区域外裁剪背景;
no-clip 是从 border 区域向外裁剪背景。
background-origin 属性是指定 background-position 属性的参考坐标的起始位置。
background-origin 属性有三种值可以选择,
border 值指定从边框左上角开始;
content 值指定从内容区域的左上角坐标开始;
padding 值指定从padding 区域开始;
CSS3中,可以设置多重背景,例如:
background: url(background1.png) left top no-repeat,
url(background2.png) left top no-repeat;
Webkit 的其中一种特性对背景采用颜色渐变,而非采用图片的方式。
【语法】
-webkit-gradient(<type>, <point> [, <radius>]?, <point> [, <radius>]? [, <stop>]*)
type 类型指的是 采用渐变类型,如线性渐变 linear 或径向渐变 radial。
比如:
background:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#000));
//以上代码表示,定义一个渐变背景色,线性渐变从白色到黑色渐变。
// 前面两个 0 表示是渐变开始的 X 和 Y坐标位置; 0 和 100% 表示是渐变结束的X 和Y 坐标的位置
border-radius:10px 5px;
-moz-border-radius:10px 5px;
-webkit-border-radius:10px 5px;
Apple 为了解决移动版 Safari 的屏幕分辨率大小问题,专门定义了viewport 虚拟窗口。
主要作用是:允许创建一个虚拟的窗口,并自定义其窗口的大小或缩放功能。
如果没定义,默认大小为980像素。
不同浏览器 viewport 窗口默认大小:
viewport 虚拟窗口在 meta 元素中定义,主要作用是设置 Web页面适应移动设备的屏幕大小。
代码:
"viewport" content="width=device-width,initial-scale=1,user-scalable=0" />
// 自定义虚拟窗口,并指定虚拟窗口 width宽度为 device-width
// 初始缩放比例为 1倍
// 不允许手动缩放
content 属性定义三种参数。实际 6种参数: