CSS是我们常用的控制网页样式和布局的一种标准。

CSS3是最新的CSS标准。

CSS3被拆分为“模块”,旧的规范也已经拆分为小的块,同时还增加了新的属性。

一些比较重要的CSS3的模块:选择器、盒模型、背景和边框、文字特效、2D/3D转换、动画等。

CSS3边框:

使用用CSS3,可以创建圆角边框,添加阴影框,并作为边界的形象而不使用画面设计程序,如Photoshop等软件。

CSS3圆角:border-radius属性——创建边框线的圆角

示例:

值的类型可以是像素,也可以为百分比。

CSS3盒子阴影:box-shadow属性——创建阴影

示例:

值有3个时,表示距离左侧、距离上侧、影子颜色

值有4个时,表示距离左侧、距离上侧、虚化的像素、影子颜色

值有5个时,表示距离左侧、距离上侧、虚化的像素、影子颜色、是否显示在内部并且将颜色进行反转

CSS3边界图片:border-image属性——可以允许使用图片作为边框

示例:

border-image属性在IE和QQ等浏览器中并不兼容

CSS3背景:

背景图片大小:background-size属性——可以规定背景图片的尺寸

示例:

两个值,分别表示宽度,高度。可用像素和百分比。

背景图片定位:background-origin属性——规定背景根据边框定位还是根据文本定位

示例:

border-box:根据边框定位

content-box:根据文本进行定位

多重背景图片:background-image属性——可以规定多张不相同的图片叠加出现效果,最好使用矢量图。

示例:

写法中使用逗号隔开引用图片即可。

CSS3文本效果:

文本阴影:text-shadow属性——可以向文本应用阴影效果

示例:

四个值:分别代表距离左侧、距离上侧、模糊程度及阴影颜色

文本自动换行:word-wrap属性——允许文本强制文本进行换行,这意味着会对单词进行拆分

示例:

值:break-word:允许对单词进行拆分换到下一行。

CSS3 转换:

通过CSS3转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。

转换是使元素改变形状、尺寸、位置的一种效果。

我们可以使用2D或3D转换来转换我们的元素。

2D转换:transform属性——变形、转换

内置方法:rotate()——进行旋转,括号内部写旋转角度,默认顺时针旋转

允许负值,元素将进行逆时针旋转

示例:

内置方法:translate()——从当前位置进行移动,括号内为x,y值

允许负值,将反方向移动

示例:

内置方法:scale()——改变原始尺寸,按照倍数变化,括号内为width、height的倍数

示例:

内置方法:skew()——水平、垂直方向进行扭转,括号内是水平扭转角度、垂直扭转角度

示例:

3D转换:transform属性——变形、转换

内置方法:rotateX()——沿水平X轴进行垂直的翻转,括号内写转动度数

示例:

内置方法:rotateY()——沿垂直Y轴进行水平的翻转,括号内写转动度数

示例:

2D转换跟3D转换的区别:2D转换仅仅在于平面,文字可以看出并没有反过来

3D转换是相当于镜面效果的,进行了前后空间(涉及到了Z轴)的占用进行的翻转。

示例:

CSS3过渡:transition属性——专门应对颜色、长度、宽度、位置等变化的过渡

通过CSS3,我们可以在不使用Flash和JavaScript的情况下,为当前某元素从某样式改变为某样式的时候添加过渡效果。

我们仅仅使用到了一个transition属性,专门来写过渡从一个样式到另一个样式过渡时所花费的时间,以秒为单位。若时长不规定,默认为0,即没有过渡时间。

在使用这个过渡效果的时候,我们使用了类似于超链接的l(link)、v(visited)、h(hover)、a(active)样式的控制。

此过渡时间可以规定背景改变、位置改变、及上面看到过的2D转换、3D转换再加上位置改变等样式变化需要使用的时间长度。

示例:

主要使用hover和active:

hover:当我们鼠标指向的时候使用的样式

active:当鼠标点击下去的时候使用的样式

不仅仅可以在鼠标指向时自动使用过渡时间,当我们使用JS对于样式的某一部分进行修改之后也可以使用。

         示例:

通过以上的对比,能够看出拥有过渡效果更为容易被接收,不会显得样式变化过于突兀。

当然,我们的样式属性过渡可以分开单独应对宽度、高度、颜色、2D、3D转换来设置过渡时间。有喜欢单独写的同学可以参考W3School中的教程。

CSS3动画:

通过CSS3,我们能够创建动画,这样可以在许多网页中取代动画图片、Flash动画以及JavaScript动画。

想要创建CSS3动画,需要遵循@keyframes规则。

@keyframes规则用于创建动画。在@keyframes中规定某项CSS样式,就能创建由当前样式逐渐改为新样式的动画效果。

注:IE需要10及以上。

创建好动画之后需要绑定到某个选择器,否则不会产生任何动画效果。

使用animation进行动画捆绑。两个值:动画名称、时长。

时间长度必须规定,否则默认为0。也就是表示没有动画效果。

动画是使元素从一种样式逐渐变化为另一种样式的效果。

可以改变任意多的样式以及任意多的次数。

我们一般情况下使用0%~100%来规定动画发生的时机。或者使用关键词from...to...,效果等同于0%~100%。

0%是动画的开始,100%是动画的完成。

为了得到最佳的浏览器支持,我们将始终使用百分比来进行规定动画

以上示例中只进行了一个样式的改变。接下来我们看多项改变。

