css3知识总结
边框
|—盒子圆角 border-radius
|—盒子阴影 box-shadow:
背景
|—引入背景 background-image
|—背景尺寸 background-size
|—背景平铺 background-repeat
|—背景位置
|—–位置定位1(background-origin)
|——根据文本位置:content-box
|——根据边框位置:border-box
|——根据内边距位置:padding-box
|——使用这个属性,必须设置背景为no-repeat
|—–位置定位2(background-position)
|—— top rihgt bottom left;background-position:距左多少 距右多少
|—多重背景:逗号分割:background-image:url(images/bg_flower.gif), url(images/border.png);
background-repeat:no-repeat;
文字
|—文本阴影:text-shadow:三个值:分别代表距离左侧、距离上侧、阴影颜色 阴影会显示文字
text-shadow:四个值:分别代表距离左侧、距离上侧、模糊程度及阴影颜色
|—文本溢出属性
|—–overflow: hidden; white-space:nowrap;让文本强制不换行 要先设置这两个属性
|—–text-overflow
|——clip:修剪文本。
|——ellipsis:显示省略符号来代表被修剪的文本
|——自定义(string):自己定义符号,给定的字符串来代表被修剪的文本
|—文本换行属性 word-break:
|—–word-break:break-all 内容长度到200px时自动换行。如果最后是一个完整的长单词,它会把单词截断
|—–word-break:break-word; 会把句末单词完整的放到下一行的开头
颜色之RGBA与透明度opcity
|—R:红 G:绿 B:蓝 alpha:透明度的参数
|—RGB的取值范围是0~255/0~100% alpha的取值范围是0~1 不可为负值
|—透明度 opcity:取值范围0~1
渐变颜色
|—background-image: linear-gradient(to bottom,#fff,red);
|—说明:参数说明:第一个参数指定渐变方向 to top,to bottom,to right,to left,to top left……
第二和第三个参数:是指定开始与结束的颜色值 可以有多个颜色background-image: linear-gradient(to bottom,#fff,black,red);
旋转
|—2D
|—–transform:
|——rotate()——进行旋转,括号内部写旋转角度,默认顺时针旋转.允许负值,元素将进行逆时针旋转
|——translate()——从当前位置进行移动,括号内为x,y值。允许负值,将反方向移动
transform:translate(30px,30px):向右30px,向下30px移动,原来位置保存
|——scale()——改变原始尺寸,按照倍数变化,括号内为width、height的倍数
transform:scale(2,4):宽度变为2倍,高度变为4倍
|——skew()——水平、垂直方向进行扭转,括号内是水平扭转角度、垂直扭转角度
transform:skew(30deg,0deg);将横向扭转30度的div,内部文字会跟随扭转
transform:skew(0deg,30deg);将纵向扭转30度的div,内部文字会跟随扭转
transform:skew(30deg,30deg);将横向扭转30度、纵向扭转30度的div,内部文字会跟随扭转
|—3D
|—–transform
|——rotateX()——沿水平X轴进行垂直的翻转,括号内写转动度数
|——rotateY()——沿垂直Y轴进行水平的翻转,括号内写转动度数
|—2D与3D的区别
|—–2D转换跟3D转换的区别:2D转换仅仅在于平面,文字可以看出并没有反过来
3D转换是相当于镜面效果的,进行了前后空间(涉及到了Z轴)的占用进行的翻转。
过度
|—transition:专门应对颜色、长度、宽度、位置等变化的过渡
#aaa{ width:200px; height: 200px; border: 1px solid red; transition:2s; } #aaa:hover{ width: 500px; }
效果是鼠标移上之后框会有过程放大
动画
|—1、@keyframes规则用于创建动画。在@keyframes中规定某项CSS样式,就能创建由当前样式逐渐改为新样式的动画效果
2、使用animation进行动画捆绑。两个值:动画名称、时长
3、我们一般情况下使用0%~100%来规定动画发生的时机。或者使用关键词from…to…,效果等同于0%~100%。
4、加上一个infinite值就可以无限执行了
5、ease——默认开始慢慢加速,结束时慢慢减速。
linear——默认始终使用相同速度运行。
alternate——交替执行(也可以成为正反执行)
div{ width:300px; height:300px; background:black; position:relative;/*由于需要进行位置改变,所以增加了position属性*/ animation:myfirst 5s infinite alternate;/*动画捆绑,两个值,动画名称、时长,加上一个无限执行,交替执行*/ } @keyframes myfirst {/*改变位置和背景颜色*/ 0% {background:red; border-radius:90px; box-shadow:-35px 0px 15px gray; left:0px; top:0px;} 25% {background:yellow; border-radius:0px; left:400px; top:0px;} 50% {background:blue; border-radius:90px; left:400px; top:300px;} 75% {background:green; border-radius:0px; box-shadow:0px 30px 15px gray; left:0px; top:300px;} 100% {background:red; border-radius:20px; left:0px; top:0px;} }
弹性盒子
|— CSS3 的一种新的布局模式。
|—– display: flex;考虑浏览器兼容问题:定义为弹性盒子
|—–弹性子元素在父容器中的位置排列(横向、纵向)
|——flex-direction
|——- row:横向从左到右排列(左对齐),默认的排列方式。
|——- row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面。
|——- column:纵向排列。
|——-column-reverse:反转纵向排列,从后往前排,最后一项排在最上面。
|—–弹性盒子的子元素换行方式
|——flex-wrap:nowrap – 默认, 弹性容器为单行。该情况下弹性子项可能会溢出容器。
wrap – 弹性容器为多行。该情况下弹性子项溢出的部分会被放置到新行,子项内部会发生断行
wrap-reverse -反转 wrap 排列
|—–弹性子元素在父容器中的对齐方式
|——横向对齐:justify-content:
|——纵向对其:align-items:
|—–弹性子元素如何分配空间
|——flex:
.flex-container { display: flex; width: 400px; height: 250px; } .item1 { flex: 2; } .item2 { flex: 1; } .item3 { flex: 1; }
|—–子元素的属性
|——排序:order
|——边距:margin
|——纵轴对齐方式:align-self