目录

CSS3 简介

CSS3规则

@media

@font-face

@keyframes

CSS3 函数

rgba

linear-gradient

repeating-linear-gradient

radial-gradient

repeating-radial-gradient

CSS3 边框

border-radius

border-image

CSS3 背景

background-image

background-size

background-origin

background-clip

CSS3 文本

text-shadow

text-overflow

word-break

word-wrap

CSS3 2D/3D转换

transform

transform-origin

transform-style

perspective-origin

backface-visibility

CSS3 过渡

transition

CSS3 动画

animation

animation-play-state

CSS3 多列

column-count

column-grap

column-rule

column-width

CSS3 盒子

box-sizing

box-shadow

flex

flex-flow

align-items

align-self

align-content

justify-content

order


css用于控制网页的样式和布局,css3是css2的升级版本,css3语言开发是朝着模块化发展的。

在编写css3样式时,不同的浏览器可能需要添加不同的前缀,这是因为有些css3属性尚未成为W3C标准时,一些浏览器就已经对一些css3属性进行了私有化属性实现。为了更好地向前兼容,一些必要的浏览器前缀还是可以加上的。

前缀

浏览器

-webkit-

Chrome,Safari

-moz-

Firefox

-ms-

IE

-o-

Opera

因为一些旧版本浏览器并不支持CSS3新特性,所以在开发前端页面时,有如下两种基本开发理念可供选择。

1.渐进增强:先实现所有浏览器基本都支持的功能,然后添加一些只有新式浏览器才支持的展示效果功能。

2.优雅降级:一开始就针对新式浏览器实现所有的功能,然后针对低版本浏览器做一些必要的兼容工作。

渐进增强示例代码:

.trans_1{-webkit-transition: all .6s;-moz-transition: all .6s;-o-transition: all .6s;transition: all .6s;
}

优雅降级示例代码:

.trans_1{ transition: all .6s;-o-transition: all .6s;-moz-transition: all .6s;-webkit-transition: all .6s;
}

CSS3规则

@media

作用:针对不同的屏幕尺寸设置不同的样式。

语法:

@media mediatype and|not|only (media feature) {

CSS-Code;

}

注意:

可以针对不同屏幕尺寸引入不同的样式表。

语法示例为

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mediatype.css">

@font-face

作用:从网上下载并使用自规定字体,使页面显示字体不依赖用户的操作系统字体环境。

可在@font-face规则规定:

font-family 必需。规定字体的名称。

src 必需。规定字体文件的 URL。

font-stretch  可选。规定如何拉伸字体。默认值是 "normal"。

font-style    可选。规定字体的样式。默认值是 "normal"。

font-weight   可选。规定字体的粗细。默认值是 "normal"。

unicode-range 可选。规定字体支持的 UNICODE 字符范围。

代码示例:

@font-face{font-family: serverFont; /* 可以给引入的字体文件自规定名字 */src: url(***.woff);font-weight:bold;}

注意:

引入的字体应该是被授权使用的,以避免侵权。

@keyframes

作用:创建动画,将一套 CSS 样式逐渐变化为另一套样式。

语法:

@keyframes animationname {keyframes-selector {css-styles;}}

参数:

animationname 必需。规定动画的名称。

keyframes-selector 必需。动画时长的百分比。

值为0-100%|from【=0%】|to【=100%】

css-styles 必需。一个或多个合法的 CSS 样式属性及值。

用到前缀:-webkit-、-moz-、-o-

注意:

前缀是加在@和keyframes之间,如 @-webkit-keyframes。

CSS3 函数

rgba

作用:使用红(R)、绿(G)、蓝(B)、透明度(A)的叠加来生成各式各样的颜色。

语法:

rgba(red, green, blue, alpha)

注意:

红(R)、绿(G)、蓝(B)取值是0至255的整数,透明度(A)取值是0到1。

alpha为0表示完全透明,为1表示完全不透明。

linear-gradient

作用:用线性渐变创建 "图像"。

语法:

linear-gradient(direction|angle, color-stop1, color-stop2, ...);

用到前缀:-webkit-、-moz-、-o-

注意:

direction的值建议用角度(单位deg,可按原点和二维直角坐标系来理解,0deg表示从下到上,45deg表示从左下角到右上角,90deg表示从左到右,180deg表示从上到下,-90deg表示从右到左)来表示,如果用top\left\bottom\right则不同浏览器前缀的该属性值设置不一定一样。

color-stop1,color-stop2,...参数由颜色值(可用rgba函数表示)和渲染的停止位置(数值+单位,百分比)组成,且color-stop2的停止位置不应该比color-stop1的停止位置小,依次类推。停止位置可省略。

