CSS3--选择器、动画效果

一、复杂选择器:

(1)兄弟选择器:选择当前元素平级的兄弟元素

有两种:1)相邻兄弟选择器:仅选择相邻的1个元素: 选择器+选择器

相邻兄弟选择器的三个关键词:1. 紧临   2. 平级   3. 之后

2)兄弟选择器:选择之后的所有元素:选择器~选择器

*注意:不要求紧临*

何时使用:只要选择平级元素时,都要使用兄弟选择器

(2)属性选择器:按自定义条件选择元素

何时属性选择器:只要按照任意属性或属性值自定义选择条件时,就用属性选择器。

如何使用:

1. [属性名]: 选择所有包含指定属性名的元素——太泛

2. 其他选择器[属性名]:

选择首先满足其他选择器的元素,再在其中选择包含指定属性名的元素

3. 其他选择器[条件]:

选择首先满足其他选择器的元素,再在其中选择满足条件的元素。

其中:条件:5种方式:

属性名="属性值":选择包含指定属性名且属性值与给定值相等。——等值条件

模糊选择条件:部分匹配

属性名^="关键字":选择包含指定属性名,且属性值必须以关键字*开头*的元素。

属性名$="关键字":选择包含指定属性名,且属性值必须以关键字*结尾*的元素。

属性名*="关键字":选择包含指定属性名,且属性值只要*包含*关键字的元素

属性名~="单词":选择包含指定属性名,且属性中包含指定*单词*的元素。

否定伪类:选择不满足属性选择器条件的元素

如何使用:选择器:not([条件])

伪元素选择器:选择特定位置上的文字的选择器

伪类选择器:当元素状态发生改变时生效的选择

*  :target  :选择当前正在被跳转到的锚点元素

特点1:仅选择一个

特点2:通过点击,触发其他元素样式的变化

元素状态伪类:——专用于修饰表单中的元素

:enabled  :匹配每个可用的元素

:disabled :匹配每个禁用的元素

:checked  :匹配每个选中的单选/多选按钮

* 结构伪类:修饰处于特殊位置上的元素样式

子元素:first-child :作为父元素下的第一个子元素

比如:tr:first-child

子元素:last-child  :作为父元素下的最后一个子元素

子元素:only-child  :作为父元素下的唯一一个子元素

父元素:empty   :选择不包含任何节点的父元素

强调:看不见得空字符/回车,都是节点

何时使用:只要选择特殊位置上的子元素,都要用结构伪类

1. 变形:

旋转:rotate() 位移:translate()缩放:scale()倾斜:skew()

旋转:围绕一个*参照原点*,旋转指定*角度*

语法:transform:rotate(ndeg)//n>0顺时针,n<0逆时针

坐标原点:图片左上角:0,0

参照原点:默认:width/2,height/2

50%     50%

修改参照原点:/*transform-origin: 100% 100%;*/

/*transform-origin:right bottom;*/

transform-origin:x坐标 y坐标;

位移:沿着*坐标轴*,移动指定的*距离*

语法:transform:translate(x轴移动距离,y轴移动距离);

坐标轴方向:x向右为正,y向下为正

变形过程:

浏览器先加载所有元素,固定所有元素的大小和位置

变形发生时,提升元素的层级,再变形。

结论:变形不会挤压周围元素。但可能遮挡其它元素

其它位移函数:2个:

仅延x轴位移:translateX(x轴移动距离)

仅延y轴位移:translateY(y轴移动距离)

缩放:

语法:transform:scale(倍数)——等比例缩放

倍数:0-1,缩小; 1以上,放大

transform:scale(x坐标缩放倍数,y坐标缩放倍数)

其它缩放函数:2个

仅延x轴缩放:scaleX(x坐标缩放倍数)

仅延y轴缩放:scaleY(y坐标缩放倍数)

*强调:缩放同样也会受参照原点的影响

参照原点的位置,在变形中永远不变!*

3d变形:

perspective 属性:

假定的人眼位置到投影平面(网页)的距离

如何使用:在3d变换元素的父元素上定义perspective属性

3d位移:特指延z轴位移。向网页外为正,向网页内为负

语法:transform:translateZ(延z轴位移距离)

transform:translate3d(x,y,z)

注意:延z轴位移,导致其他坐标轴刻度缩小或放大。

3d旋转:特指延任意一个坐标轴旋转

语法:transform:rotateX(ndeg)

n>0,向后倒;n<0,向前倒

transform:rotateY(ndeg)

n>0,向右转;n<0,向左转

transform:rotateZ(ndeg)-->transform:rotate()

了解:rotate3d(x,y,z,deg);

其中x,y,z表示1(正向)或-1(反向).

3d缩放:transform:scaleZ(倍数)

将对应坐标轴上的坐标*相应倍数

了解:transform:scale3d(x,y,z)

transform属性后,可同时使用多种变化函数。

浏览器会从左向右依次变化!

比如:transform:translateX(100px) rotate(30)

transform:rotate(30) translateX(100px)

*rotate()函数本质,旋转坐标轴,而不是仅旋转图片*

1. transition:过渡/渐变

从*开始样式*,经过指定*时间*后,缓慢过渡到*结束样式*

语法:

transition:需要过渡的属性名 经过多长时间 变化类型 延迟

强调:和开始样式写在一起!

多个属性同时过渡:简写:

transition: 属性名1 时长 变化类型 [延迟],

属性名2 ... ...      ,

属性名n ... ...

过渡子属性:——了解

1. 专门设置过渡属性名:

transition-property:属性名1 属性名2 ...;

2. 专门设置过渡持续时间:

