CSS学习笔记2-2d变换和过渡属性
前言:今天又是一个周末,心情不错,趁着闲暇之余,把剩下来的CSS3学习的内容全部整理出来,练习用的源码也稍微整理了一下。
2D转换
transform:translate||rotate||scale||skew
平移、旋转、缩放、斜切
1. 平移 transform:translate()
参数说明:
- 只有一个值的情况下,表示水平方向运动,正值向右,负值向左,也可以接受百分比,百分比参照的是自身的宽,高
- 两个值分别控制水平和垂直
- 移动不会影响其他的元素,类似于相对定位
- 我们可以通过盒子的绝对定位配合transform:translate(-50%,-50%)实现一个没有宽度高度的盒子水平垂直居中 ,如果没有宽度的话,盒子最大的宽只能达到父盒子的一半
- 如果想要单个的方向移动 可以写成 translateX()和translateY()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box{
width: 200px;
height: 200px;
background-color: pink;
}
.box:hover{
/* transform: translate(-10px,10px); */
/* transform: translateY(-10px); */
transform: translateY(10%);
}
</style>
</head>
<body>
<div class="box">1</div>
<div class="box">2</div>
</body>
</html>
2. 旋转 transform:rotate()
参数说明:
- 单位是deg 角度
- 整体发生旋转(包括里面的内容)
- 正值是顺时针方向旋转 负值反之
- 中心点可以控制 transform-origin:值(值可以是方位名词,可以是像素,也可以是百分比,参照的是自身的宽高)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box{
width: 200px;
height: 200px;
background-color: pink;
margin: 100px auto;
transition: all 10s;
transform-origin: 50% 50%;
}
.box:hover{
transform: rotate(-50deg);
}
</style>
</head>
<body>
<div class="box">1</div>
</body>
</html>
3.缩放 transform:scale()
参数说明:
- 没有单位,接受数值和小数
- 只有一个值的情况,整体缩放(等比例)
- 两个值的情况,宽度和高度分别缩放(可能会变形)
- 边框也是会缩放的,并且如果想要一个方向缩放,另外一个方向需要写一个1
- 缩放的中心点也可以被控制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box{
width: 200px;
height: 200px;
background-color: pink;
margin: 100px auto;
transition: all 1s;
border: 5px solid #000;
transform-origin: right;
}
.box:hover{
transform: scale(2,1);
}
</style>
</head>
<body>
<div class="box">1</div>
</body>
</html>
4.斜切 transform:skew()
参数说明:
- 单位是deg
- 只有一个值的情况下,水平斜切
- 两个值的情况下,水平垂直分别斜切
- 斜切的中心点也可以被控制 如果是X轴斜切 中心点控制上下 如果是Y轴斜切 中心点控制左右
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box{
width: 200px;
height: 200px;
background-color: pink;
margin: 100px auto;
transition: all 1s;
border: 5px solid #000;
transform-origin: bottom;
}
.box:hover{
transform: skew(45deg);
}
</style>
</head>
<body>
<div class="box">1</div>
</body>
</html>
5.过渡 transition
transition:属性 持续时间 过渡曲线 延时
过渡不是动画,是由css的一种状态到另外一种状态中间变换的过程。
值说明:
- 那个属性需要过渡就写什么属性 可以用all来代替全部 (必写)
- 过渡持续的时间,单位可以s或者是ms (必写)
- 过渡的曲线
- 过渡从延时多长时间开始
6.2D转换总结
- 移动,斜切,放大都是可以通过X或者Y去控制某一个方向
- 中心点可以控制旋转,缩放,斜切
- 如果我们想要多个2D效果共存,需要采用连写的方式
- 当在不同场景出现需要transfrom的时候,需要复制前面已经存在的,防止覆盖
- Transform的转换效果顺序尽量保持统一,如果不统一会出现一些问题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box{
width: 200px;
height: 200px;
background-color: pink;
transition: all 1s;
border: 5px solid #000;
position: absolute;
left: 50%;
top: 50%;
transform:translate(-50%,-50%) rotate(0deg) scale(1);
}
.box:hover{
transform:translate(-50%,-50%) rotate(360deg) scale(2);
}
</style>
</head>
<body>
<div class="box">1</div>
</body>
</html>
CSS学习笔记2-2d变换和过渡属性的更多相关文章
- CSS学习笔记-02. 2D转换模块-形变中心点
简单粗暴,直接上重点: transform-origin 接下来是代码. 首先 勾勒出 3个重叠的div 接着 给3个div分别添加 transform: rotate . <!DOCTYPE ...
- CSS学习笔记之CSS3新特性
目录 1.边框 2.背景 3.文本 4.字体 5.转换 6.过渡 7.动画 8.多列 9.自定义尺寸 CSS 用于控制网页的样式和布局,而 CSS3 是最新的 CSS 标准,这篇文章将着重介绍 CSS ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML+CSS学习笔记 (7) - CSS样式基本知识
HTML+CSS学习笔记 (7) - CSS样式基本知识 内联式css样式,直接写在现有的HTML标签中 CSS样式可以写在哪些地方呢?从CSS 样式代码插入的形式来看基本可以分为以下3种:内联式.嵌 ...
- HTML+CSS学习笔记 (6) - 开始学习CSS
HTML+CSS学习笔记 (6) - 开始学习CSS 认识CSS样式 CSS全称为"层叠样式表 (Cascading Style Sheets)",它主要是用于定义HTML内容在浏 ...
- HTML+CSS学习笔记(5)- 与浏览者交互,表单标签
HTML+CSS学习笔记(5)- 与浏览者交互,表单标签 1.使用表单标签,与用户交互 网站怎样与用户进行交互?答案是使用HTML表单(form).表单是可以把浏览者输入的数据传送到服务器端,这样服务 ...
- HTML+CSS学习笔记(4) - 认识标签(3)
HTML+CSS学习笔记(4) - 认识标签(3) 1.使用<a>标签,链接到另一个页面 使用<a>标签可实现超链接,它在网页制作中可以说是无处不在,只要有链接的地方,就会有这 ...
- HTML+CSS学习笔记(3)- 认识标签(2)
HTML+CSS学习笔记(3)- 认识标签(2) 1.使用ul,添加新闻信息列表 在浏览网页时,你会发现网页上有很多信息的列表,如新闻列表.图片列表, 这些列表就可以使用ul-li标签来完成.ul-l ...
- HTML+CSS学习笔记(2) - 认识标签(1)
HTML+CSS学习笔记(2) - 认识标签(1) 1.语义化,让你的网页更好的被搜索引擎理解 标签的用途: 我们学习网页制作时,常常会听到一个词,语义化.那么什么叫做语义化呢,说的通俗点就是:明白每 ...
- HTML+CSS学习笔记(1) - Html介绍
HTML+CSS学习笔记(1) - Html介绍 1.代码初体验,制作我的第一个网页 <!DOCTYPE HTML> <html> <head> <meta ...
随机推荐
- DelphiXE10.1获取Administrator所有权的方法
操作: 菜单选择Proceject->Options->Application->把Enable Admonistrator Privileges打勾(manifest file - ...
- 对html与body的一些研究与理解
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=259 一.写在前面的最 ...
- weex scroller
今天学习了一下weex的 scroller.就简单地对其整理一下自己的学习笔记. <scroller>这个标签只能出现在列(column)上面, 只有当它自己的内容大于类似与PC父级的高度 ...
- smack 4.1创建群聊
smack 4.1.1版本对群聊修改了很多,MultUserChat的构造函数修改成了私有,以前通过new MultUserChat创建聊天室,现在通过MultUserChatMananger先通过r ...
- / fluxChatDemo / 系列 ——项目安装坑洼简要
第一部分 1.使用import引入时,路径选错 2.React.Component 注意大写 (极浅的坑都掉,原谅我初级中的初级~还是贴出来吧) 3.不知为何运行起来没有内容,都怪自己不熟就上路,以为 ...
- Html5+Css3制作下拉菜单的三种方式
一.渐变式改变ol的高度 1.外部为ul标签,在每个li里嵌套一个ol列表2.设置外部li左浮动,内部ol标签绝对定位,外部li标签相对定位3.设置ol的高为0,溢出隐藏4.外部li标签:hover ...
- python 函数之装饰器,迭代器,生成器
装饰器 了解一点:写代码要遵循开发封闭原则,虽然这个原则是面向对象开发,但也适用于函数式编程,简单的来说,就是已经实现的功能代码不允许被修改但 可以被扩展即: 封闭:已实现功能的代码块 开发:对扩张开 ...
- POJ1026 Cipher(置换的幂运算)
链接:http://poj.org/problem?id=1026 Cipher Time Limit: 1000MS Memory Limit: 10000K Total Submissions ...
- 在SQLSERVER里,怎么让别人只能输入一个字母的约束该怎么写?就是26个字母中的任意一个?
alter table 表名 add constraint ck_char check(自段名 like '[a-z]' or 自段名 like '[A-Z]')
- Visual Studio 2015 如何将全英界面转成中文
1 启动VS2015程序,在菜单栏中找到tools 2 在弹出的下拉窗口中选中options 3 此时弹出的对话框,选中Environment下的international setting 4 点击获 ...