repeating-linear-gradient

作用:创建重复的线性渐变 "图像"。

语法:

repeating-linear-gradient(direction|angle,color-stop1,color-stop2, ...);

用到前缀:-webkit-、-moz-、-o-

radial-gradient

作用:用径向渐变创建 "图像"。

语法:

radial-gradient(shape size at position,start-color,..., last-color);

参数:

shape:规定圆的类型,值为ellipse(椭圆,默认)|circle(圆)。

size: 规定渐变的大小,默认值为farthest-corner (最远的角落)。

position: 规定渐变的位置,值为 center(默认)|top|bottom。

start-color, ..., last-color:用于指定渐变的起止颜色。

可以使用 长度值或百分比来指定起止色位置。

用到前缀:-webkit-、-moz-、-o-

repeating-radial-gradient

作用:创建重复的径向渐变 "图像"。

语法:

repeating-radial-gradient(shape size at position, start-color, ..., last-color);

用到前缀:-webkit-、-moz-、-o-

CSS3 边框

border-radius

作用:设置边框圆角。

语法:

border-radius: 1-4 length|% / 1-4 length|%;

拆分:

border-top-left-radius

border-top-right-radius

border-bottom-right-radius

border-bottom-left-radius

用到前缀:-webkit-、-moz-

注意:

border-radius四个值分别对应:上左角,上右角,下右角,下左角。

border-radius三个值分别对应:上左角,上右角和下左角,下右角。

border-radius 两个值分别对应:上左角和下右角,上右角和下左角。

border-radius 一个值对应四个角。

border-image

作用:设置图像边框。

语法:

border-image: source slice width outset repeat;

拆分:

border-image-source: none|image【指定要使用的图像】;

border-image-slice: number|%|fill【保留图像的中间部分】;

指定图像的边界向内偏移。

border-image-width: number|%|auto;

border-image-outset: length|number;

指定在边框外部绘制 border-image-area 的量。

border-image-repeat: stretch|repeat|round|space|initial|inherit;

拉伸|平铺|缩放平铺|扩张平铺|设置为默认值|继承

用到前缀:-webkit-、-moz-、-o-

CSS3 背景

background-image

作用:可设置多张背景图片。

语法:

background-image:<bg-image> [ , <bg-image> ]*

参数:

<bg-image> = none | <url> |

<linear-gradient> 【使用线性渐变创建背景图像】|

<radial-gradient> 【径向(放射性)渐变】|

<repeating-linear-gradient> 【重复的线性渐变】|

<repeating-radial-gradient> 【重复的径向(放射性)渐变】

注意:

background属性是所有 background-* 属性的简写属性。因此css3中 background可以用逗号,分隔多个背景图像的设置。

background-size

作用:规定背景图像的尺寸。

语法:

background-size: length【两个值(宽度、高度)|一个值(宽度、auto)】|

percentage【父元素的百分比,值数为2,1解析同上】|

cover【保持宽高比扩张到完全覆盖】|

contain【保持宽高比扩张到最大覆盖大小】;

用到前缀:-webkit-、-moz-、-o-

background-origin

作用:规定 background-position 属性相对于什么位置来定位。

语法:

background-origin: padding-box【背景图像相对于内边距框来定位】|

border-box【边框盒】|

content-box【内容框】;

注意:

如果背景图像的 background-attachment 属性为 "fixed",则该属性没有效果。

background-clip

作用:指定背景绘制区域。

语法:

background-clip: border-box|padding-box|content-box;

用到前缀:-webkit-、-moz-、-o-

CSS3 文本

text-shadow

作用:给文本创建阴影。

语法:

text-shadow: h-shadow【水平,可为负数】 v-shadow blur color;

注意:

此属性有继承性。

text-overflow

作用:指定当文本溢出包含它的元素时,该如何显示。

语法:

text-overflow: clip【裁剪】|ellipsis【省略号】|string【指定文本】;

用到前缀:-o-

word-break

作用:指定非CJK(中日韩)脚本的断行规则。

语法:

word-break: normal|break-all【单词内】|keep-all【半角空格或连字符】;

word-wrap

作用:允许长的内容可以自动换行

语法:

word-wrap: normal|break-word【在长单词或者URL地址内部进行换行】;

补充:

white-space 是一个css1,css2属性,用于设置如何处理元素内的空白。

white-space :normal;默认,空白会被浏览器忽略。

:pre;空白会被保留,其功能类似HTML中的<pre>标签。

:nowrap;文本不换行,直到遇到<br />标签。