transition-duration:ns/nms ... ...

3. 专门设置过渡类型:

transition-timing-function:

备选值:ease:先加速再减速

linear: 匀速

ease-in: 加速

ease-out: 减速

ease-in-out: 先加速再减速

4. 专门设置过渡开始前的延迟时间:

transition-delay:ns/nms ... ...

2. 关键帧动画:

关键帧:动画运行过程中的关键样式状态

关键帧动画:动画在多个关键帧之间顺序变化

如何实现:2步:

1. 定义动画,设计动画中的关键帧

@keyframes 动画名{

from{动画初始状态}

n%{动画运行到n%位置时的状态}

... ...

to{动画结束状态}

}

2. 需要触发动画的位置,触发动画

animation:动画名 动画持续时间 变化类型

动画子属性:

1. 专门设置动画名:animation-name

2. 专门设置动画时间:animation-duration

3. 专门设置变化类型:animation-timing-function

4. 专门设置动画保持结束状态:

animation-fill-mode:forwards

5. 专门设置重复次数:animation-iteration-count:n

infinite:无限次

6. 专门设置播放方向:animation-direction:

alternate: 奇数次正向播放,偶数次反向播放

暂停动画:animation-play-state:paused;

时间: 2024-10-25 15:23:26

CSS3--选择器、动画效果的相关文章

测试css3的动画效果在display:none的时候不耗费性能

1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Test TS Serializer</title> 6 <style> 7 .loadings { 8 width: 120px; 9 height: 120px; 10 /* background: #FFFFFF; */ 11 border-radius: 3

CSS3新动画效果

CSS3添加了几个动画效果的属性,通过设置这些属性,可以做出一些简单的动画效果而不需要再去借助JavaScript.CSS3动画的属性主要分为三类:transform.transition以及animation. transformrotate设置元素顺时针旋转的角度,用法是:transform: rotate(x);参数x必须是以deg结尾的角度数或0,可为负数表示反向.scale设置元素放大或缩小的倍数,用法包括:transform: scale(a); 元素x和y方向均缩放a倍transf

CSS3实现动画效果常用方法

早期在web中要实现动画效果,都是依赖于JavaScript或flash来完成,但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的css事件来触发元素的外观变化,让效果显得更加细腻.简单来说,就是通过鼠标的单击.获得焦点.被点击.或对元素任何改变中触发,并平滑地以动画效果改变css属性值 在css中创建简单的过渡效果可以从以下几个步骤来实现 (1)在默认样式中声明元素的初始状态样式 (2)声明过渡元素最终状态样式,比如悬浮状态 (3)在默认样式中通过添加过渡函数,添加一

css3的动画效果

全新的css3加入的动画效果: [ animation-name ]:检索或设置对象所应用的动画名称 [ animation-duration ]: 检索或设置对象动画的持续时间 [ animation-timing-function ] :检索或设置对象动画的过渡类型 [ animation-delay ]: 检索或设置对象动画延迟的时间 [ animation-iteration-count ]: 检索或设置对象动画的循环次数 [ animation-direction ]: 检索或设置对象

CSS3中动画效果Transitions与Animations的区别

在CSS3中,如果我们使用动画功能,可以使页面上的文字或图像具有动画效果,可以使我们的页面更加生动具有吸引力. 在CSS3中我们可使用的动画功能有两种,Transitions与Animations.下面我们来看看它们两者的区别. 首先来看Transitions功能,它的属性有: transition-property :指定需要平滑过渡的属性 transition-duration :设定平滑过渡使用的时间 transition-timing-function :设定平滑过渡使用的方法 tran

css3实现动画效果

一.动画效果的常用属性 实现动画效果需要借助css3的下列属性:transform,transion,animation(具体可以参见教材) 二.动画效果实例 1)文字闪烁的动画效果 /*文字的闪烁效果*/ @-webkit-keyframes blink{ 0%{ opacity:0; }40%{ opacity:.3; }50%{ opacity:.8; }55%{ opacity:.3; }60%{ opacity:.8; }100%{ opacity:0; } } 文字闪烁css代码 .

CSS3悬浮动画效果

利用CSS3的伪类元素hover以及transform,transition等动画属性,可以做出一些炫酷的动画效果.下面将一些项目中使用到的示例发布出来,供大家一起学习研究.演示地址:runjs. 浏览器兼容:Chrome,Safari,IE10及以上,IE9不支持渐变效果,IE8以下不支持. transform:该属性允许我们对元素进行旋转(rotate).缩放(scale).移动(translate)或倾斜(skew). transition:过渡属性,该属性为简写属性,用于设置4个过渡属性

前端 之 jQuery: 简介, 选择器, 动画效果, 属性操作; (一)

jQuery 简介 jQuery 选择器 jQuery 动画效果 jQuery 属性操作 jQuery 简介 为什么要使用jQuery: 答: 因为优秀. 什么是 jQuery: jQuery 是 js 的一个库,封装了我们开发过程中常用的一些功能,方便我们调用,提高开发效率. js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里即可. 关于jQuery的相关资料: 官网:http://jquery.com/ 官网API文档:http://api.jquery.com/

实现各种 CSS3 文本动画效果

这个插件集成了一些非常好的 JavaScript 库,提供一个方便使用的文本动画插件,可以让你为网页中的文字运用各种动画. 源码下载     在线演示

CSS3扫描动画效果

.swiper-animate { position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 10; background: linear-gradient(to bottom, transparent, #3e88f1); animation: scan 1.5s ease-in-out infinite; -webkit-animation: scan 1.5s ease-in-out infinite;