CSS知识总结(八)
CSS常用样式
8.变形样式
改变元素的大小,透明,旋转角度,扭曲度等。
transform : none | <transform-function>
<transform-function>表示一个或多个变换函数,以空格分开,也就是说我们可以同时对一个元素进行transform的多种属性操作。
温馨提示:以往我们叠加效果都是用逗号隔开,但transform中使用多个属性时是用空格隔开。
1)translate()
指定对象的2D translation(2D平移)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0。
例子 源代码:
/* CSS代码 */
.box1{
width:200px;
height:50px;
border:1px solid #000;
}
.box1 p{
padding:;
margin:;
width:200px;
height:50px;
background:#ccc;
transform:translate(20px,20px);
}
<!-- HTML代码 -->
<body>
<div class="box1">
<p>translate(20px,20px)</p>
</div>
</body>
效果:
translate(20px,20px)
2)translateX()
指定对象X轴(水平方向)的平移。
例子 源代码:
/* CSS代码 */
.box2{
width:200px;
height:50px;
border:1px solid #000;
}
.box2 p{
padding:;
margin:;
width:200px;
height:50px;
background:#ccc;
transform:translateX(20px);
}
<!-- HTML代码 -->
<body>
<div class="box2">
<p>translateX(20px)</p>
</div>
</body>
效果:
translateX(20px)
3)translateY()
指定对象Y轴(垂直方向)的平移。
例子 源代码:
/* CSS代码 */
.box3{
width:200px;
height:50px;
border:1px solid #000;
}
.box3 p{
padding:;
margin:;
width:200px;
height:50px;
background:#ccc;
transform:translateY(20px);
}
<!-- HTML代码 -->
<body>
<div class="box3">
<p>translateY(20px)</p>
</div>
</body>
效果:
translateY(20px)
4)rotate()
指定对象的2D rotation(2D旋转)。
例子 源代码:
/* CSS代码 */
.box4{
width:100px;
height:100px;
border:1px solid #000;
}
.box4 p{
padding:;
margin:;
width:100px;
height:100px;
background:#ccc;
transform:rotate(45deg);
}
<!-- HTML代码 -->
<body>
<div class="box4">
<p>rotate(45deg)</p>
</div>
</body>
效果:
rotate(45deg)
5)transform-origin
指定元素的中心点。
任何一个元素都有一个中心点,默认情况之下,其中心点是居于元素X轴和Y轴的50%处。
例子 源代码:
/* CSS代码 */
.box5{
width:100px;
height:100px;
border:1px solid #000;
}
.box5 p{
padding:;
margin:;
width:100px;
height:100px;
background:#ccc;
transform-origin:0 0;
transform:rotate(15deg);
}
<!-- HTML代码 -->
<body>
<div class="box5">
<p>rotate(15deg)</p>
</div>
</body>
效果:
rotate(15deg)
6)scale()
指定对象的2D scale(2D缩放)。
第一个参数表示水平方向缩放的倍数,第二个参数表示垂直方向的缩放倍数。如果第二个参数未提供,则默认取第一个参数的值。
例子 源代码:
/* CSS代码 */
.box6{
width:100px;
height:100px;
border:1px solid #000;
}
.box6 p{
padding:;
margin:;
width:100px;
height:100px;
background:#ccc;
transform:scale(0.8,0.8);
}
<!-- HTML代码 -->
<body>
<div class="box6">
<p>scale(0.8,0.8)</p>
</div>
</body>
效果:
scale(0.8,0.8)
7)skew()
指定对象skew transformation(斜切扭曲)。
第一个参数是水平方向扭曲角度,第二个参数是垂直方向扭曲角度。如果第二个参数未设置,则默认值为0。
例子 源代码:
/* CSS代码 */
.box7{
width:100px;
height:100px;
border:1px solid #000;
}
.box7 p{
padding:;
margin:;
width:100px;
height:100px;
background:#ccc;
transform:skew(30deg,10deg);
}
<!-- HTML代码 -->
<body>
<div class="box7">
<p>skew(30deg,10deg)</p>
</div>
</body>
效果:
skew(30deg,10deg)
如果设置"transform:skewX(30deg);":
skewX(30deg)
如果设置"transform:skewY(30deg);":
skewY(30deg)
9.过渡动画
1)过渡属性 (transition-property)
设置对象中的参与过渡的属性。
默认值为:all,默认为所有可以进行过渡的css属性。如果提供多个属性值,以逗号进行分隔。
有过渡效果的属性:
例子 源代码:
/* CSS代码 */
.property{
width:200px;
height:100px;
border:1px solid #000;
background:#fff;
color:#000;
transition-property:background-color,color;
}
.property:hover{
background:#000;
color:#fff;
}
<!-- HTML代码 -->
<body>
<p>请将鼠标移动到下面的矩形上:</p>
<div class="property">
设置过渡的属性:
background-color , color
</div>
</body>
效果:
请将鼠标移动到下面的矩形上:
background-color , color
2)过渡所需时间(transition-duration)
设置对象过渡的持续时间,就是从旧属性过渡到新属性所花的时间。
如果提供多个属性值,以逗号进行分隔。
例子 源代码:
/* CSS代码 */
.duration{
width:200px;
height:100px;
border:1px solid #000;
background:#fff;
color:#000;
transition-property:background-color,color;
transition-duration:2s;
}
.duration:hover{
background:#000;
color:#fff;
}
<!-- HTML代码 -->
<body>
<p>请将鼠标移动到下面的矩形上:</p>
<div class="duration">
过渡的时间是:2s
</div>
</body>
效果:
请将鼠标移动到下面的矩形上:
3)过渡函数(transition-timing-function)
指过渡的“缓动函数”。主要用来指定浏览器的过渡速度,以及过渡期间的操作进展情况。
其中要包括以下几种函数:
①ease : 默认值,逐渐变慢(等于 cubic-bezier(0.25,0.1,0.25,1))
②linear : 匀速过渡效果(等于 cubic-bezier(0,0,1,1))
③ease-in : 加速的过渡效果(等于 cubic-bezier(0.42,0,1,1))
④ease-out : 减速的过渡效果(等于 cubic-bezier(0,0,0.58,1))
⑤ease-in-out : 加速然后减速(等于cubic-bezier (0.42, 0, 0.58, 1))
⑥cubic-bezier(n,n,n,n):在 cubic-bezier 函数中定义自己的值,可能的值是 0 至 1 之间的数值。
例子 源代码:
/* CSS代码 */
.ease{
width:100px;
height:100px;
border:1px solid #000;
}
.ease-in{
margin-left:0px;
transition-property:all;
transition-duration:2s;
transition-timing-function:ease-in;
}
.ease-out{
margin-left:0px;
transition-property:all;
transition-duration:2s;
transition-timing-function:ease-out;
}
.ease:hover{
margin-left:200px;
}
<!-- HTML代码 -->
<body>
<p>请将鼠标移动到下面的矩形上,并跟着矩形移动:</p>
<div class="ease ease-in">
加速 ease-in
</div>
<div class="ease ease-out">
减速 ease-out
</div>
</body>
效果:
请将鼠标移动到下面的矩形上,并跟着矩形移动:
4)过渡延迟时间(transition-delay)
指定一个动画开始执行的时间,也就是说当改变元素属性值后多长时间开始执行。
例子 源代码:
/* CSS代码 */
.delay{
width:200px;
height:100px;
border:1px solid #000;
background:#fff;
color:#000;
transition-property:background-color,color;
transition-duration:2s;
transition-delay:1s;
}
.delay:hover{
background:#000;
color:#fff;
}
<!-- HTML代码 -->
<body>
<p>请将鼠标移动到下面的矩形上:</p>
<div class="delay">
过渡延迟的时间是:1s
</div>
</body>
效果:
请将鼠标移动到下面的矩形上:
5)过渡动画缩写(transition)
transition : <transition-property> < transition-duration > <transition-timing-function> < transition-delay> , ……
例子 源代码:
/* CSS代码 */
.all{
width:208px;
height:100px;
border:1px solid #000;
background:#fff;
color:#000;
transition:all 2s ease-in 1s;
}
.all:hover{
background:#000;
color:#fff;
}
<!-- HTML代码 -->
<body>
<p>请将鼠标移动到下面的矩形上:</p>
<div class="all">
transition:all 2s ease-in 1s;
所有属性 过渡2s 加速 延迟1s
</div>
</body>
效果:
请将鼠标移动到下面的矩形上:
CSS知识总结(八)的更多相关文章
- Web前端基础怎么学? JavaScript、html、css知识架构图
以前开发者只要掌握 HTML.CSS.JavaScript 三驾马车就能胜任一份前端的工作了.而现在除了普通的编码以外,还要考虑如何性能优化,如何跨端.跨平台实现功能,尤其是 AI.5G 技术的来临, ...
- [css]我要用css画幅画(八) - Hello Kitty
接着之前的[css]我要用css画幅画(七) - 哆啦A梦,这次画的是Hello Kitty. /* 开始前先说点废话, 一转眼就2016年了,过完年后一直没更新博客,无他,就是懒得动. 这一转眼,一 ...
- CSS知识回顾--读《CSS 那些事儿》笔记
由于之前有了解过CSS的相关知识,有了一定的基础,所以读起<CSS 那些事儿>不是很有难度,况且我现在读起来时,CSS3和HTML5比较流行,这里只是记录一些CSS知识记录,不做详细铺开, ...
- 你该学点HTML/CSS知识的9大理由
每个人都应该学写代码——这一观点简直就是铺天盖地地映入我们眼帘.或许你会莫名其妙,程序员学代码那是理所应当,但是作为一个作家.营销人员.财务工作者甚至是工人,为什么也需要学习代码呢? 好吧,下面我会告 ...
- 逆向知识第八讲,if语句在汇编中表达的方式
逆向知识第八讲,if语句在汇编中表达的方式 一丶if else的最简单情况还原(无分支情况) 高级代码: #include "stdafx.h" int main(int argc ...
- 内核知识第八讲,PDE,PTE,页目录表,页表的内存管理
内核知识第八讲,PDE,PTE,页目录表,页表的内存管理 一丶查看GDT表. 我们通过WinDbg + 虚拟机可以进行双机调试.调试一下看下GDT表 我们知道,GDT表中.存储的是存储段信息. 保存了 ...
- Linux基础知识第八讲,系统相关操作命令
目录 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 2.磁盘信息查看. 3.系统进程 Linux基础知识第八讲,系统相关操作命令 一丶简介命令 时间和日期 date cal 磁盘和目录空间 ...
- WEBBASE篇: 第五篇, CSS知识3
CSS知识3 框模型: 一,外边距(上文) 二, 内边距 1,什么是内边距? 内边距就是内容与元素边缘之间的距离: 注: 内边距会扩大元素边框内所占的区域的 语法: padding: 四个方向的 ...
- WEBBASE篇: 第四篇, CSS知识2
CSS知识2 一, 尺寸 与 边框 CSS单位 1,尺寸单位:(1)px 像素 (2)% (3) in 英寸 lin = 2.54cm (4)pt 磅 1pt = 1/72in ppi ...
- WEBBASE篇: 第三篇, CSS知识1
第三篇, CSS知识1 一,CSS 介绍 CSS: Cascading Style Sheets ---样式表 HTML: 搭建网页结构: CSS: 在网页结构基础上进行网页的美化: 二,CSS的使用 ...
随机推荐
- 百度MIP页规范详解 —— canonical标签
百度MIP的规范要求必须添加强制性标签canonical,不然MIP校验工具会报错: 强制性标签<link rel="/^(canonical)$/"> 缺失或错误 这 ...
- 消息队列 Kafka 的基本知识及 .NET Core 客户端
前言 最新项目中要用到消息队列来做消息的传输,之所以选着 Kafka 是因为要配合其他 java 项目中,所以就对 Kafka 了解了一下,也算是做个笔记吧. 本篇不谈论 Kafka 和其他的一些消息 ...
- PowerDesigner-VBSrcipt-自动设置主键,外键名等(SQL Server)
在PowerDesigner中的设计SQL Server 数据表时,要求通过vbScript脚本实现下面的功能: 主键:pk_TableName 外键:fk_TableName_ForeignKeyC ...
- 从零开始编写自己的C#框架(28)——建模、架构与框架
文章写到这里,我一直在犹豫是继续写针对中小型框架的设计还是写些框架设计上的进阶方面的内容?对于中小型系统来说,只要将前面的内容进行一下细化,写上二三十章具体开发上的细节,来说明这个通用框架怎么开发的就 ...
- PHP与API讲解(一)
了解API: 在使用与创建自己的API之前我们需要先了解什么是API! API代表应用程序编程接口,而接口指的是一个特定的服务.一个应用程序或者其他程序的公共模块. 理解SOA(面向服务的架构):SO ...
- AFNetworking 3.0 源码解读(十一)之 UIButton/UIProgressView/UIWebView + AFNetworking
AFNetworking的源码解读马上就结束了,这一篇应该算是倒数第二篇,下一篇会是对AFNetworking中的技术点进行总结. 前言 上一篇我们总结了 UIActivityIndicatorVie ...
- 小兔Java教程 - 三分钟学会Java文件上传
今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...
- Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分
Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...
- JavaScript基础
JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...
- uboot环境配置
uboot环境配置 通过配置uboot让它在启动过程中从tftp获取内核和设备树,并从在加载内核之后把通过启动参数将"从nfs挂载根文件系统"传入内核.这个配置主要是通过uboot ...