:pre-line;合并空白符序列,正常换行。css2.1新增。

:pre-wrap;保留空白符序列,正常换行。css2.1新增。

:inherit;继承父元素该属性的值。

CSS3 2D/3D转换

transform

作用:对元素进行2D或3D转换。

语法:

transform: none【不进行转换】|transform-functions;

参数:

transform-functions中包含的函数有:

matrix(n,n,n,n,n,n) 规定 2D 转换,使用六个值的矩阵。

matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 规定 3D 转换,使用 16 个值的 4x4 矩阵。

translate(x,y) 规定 2D 转换。

translate3d(x,y,z) 规定 3D 转换。

scale(x[,y]?) 规定 2D 缩放转换。

scale3d(x,y,z) 规定 3D 缩放转换。

rotate(angle) 规定 2D 旋转,在参数中规定角度。

rotate3d(x,y,z,angle)规定 3D 旋转。

skew(x-angle,y-angle)规定沿着 X 和 Y 轴的 2D 倾斜转换。

perspective(n) 为 3D 转换元素规定透视视图。

用到前缀:(2D)-webkit-、-moz-、-ms-、-o-

(3D)-webkit-、-moz-

注意:

translateX(x),translateY(y),translateZ(z),scaleX(x),scaleY(y),scaleZ(z),rotateX(angle),rotateY(angle),rotateZ(angle),skewX(angle),skewY(angle)是针对具体的X/Y/Z轴进行变换的。

transform-origin

作用:更改转换元素的位置。

语法:

transform-origin: x-axis y-axis z-axis;

参数:

x-axis 规定视图在X轴的位置,值为left|center|right|length|%。

y-axis 规定视图在Y轴的位置,值为left|center|right|length|%。

z-axis 规定视图在Z轴的位置,值为length。

用到前缀:(2D)-webkit-、-moz-、-ms-、-o-

(3D)-webkit-、-moz-

注意:

参数x-axis、y-axis 的默认值为50%,z-axis的默认值为0。

transform-style

作用:指定嵌套元素如何在三维空间中呈现。

语法:

transform-style: flat【子元素不保留其3D位置】|preserve-3d【保留】;

用到前缀:-webkit-、-moz-

perspective-origin

作用:规定 3D 元素所基于的 X 轴和 Y 轴,允许改变 3D 元素的底部位置。

语法:

perspective-origin: x-axis y-axis;

参数:

x-axis 规定视图在X轴的位置,值为left|center|right|length|%。

y-axis 规定视图在Y轴的位置,值为left|center|right|length|%。

用到前缀:-webkit-、-moz-

注意:

参数x-axis、y-axis 的默认值为50%。

backface-visibility

作用:规定当元素不面向屏幕时是否可见。

语法:

backface-visibility: visible|hidden;

用到前缀:-webkit-、-moz-

CSS3 过渡

transition

作用:设置元素当过渡效果。

语法:

transition: property duration timing-function delay;

拆分:

transition-property 规定设置过渡效果的 CSS 属性的名称。

值为

none|all【所有属性获得过渡效果】| property【指定属性】;

transition-duration 过渡时长【默认0,单位为秒或者毫秒】

transition-timing-function 规定速度效果的速度曲线。

值为

linear【匀速】|ease【慢快慢】|ease-in【以慢速开始】|

ease-out【以慢速结束】|ease-in-out【以慢速开始和结束】|

cubic-bezier(n,n,n,n)【贝塞尔曲线,n为0和1及之间的数值】

transition-delay 延迟开始时长【默认0,单位为秒或者毫秒】

用到前缀:-webkit-、-moz-、-o-

注意:使用transition属性时需要设置transition-duration,否则过渡时间会被设为0,不会展现出过渡效果。

CSS3 动画

animation

作用:实现动画效果。

语法:

animation: name duration timing-function delay iteration-count direction;

拆分:

animation-name  规定绑定到@keyframes的动画名称。

animation-duration  规定动画时长,默认为0,单位为秒或毫秒。

animation-timing-function规定动画的速度曲线。

animation-delay  规定在动画开始之前的延迟时长。

animation-iteration-count规定动画播放次数,默认为1。infinte表无限。

animation-direction  规定是否应该轮流反向播放动画。

值为

normal【正向】|reverse【反向】|

alternate【奇正偶反】|

alternate-reverse【奇反偶正】;

用到前缀:-webkit-、-moz-、-o-

animation-play-state

作用:设置运行或暂停动画。

语法:

animation-play-state: running【运行】|paused【暂停】;

用到前缀:-webkit-、-moz-、-o-

注意:

