css3

1)动画

1.Animation

1>属性

animation-name:指定选用的动画的名字,即keyframes中的NAME。

animation-duration:动画效果持续的时间,秒。

animation-timing-function过渡类型

 linear 匀速|ease 缓存|ease-in 加速|ease-out 减速| ease-in-out 先加速后减速

| cubic-bezier(number, number, number, number):特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内

animation-delay动画延迟,秒

animation-iteration-count设定动画执行的次数,其值可以是数字也可以是infinite(循环执行)

animation-direction设定动画执行的方向

normal 正常| reverse反向 | alternate 持续交替| alternate-reverse正反向持续交替

复合属性animation :name duration timing-function delay interation-count direction

2>实例

css中的书写

div{
width:100px;
height:100px;
-webkit-animation-name:'dong';
-moz-animation-name:'dong';
-o-animation-name:'dong';
animation-name:'dong';
-webkit-animation-duration:4s;
-webkit-animation-time-function:linear/ease-in/ease-out/ease-in-out;
-webkit-animation-delay:4s;
-webkit-animation-iteration-count:4
	}
@-webkit-keyframes 'dong'{
  //也可以使用百分来展示动画的变化
from{background:red;}
	to{background:yellow;}
	}

2.transition

1>属性

transition-property 过渡属性 all|[attr]
transition-duration 过渡时间
transition-delay 延迟时间
transition-timing-function 运动类型

ease:(逐渐变慢)默认值

linear:(匀速)

ease-in:(加速)

ease-out:(减速)

ease-in-out:(先加速后减速)

cubic-bezier 贝塞尔曲线( x1, y1, x2, y2 )贝塞尔曲线

2>

实例

css中的书写

​
.trans {
    -webkit-transition: background-color 0.3s ease;
    -moz-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}
.trans:hover {
    background-color: #486AAA;
    color: #fff;
}
<a href="/" class="trans">经过我~~</a>

​

3.transform2D/3D转换 
1>属性

语法:transform:none | <transform-function> 默认值是none
rotate()旋转 
transform:rotate(angle) 单位deg正数表示顺时针旋转,负数表示逆时针旋转
translate()平移:根据X轴和Y轴的位置给定参数,使当前元素位置移动
translateX() 仅水平方向移动
transform:translateX() 单位px
translateY() 仅垂直方向移动
transform:translateY() 单位px
translate(x,y) 水平方向和垂直方向同时移动
transform:translate( X, Y) 单位px
注意:如果只写一个参数,第二个默认是0,也就是只设置了水平方向上的位移
scale( )缩放 :设置元素的缩放程度
scaleX( ) 仅水平方向缩放 ->transform:scaleX() 没有单位
scaleY( ) 仅垂直方向缩放 ->transform:scaleY() 没有单位
scale(x,y) 使元素水平和垂直方向同时缩放 ->transform:scale(x,y) 没有单位
skew()扭曲/倾斜 
skewX( ) 仅使元素在水平方向上扭曲变形 单位deg 正值 ----逆时针
skewY( ) 仅使元素在垂直方向上扭曲变形 单位deg 正值 ----顺时针
skew( ) 使元素在水平方向和垂直方向上扭曲变形 单位deg

0deg与180deg 效果一样

3d变换 
开启3d空间transform-style: preserve-3d; 一般给父元素开启

2>实例

.trans_effect:hover {
    -webkit-transform:rotate(720deg) scale(2,2);
    -moz-transform:rotate(720deg) scale(2,2);
    -o-transform:rotate(720deg) scale(2,2);
    -ms-transform:rotate(720deg) scale(2,2);
    transform:rotate(720deg) scale(2,2);        
}

2)选择器

1>属性选择器

1》element[attribute] 
为带有attribute属性的元素

a[href]{background:red;}
2》element[attribute='value'] 
为attribute='value'属性的元素

a[href="http://www.baidu.com"]{background:red;}

3》element[attribute~='value'] 
选择attribute属性值包含value 单词的元素

a[title~="se"]{background:red;}

4》element[attribute*='value']
选择attribute属性值包含value单词元素

a[title*="s"]{background:red;}
5》element[attribute$='value']
选择attribute属性值是以value结尾的元素

a[title$="sh"]{background:red;}

6》element[attribute^='value']
选择attribute属性值是以value开头的元素

2>伪类选择器

:link  未被访问过的a标签样式 

:visited已经被访问过的a标签样式。

:hover链接被长按时的样式。

:active鼠标悬停在a标签上的样式

:focus

:target当我们点击锚点链接时,对应id的元素会显示在视口

<p><a href="#new1">跳转至内容1</a></p>

 <p id="new1"><b>内容1....</b></p>

  1. 伪元素

1》element::first-line 对元素的第一行文本进行设置,只能用于块级元素
2》ement::first-letter :用于向文本的首字母设置特殊样式,只能用于块级元素
3》element::before 在元素的内容前面插入新内容,常与content配合使用
4》element::after 在元素的内容后面插入新内容,常与content配合使用
5》element::selection 用于设置浏览器中选中文本后的背景色与前景色

3>nth选择器

first-child选择属于父元素的第一元素

last-child选择属于父元素的最后一个子元素
nth-child(n) :选择某元素下的第n个元素,括号里还可以传odd和even两个关键字 ,odd是奇数(从1开始),even是偶数
nth-last-child(n) :匹配属于某元素下的第n个element子元素,从最后一个子元素开始计数
nth-of-type(n) :匹配属于父元素的特定类型的第n个子元素,element为指定类型的子元素
nth-last-of-type :匹配属于父元素的特定类型的第n个子元素,从最后一个计数
first-of-type匹配属于其父元素的特定类型的首个

