文本效果
1、text-shadow 文本阴影(艺术字)
h1{ text-shadow: 5px 5px 5px #FF0000; /*4个参数:水平阴影、垂直阴影、模糊的距离、阴影颜色*/ }
2、text-overflow 文本溢出
p{ text-overflow: clip; /*剪掉溢出的文本*/ text-overflow: ellipsis; /*用省略号...代替溢出的部分来显示,最常用*/ }
overflow可以处理所有的溢出,text-overflow专用于文本溢出。
我们可以在:hover伪类中设置overflow/text-overflow,当鼠标移到内容上时,显示全部|完整内容。
3、word-break 单词换行拆分方式
p{ word-break:break-all; /*如果换行处的单词过长,会拆分单词,并不会加连词线*/ word-break: keep-all; /*如果换行处的单词过长,会转到下一行显示*/ word-break: normal; /*使用浏览器默认的换行符*/ }
边框
1、圆角边框
div{ border:1px solid red; border-radius:5px; /*设置圆角大小,数值越大,越圆*/ }
border-radius需要和border | backgroud-image | background-color配合使用,单独使用无效。
2、图片边框
p{ border-image: url("border.png") 30 30 round; }
最后一个参数指定图片的填充方式:stretch(拉伸)、repeat(重复,可能会出现残缺图片)、round(重复,自动调整,不会出现残缺图片),一般用round。
3、box-shadow 盒子阴影
div{ width:300px; height:100px; box-shadow: 10px 10px 5px #888888; /*参数:水平阴影位置、垂直阴影位置、模糊距离、阴影颜色,前三个参数支持负数*/ }
box-shadow可以脱离border属性单独使用,但盒子(块级元素)的宽、高要确定,所以一般要配合width、height使用。
transform 2d、3d变换
div{ transform:translate(50px,100px); }
transform即变换,在原位置的基础上进行变换,属性值指定进行哪种变换。
显示的直接就是变换的结果,并不显示变换的过程。
常用的2d变换:
transform: translate(50px,100px); /*平移,参数:水平平移距离、垂直平移距离,支持负数*/ transform: rotate(30deg); /*旋转,以左上角为基点,负数表示逆时针旋转*/ transform: scale(2,3); /* 缩放,参数:水平缩放倍数、垂直缩放倍数,小数形式 */
常用的3d变换:
transform: translate3d(x,y,z); /*3d平移*/ transform: rotate3d(x,y,z,angle); /*3d旋转*/ transform: scale3d(x,y,z); /* 3d缩放 */
都可以单独设置参数:
translateX(x) translateY(y) translateZ(z)
颜色渐变
1、线性渐变 在一个长方形区域朝着一个方向颜色渐变
#gradient { background: linear-gradient(to right, red , blue, grey); }
第一个参数指定渐变方向,后面是颜色变化,颜色个数可变。
#gradient { background: linear-gradient(to right, red , blue, grey); /*从左到右*/ background: linear-gradient(to bottom, red , blue, grey); /*从上到下*/ background: linear-gradient(to bottom right, red , blue, grey); /*左上到右下*/ background: linear-gradient(90deg, red , blue, grey); /*可使用角度*/ }
可缺省渐变方向,缺省时默认为从上到下。
颜色可使用rgba()来表示,这样可以将透明度使用进来。
2、径向渐变 从圆心向外渐变
#gradient { background: radial-gradient(circle, red 5%, green 15%, blue 60%); }
第一个参数设置渐变形状,可以是 circle (圆)、 ellipse(椭圆),可缺省,缺省时默认为 ellipse。
可以设置每种颜色占多大面积,数值可以缺省,缺省时默认每种颜色占的大小相同。
#gradient { background: radial-gradient(red, green, blue); }
渐变并没有形成动画。
transition 过渡
我们给一个元素设置了2种样式:
div{ width: 100px; height:100px; background-color: red; } div:hover{ width: 300px; height:300px; background-color: red; }
当鼠标移到<div>上去时,<div>的宽、高会一下子变为300px、300px,瞬时完成,几乎看不到过程。样式改变、2d|3d变换等,都是这样的。
transition可以给某些属性设置一个时间,当这些属性变化时,是在指定的时间内完成,这样我们就可以看到变化过程了,这也算一种动画。
div { width: 100px; height: 100px; background: red; transition: width 2s, height 2s, transform 2s; /*可指定多个属性,用逗号隔开即可*/ } div:hover { width: 300px; height: 300px; transform: rotate(180deg); }
可指定变化速度、开始时间:
transition: width 5s linear 2s;
一个属性变化有4个参数:属性名,在多少秒|毫秒内完成,变化速度,此属性开始变化的时间(2s后开始变化)。
后2个参数可缺省,缺省时默认为linear(匀速变化)、0s(立刻开始)。
可设置多个属性变化,逗号隔开即可。
变化速度常用的值:
- linear 匀速
- ease 慢-快-慢
- ease-in 慢-快-匀速
- ease-out 匀速-慢
动画
动画就是元素从一种样式变为另一种样式的过程。
<style> div { width:100px; height:100px; background:red; animation:myAnimation 5s; /*指定动画名称、多少秒内完成*/ } @keyframes myAnimation /*动画名称*/ { 0% {background:red;} /*0%表示动画开始,100%表示动画结束*/ 50% {background:yellow;width:200px;height:200px} /*{}中写要变化的样式,可以有多个属性,分号隔开即可*/ 100% {background:green;width:100px;height:100px} } </style>
百分数可以是0%-100%之间的任意值。
animation:动画名称 多少时间内完成 变化速度 开始时间;
后2个参数可缺省。
上面的动画是自动开始的,一般我们是把动画和用户事件(比如鼠标移入、单击等)绑定在一起的:
<style> div { width:100px; height:100px; background:red; } div:hover{ animation:myAnimation 5s; } @keyframes myAnimation { 0% {background:red;} 50% {background:yellow;width:200px;height:200px} 100% {background:green;width:100px;height:100px} } </style> animation:myAnimation 5s;
多列
p{ column-count:3; /*将<p>中的内容分为3大列显示,列之间用一竖空白隔开*/ }
就像报纸上的多列一样。
可指定列之间的间距:
p{ column-count:3; column-gap: 40px; /*指定列之间的间距*/ }
可指定列之间的分隔:
p{ column-count:3; column-gap: 40px; column-rule: 1px solid lightblue; /*指定列之间的分隔竖线样式,缺省此属性时默认没有竖线分隔*/ }
来源:https://www.cnblogs.com/chy18883701161/p/11332426.html