可在javascript里设置该属性值,以控制动画效果。

CSS3 多列

column-count

作用:规定元素应该被划分的列数。

语法:

column-count: auto|number;

用到前缀:-webkit-、-moz-

column-grap

作用:指定列之间的间距。

语法:

column-gap: normal|length;

用到前缀:-webkit-、-moz-

column-rule

作用:指定列之间的宽度,分隔线样式和颜色。

语法:

column-rule: column-rule-width column-rule-style column-rule-color;

用到前缀:-webkit-、-moz-

注意:

column-rule-style取值有

none|hidden|dotted|dashed|solid|double|groove【3D,后同】|ridge|inset|outset

column-width

作用:规定列的宽度。

语法:

column-width: auto|length;

用到前缀:-webkit-、-moz-

CSS3 盒子

box-sizing

作用:规定如何计算一个元素的总宽度和总高度。

语法:

box-sizing: content-box|border-box|inherit:

用到前缀:-webkit-、-moz-

注意:

box-sizing值为content-box时

width  + padding + border   = 元素实际宽度

height + padding + border  = 元素实际高度

box-sizing值为border-box时

width   = 元素内容宽度 + padding + border

height = 元素内容高度 + padding + border

box-shadow

作用:向框添加一个或多个阴影。

语法:

box-shadow: h-shadow【*】 v-shadow【*】 blur spread color inset;

用到前缀:-webkit-、-moz-、-o-

注意:

参数中blur表示模糊距离,spread表示阴影尺寸,inset表示内阴影。

flex

作用:设置或检索弹性盒模型对象的子元素如何分配空间。

语法:

flex: flex-grow flex-shrink flex-basis |auto|initial|inherit;

参数值:

auto      与 1 1 auto 相同。

none     与 0 0 auto 相同。

initial     即 0 1 auto 默认值。

inherit   从父元素继承该属性。

拆分:

flex-grow   默认为0,规定项目将相对于其他灵活的项目进行扩展的量。

flex-shrink 默认为1,规定项目将相对于其他灵活的项目进行收缩的量。

flex-basis  项目的长度。值为auto|length|initial|inherit

用到前缀:-webkit-、-moz-、-ms-

注意:

flex-shrink仅在flex元素内各个子元素宽度之和大于flex元素宽度时才会生效收缩,flex-shrink分配的是缩减的差量给flex元素里的各个子元素。

语法中的|auto|initial|inherit应该理解为flex的取值,而非flex-basis的取值。

flex-flow

作用:用于设置或检索弹性盒模型对象的子元素排列方式。

语法:

flex-flow: flex-direction flex-wrap |initial|inherit;

拆分:

flex-direction  规定灵活项目的方向,有效的取值为

row【默认,水平方向】|row-reverse【水平反方向】|

column【竖直方向】|column-reverse【竖直反方向】|

initial|inherit

flex-wrap        规定flex容器是单行还是多行,有效的取值为

nowrap|wrap|wrap-reverse【反序拆】|initial|inherit

用到前缀:-webkit-、-moz-、-ms-

align-items

作用:设置flex元素的对齐方式。

语法:

align-items:  stretch【默认,拉伸】|center【中心元素在容器内】|

flex-start【容器开头】| flex-end【容器末端】|

baseline【容器基线】|initial|inherit;

用到前缀:-webkit-

align-self

作用:规定flex子项单独在侧轴(纵轴)方向上的对齐方式。

语法:

align-self: auto|stretch|center|flex-start|flex-end|baseline|initial|inherit;

用到前缀:-webkit-

注意:

语法中auto值为默认值,含意是继承父容器的align-items值,若没有父容器则值为“stretch”。

每个flex对象元素的align-self属性可重写align-items属性。

align-content

作用:设置flex盒子内部各个子元素垂直方向上占用空间的方式。

语法:

align-content: stretch|center|flex-start|flex-end|

space-between【中间空】|space-around【上下空】|

initial|inherit;

用到前缀:-webkit-

注意:

如果flex盒子的宽度大于内部各个子元素的宽度,那么会出现子元素优先并排组合成行,再垂直方向上分配空间。

justify-content

作用:设置flex盒子内部各个子元素水平方向上占用空间的方式。

语法:

justify-content:  flex-start【默认,容器开头】|flex-end|center|

space-between【中间空】|space-around【左右空】|

initial|inherit;

用到前缀:-webkit-、-moz-

order

作用:设置弹性盒模型对象的子元素出现的順序。

语法:

order: number【默认为0】|initial|inherit;

用到前缀:-webkit-、-moz-