last-of-type :最后一个子元素的每个元素
only-child :匹配属于父元素的唯一子元素的每个元素
empty :匹配没有子元素(包括文本节点)的每个元素

4>nth-of-type | nth-child?

<ul> 
<p>111</p>
 <span>222</span>
 <li>1</li> 
<li>2</li>
<li>3</li> 
</ul> 

Nth-child不过滤标签

Nth-of-type过滤标签

建议一般使用nth-of-type,不容易出问题。
li:nth-of-type(2):表示ul下的第二个li元素
li:nth-child(2):表示既是li元素又是在ul下的第二个元素(找不到)。

3)背景边框

1>边框

1》border-top-left-radius 左上角
border-top-right-radius 右上角
border-bottom-right-radius 右下角
border-bottom-left-radius 左下角
复合属性:border-radius
属性值
四个值:左上角 右上角 右下角 左下角
三个值:左上角 右上角和左下角 右下角
两个值:左上角和右下角 右上角和左下角
一个值:4个角都生效
border-radius中的属性值由两个参数值构成: value1 / value2,值之间用/分隔,value1代表圆角的水平半径,value2代表圆角的垂直半径。

2>box-shadow: 水平方向的偏移量 垂直方向的偏移量 模糊程度 扩展程度 颜色 是否具有内阴影

3>background

1》background:color position/size repeat origin clip attachment image

注意:如果同时设置”position”和”size”两个属性,应该用左斜杠”/”,而不是用空格把两个参数隔开

2》color:背景颜色值;可以使用#,英语,rgba来设置颜色

      background-color:#ccc;

  background-color:red;

  background-color:rgba(255,255,0,0.8);

3》position:背景图片的定位(如果没有图片属性不起作用)

可选值:两个参数,水平位置和垂直位置,如果只有一个值,第二个值默认为center

可以使用位置关键字百分比(以元素大小为基值),像素值

百分比计算:

x:(容器的宽度-背景图片的宽度)*x百分比,超出部分隐藏

y:(容器的高度-背景图片的高度)*y百分比,超出部分隐藏

     background-position:left;

 background-position:10%;

 background-position:100px;

4》size:图片尺寸。应用于图片(IE9+)

可选值:两个数值,如果只有一个值,第二个值为auto

默认是图片自身大小

可以使用像素,百分比(以元素大小为基础)

百分比:是根据相对的背景区域来做调整的

cover:等比例缩放图片,覆盖这个元素”,铺满整个显示区域,如果显示比例和显示区域的比例相差很大某些部分不会显示,如果图片很小会放大到没有空白,其中一边就不会显示类似于windows中桌面背景填充

contain:等比例缩放图片,适应元素的宽或者高,他是按照某一边来覆盖显示区域的,会有白位类似于windows中桌面背景适应1

5》repeat:平铺方式

repeat:完全平铺(默认)

repeat-x:水平平铺

repeat-y:垂直平铺

no-repeat:不平铺

inherit:属性的设置从父元素继承

6》origin:背景的参考区域(IE7默认是从border开始显示背景),只能控制背景图片

可选值:

border-box:决定background-position起始位置从border的外边缘开始显示背景图片

padding-box:决定background-position起始位置从padding的外边缘开始显示背景图片,默认值

content-box:决定background-position起始位置从contain的外边缘开始显示背景图片

7》clip:背景的可视区域(可以让背景图片和背景颜色统一在相同位置上,谷歌:可以设置padding-box,content-box,火狐比较复杂)

可选值:

border-box:背景从border区域向外裁剪,也就是将超出部分裁剪,默认值

padding-box:背景从padding区域向外裁剪,也就是将超出padding区域的背景裁剪

content-box:背景从content区域向外裁剪,也就是将超出content区域的背景裁剪

background-color位置是从border左上角到右下角,background-image位置是从padding左上到border右下角

8》attachment:设置背景图片是否固定或随着页面的其余部分滚动

默认值是:scroll

fixed背景图片是固定的

9》多背景的设置

使用“,”隔开,继续写背景属性

4)分栏布局

属性

描述

column-count

规定元素应该被分割的列数

column-fill

规定如何填充列

column-gap

规定列之间的间隔

column-rule

复合属性

column-rule-color

规定列之间规则的颜色

column-rule-style

规定列之间规则的样式

column-rule-width

规定列之间规则的宽度

column-span

规定原色应该横跨的列数

column-width

规定列的宽度

columns

规定设置column-width和column-count的简写属性。

文字特效

text-shadow:添加文字阴影

1》文本溢出处理:

white-space:

nowrap;//强制不换行
text-overflow:需要和overflow:hidden配合使用

ellipsis超出部分用…显示

clip超出剪切掉

word-wrap:

break-word;//允许长文本换行
word-break:

break-all;//允许拆分换行  

keep-all;//不允许拆分换行

1.1>word-break:break-all和Word-wrap:break-word区别:

在浏览器中连续的英文或者数字是按单词进行解析的,也就是说每个单词是一个整体,在串字符串中,如果有一个单词超出设置的宽度,他会尝试挪到下一行

word-wrap:break-word是对长单词允许断句,但是任然会挪到下一行,如果剩下的空间不足单词放下

word-break:break-all对长字符串允许断句,而且不会挪到以下行,更省空间。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值