CSS3新增的常用方法以及CSS常见属性整理
CSS 用于控制网页的样式和布局,而CSS3 是最新的 CSS 标准。
CSS3的规范仍在开发中,有些CSS3并不能完美兼容所有浏览器。
CSS3被拆分为"模块"。旧规范已拆分成小块,还增加了新的。
一些最重要CSS3模块如下:
选择器 盒模型 背景和边框 文字特效
2D/3D转换 动画 多列布局 用户界面
CSS3选择器
添加了关系型选择器、属性选择器、伪元素选择器、伪类选择器等等新的选择器。
可以更精准的筛选元素。CSS3选择器
CSS3边框
CSS3中可以为元素创建圆角边框,添加阴影框。
CSS3圆角
语法:border-radius: 25px 25px 20px 20px;
可以拆分为:左上 / 右上 / 右下 / 左下
border-top-left-radius / border-top-right-radius / border-bottom-left-radius / border-bottom-right-radius
CSS3盒阴影
语法:box-shadow: 10px 10px 10px 10px #000;
X Y s r color
可加上inset属性,加上则为内部阴影,没加则为外部阴影
CSS3图片边框
语法:border-image: url( ) 30 30 round;
CSS3背景
css3中包含了新的背景属性,提供更大背景元素控制。
background-image属性:元素的背景图片
语法:background-image: url(),url()可连接多个图片地址,如果前一个地址错误或者无法加载,会加载后面的地址。
也可以为不同的图片设置不同的属性:background-image: url() right bottom no-repeat , url() left top repeat;
backrgound-size属性:元素的背景图片的大小
语法:background-size: 80px 60px;
background-Origin属性:可以指定背景图片的位置区域
语法:background-Origin: padding-box;内填充
border-box;边框
content-box;内容
background-clip属性:对图片从指定位置进行裁剪
语法:background-clip: 值同上;
在文字中添加背景图:
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
CSS3 Flex Box 弹性盒子
弹性盒子是CSS3的一种新的布局模式
弹性盒子由弹性容器和弹性子元素组成。
弹性容器内包含了一个或多个弹性子元素。
用法:
display:flex; //inline-flex
flex-direction: row | row-reverse / column | column-reverse
主轴以x为准,|取反 主轴以y为准,|取反
flex-wrap: 默认no-wrap不换行,会压缩;
wrap换行 warp反向换行排列
justify-content: flex-start / flex-end / center / space-between / space-around
基于主轴的对齐方式
基于交叉轴的对齐方式:
适用于单行的:align-items:flex-start / flex-end / center / baseline / stretch
适用于多行的:align-content:flex-start / flex-end / center / space-between / space-around / stretch
如果只有一行是没有区别的
order: flex中子项排序,数值小的排序在前。
align-self :项目在交叉轴的对齐方式:
flex-start交叉轴最顶 flex-end最底
center baseline stretch 比前两者优先级更高。
flex: 子项,以下控制宽
flex-grow : ; 伸,会按照写的比例来瓜分剩下的空间,写在多个标签内会一起计算比例,不写默认值为0
flex-shrink : ; 缩,按照比例缩小按比例分配的值
flex-basis : ;基础宽,可以认为即width。最小宽度,width为最大宽度。
以加权值来计算,在容器宽不足以容纳子项,以每个项目的宽*比例值相加后,按照比例缩小。
CSS的过渡属性 transition 只要状态发生改变,就会触发过渡
transition-property--规定设置过渡效果的 CSS 属性的名称。all 为全部属性
transition-duration--规定完成过渡效果需要多少秒或毫秒。
transition-timing-function--规定速度效果的速度曲线。
transition-delay--定义过渡效果何时开始。
CSS的动画属性 animation 必须使用@keyframes
@keyframes--定义关键帧动画,名字随便取,调用的时候用这个名字即可
animation-name--动画的名字,必须与@keyframes配合使用
animation-duration--动画的时间,从0 - 100 的时间
animation-timing-function--动画的方法:
steps(<integer>[, [ start | end ] ]?) step-start:等同于 steps(1, start) step-end:等同于 steps(1, end) cubic-bezier(<number>, <number>, <number>, <number>)
animation-delay--动画的延迟时间,默认值是0s
animation-iteration-count--动画的循环次数,默认值是一次infinite:无限循环
animation-direction--必须建立在循环的基础之上的
normal:正常方向
reverse:反方向运行
alternate:动画先正常运行再反方向运行,并持续交替运行
alternate-reverse:动画先反运行再正方向运行,并持续交替运行
CSS转换属性 transform 3D转换中元素移动坐标轴也会移动
CSS3 转换可以可以对元素进行移动、缩放、转动、拉长或拉伸。
rotate旋转
rotateX() rotateY() rotateZ() rotate3d(x,y,z,deg)
元素的旋转,旋转以后,元素的坐标轴也跟着发生了旋转,所以会导致先转和后转的结果会不一样
scale伸缩
scale() scelex() scaley() scelez() scale3d(x,y,z)
当你图片伸缩的时候,是伸缩的空间坐标轴,并不是图片的大小,造成了一个视觉差的效果
skew倾斜
skewx() skewy()
倾斜是倾斜坐标轴,并且会将坐标轴进行拉伸
translate移动
translatex() transelatey() translatez() translate3d(x,y,z)
相对于元素本身发生的偏移