CSS3新特性(摘要)相关推荐

  1. 01-移动端开发教程-CSS3新特性(上)

    1. 移动端开发课程概述 移动互联网的兴起,让移动端的开发迅速蹿红.对于前端开发者来说,移动端的开发已经占据了他们大部分工作时间.接下来老马带大家一起学习移动端开发的相关前端开发技术. 这边课程内容包 ...

  2. ASP.NET MVC 3.0(一): MVC 3.0 的新特性 摘要

    ASP.NET MVC 3.0(一): MVC 3.0 的新特性 摘要 ASP.NET MVC 3.0(二): MVC的概念及MVC 3.0开发环境 ASP.NET MVC 3.0(三): 初识MVC ...

  3. HTML5和CSS3新特性(完整版)

    css3新特性 选择器 背景和边框 文本效果 2D/3D 转换 - 变形(transform).过渡(transtion).动画(animation) 1.选择器 :last-child /* 选择元 ...

  4. Html5、CSS3新特性

    h5的新特性? 1.新增一些语义化标签  <article> <section> <aside><header> <footer><n ...

  5. CSS3新特性——新增选择器,2D/3D转换,动画

    CSS3新特性--新增选择器,2D/3D转换,动画 欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页 ...

  6. css3新特性和其他常见问题(三)

    css3新特性 参考网站 css3选择器 属性选择器(IE7及以上支持) E[attr]表示存在attr属性即可: E[attr=val]表示属性值完全等于val E[attr~=val]表示的一个单 ...

  7. CSS3新特性详解(三):CSS3 2D转换和3D转换 transform 变形使用详解

      关于CSS3新特性,在上篇博文中"CSS3新特性详解(二):CSS3 字体@font-face详解.如何创建和修改woff字体文件及text-shadow等文本效果",讨论了C ...

  8. web前端 --- CSS(04) -- 盒子模型、div+css网页布局、css3新特性

    盒子模型 (1)网页标签分类: 行内元素: 块级元素:有宽高,可以设置大小,同时不会让其他块元素默认占据当前行 (2)内边距: 内容和边线之间存在空白区域,空白区域被称为:内边距(padding) 盒 ...

  9. 山东标梵Biaofun详解CSS3新特性

    CSS3 新特性 CSS 盒模型 设置一个元素的背景颜色,背景颜色会填充哪些区域 margin/padding 设置百分比是相对谁的 link 和 @import 的区别 CSS 选择器的解析规则 C ...

最新文章

  1. 一文看懂95%置信区间
  2. Nature灵魂拷问:微生物组数据一大堆,如何能改变人类健康?
  3. SaltStck 搭建Web集群运用示例 (一)
  4. 禁忌搜索算法求解带时间窗的车辆路径问题原理讲解
  5. php if 定义变量,无法在PHP中的if块中设置变量的值
  6. STM32串口在首次发送字符的时候,首字符丢失解决办法
  7. 吉他谱----see you again
  8. 计算机技能大赛图形试题,图形图像处理技能大赛竞赛试题试卷.doc
  9. 【Flink】RuntimeException: Row arity of from does not match serializers
  10. Anylogic 仿真建模(一)
  11. qwebkit 网页无法加载图片_网页图片无法显示了?这样就能解决
  12. elasticsearch配置优化
  13. IE11离线安装总是提示“获取更新”的解决方法
  14. 只需5分钟-----手把手教你如何注册美国AppleId账号
  15. Android抓包思想总结
  16. noi2018还没想好记
  17. 华为过程可信cib是指_华为EMUI10取消IMEI?数字联盟可信ID——更可靠的移动设备唯一标识...
  18. 【等保小知识】等保、分保以及关保分别是什么意思?
  19. Sql Server 生成 Word 文档 表结构
  20. aspose.words生成word文档(.dox、.docx等)时,生成目录后,目录中的页码和实际页码不对应,代码中更新域都没用

热门文章

  1. Unity 鼠标悬置在物体上,标签显示 + 移出物体,标签消失
  2. 下载的谷歌卫星地图上的路网如何去掉?
  3. 人工智能行业背景与相关统计数字(index)
  4. HTML5期末大作业:旅游网页设计与实现——旅游风景区网站HTML+CSS(都景 2页 )
  5. 老鼠和毒药(面试题)
  6. random模块下的常用函数Python choices()方法练习
  7. html页面不论如何缩放也不改变布局的相对位置
  8. 如何将物流信息导出保存在EXCEL表格里面,物流查询
  9. 论文翻译 DOTA:A Large-scale Dataset for Object Detection in Aerial Images
  10. Java问答:终极父类(2)—下篇