多项改变时只需要在每个百分号后的花括号内写上就可以了。

在以上示例中,我们的动画只能进行一次就立马停止了。我们想要此动画效果持续执行,就只需要在我们的绑定选择器的动画名称和时长之后加上一个infinite值就可以无限执行了。

注:infinite——无限。

我们可以看出在上一个示例中,div的运行速度是开始慢,中间快,结束放慢的。这是默认的ease属性带来的效果,若想让所有速度相同,我们可以在绑定选择器之后写上linear即可。

注:ease——默认开始慢慢加速,结束时慢慢减速。

linear——默认始终使用相同速度运行。

在以上所有无限动画示例中,我们可以看出动画是按照我们写好的顺序一直在执行,我们可不可以将它设置为交替执行呢?答案是可以的。

在捆绑选择器的动画名称、时长、无限次数后面写上一个alternate即可。

注:alternate——交替执行(也可以成为正反执行)

以上这些就是我们常用到的一些CSS3的样式属性,当然还有很多其他的,比如将文本像在报纸上一样排列为多列等不怎么常用的

CSS3常用属性的更多相关文章

  1. web 开发:CSS3 常用属性——速查手册!

    web 开发:CSS3 常用属性——速查手册! CSS3 简介:http://www.runoob.com/css3/css3-intro.html 1.目录 http://caniuse.com/ ...

  2. CSS3常用属性(边框、背景、文本效果、2D转换、3D转换、过渡、有过渡效果大图轮播、动画)

    CSS3边框: 1.CSS3圆角:border-radius  属性--创建边框线的圆角 <body style="font-size:24px; color:#60F;"& ...

  3. CSS3常用属性及效果汇总

    本文转载于<https://blog.csdn.net/lyznice/article/details/54575905> 一.2D效果属性 要使用这些属性,我们需要通过 transfor ...

  4. CSS3常用属性浏览器兼容前缀

    1.检测网站https://gsnedders.html5.org/outliner/ 2.查询是否支持前缀http://caniuse.com 3.border-radius\box-shadow\ ...

  5. CSS3常用属性及用法

    1.transition: 过渡属性,可以替代flash和javascript的效果 兼容性:Internet Explorer 9 以及更早的版本,不支持 transition 属性. Chrome ...

  6. CSS3 常用属性

    1------border-radius (盒子圆角 border-radius :border-radius:5px 4px 3px 2px; 左上,右上,右下,左下 2------如果将一个正方形 ...

  7. css3新增属性有哪些?css3中常用的新增属性总结

    css3新增属性有哪些?来提问这个问题的人都应该知道css3是css的升级版本,那么,css3既然是升级版本,自然是会新增一些属性,接下来本篇文章将给大家介绍关于css3中常用的新增属性. 一.css ...

  8. CSS3 文本常用属性

    CSS 常用属性 text-shadow属性文字阴影:第一个值背景相对原本文字居左的距离,第二个值据当前文本上方的距离,第三个值清晰度(越小越清晰),第四个值颜色 word-wrap:自动换行,如果是 ...

  9. CSS3动画属性Transform解读

    无论你是前端还是设计师,相信你在网页二维空间上的操作早已经得心应手,JS处理时间线的动画也早已经 烂熟于胸.从今天开始,我跟大家分享一些“新”的东西,网页的第三个维度,以及纯CSS实现的动画.限于篇幅 ...

随机推荐

  1. thinkphp3.2.3批量执行sql语句(带事务)

    /** * 事务封装方法 * @access public 将此方法放入框架model.class.php中 * @param array $sqls 要执行的sql数组或语句 * @param ar ...

  2. Java 第16章 封装

    封装(encapsulation)     类使得数据和对数据的操作集成在一起,从而对使用该类的其他人来说,可以不管它的实现方法,而只管用它的功能,从而实现所谓的信息隐藏. 封装 , 使用类图描述类 ...

  3. Samba的安装与配置

    Samba的安装与配置: 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend stop #chkconfig libvirtd off # ...

  4. STM32移植RT-Thread的串口只能接收一个字节数据的问题

    打开设备的函数参数要与注册设备函数参数要一致, 注册设备的函数及其参数如下: /* register UART1 device */ rt_hw_serial_register(&serial ...

  5. Sprint评审会议不是Sprint演示会议

    最近,Innolution公司的执行总监.Essential Scrum的作者Ken Rubin在其公司博客上撰写了一篇题为It’s a Sprint Review Not a Sprint Demo ...

  6. PostgreSQL和MYsql的对比

    一.postgresql多进程,mysql多线程 二.postgresql和它配套的开源软件非常多,容易进行负载均衡 三.posgresql代码简介,mysql比较混乱 四.最重要的,postgres ...

  7. Install Hbase

    1. You should guarantee you have installed hadoop on your computers. 2. Download and uncompress the ...

  8. js 经典正则判断 一个字符串是否包含另一个字符串

    if (!new RegExp(list_table[i].value.split("—")[0]).test(lhtj)) { }判断在lhtj中是否包含list_table[i ...

  9. No operation was found with the name {http://impl.service.xq.com/}sayHi

    org.apache.cxf.common.i18n.UncheckedException: No operation was found with the name {http://impl.ser ...

  10. 用canvas制作酷炫射击游戏--part1

    好久没写博客了,因为过年后一直在学游戏制作方面的知识.学得差不多后又花了3个月时间做了个作品出来,现在正拿着这个作品找工作. 作品地址:https://betasu.github.io/Crimonl ...