css边框属性、动画属性和分列

css中的边框样式:

/*
在css中可以给任何控件添加上边框
设置边框有三个属性:border-style,border-color 和 border-width
以下一一讲解功能
*/

	/*使用系统html提供的边框样式,double表示两条线,显示效果是一个矩形*/
    border-style: double;
	
    /*顾名思义,该属性设置边框颜色*/
    border-color: blue;

    /*该属性设置边框的宽度*/
    border-width: 5px;
	
	/*以上三条属性其实可以合在一起写,显示效果使一样的,以下是简写方式*/
	border:5px double blue;
	
	/*css3中增加的样式,如果希望可以设置圆角的效果,可以试是下面这个属性,属性值为希望的圆角半径*/
	border-radius: 10px;
	
	/*css3中增加的样式,这是一个可以向边框添加阴影的属性,5px 5px 表示阴影距离原边框左上角的距离,2px表示阴影的模糊程度,red表示阴影的颜色*/
	box-shadow: 5px 5px 2px red;
	
	/*这个属性设置内边距,这个值的大小会影响到控件的大小,如下设置为10px,控件会向四周扩大10px*/
	padding:10px;
	
	/*这个属性设置外边距,不会影响控件的大小,但是会影响到控件之间的间隔,设置为50px表示控件会至少相隔50px,因为控件处于上下位置关系时margin的距离会折叠,保留margin值大的距离,margin的值设置为auto时有居中的效果*/
	margin: 50px;
	
	/*这个属性刻意设置行间距,如下所示,150%表示行间距设置为字体的1.5倍*/
	line-height: 150%;

别的css属性:

	/*css3中增加的样式,这个属性可以设置鼠标悬停时鼠标的效果,如下所示,当鼠标悬停时,鼠标的方向会改变*/
 	cursor: alias;
 	
	/*css3中增加的样式,可以将一个块级元素转换成行内元素,如果对一组列表设置该属性,则该列表会以一行的形式显示*/
	display: inline;
	
	/*css3中增加的样式,这个属性比较好理解,设置是否可见,如下的值为hidden,表示不可见,但是还是可以选中的*/
	visibility: hidden;
	 
	/*这个属性可以设置透明度,值的范围时0~1,值为0时完全透明,值为1时没有透明效果,如下设置为0.5,表示半透明状态*/
	opacity: 0.5;

css中的分列:

	/*可以把元素分成3列,侧重分的列数,每列所占的宽度交给浏览器决定,单独使用该属性会使用默认间隔,没有间隔线*/
    column-count: 3;
    
    /*也是分列,设置每列的宽度为250px,侧重每列的宽度,具体分成几列交给浏览器决定*/
    column-width: 250px;
    
    /*设置每列的间隔距离,如下所示,为50px*/
    column-gap: 50px;
	
	/*可能需要设置分割线,可以美化界面,第一个值2px表示间隔线的宽度,第二个值outset表示分割线的样式,第三个值yellow表示分割线的颜色*/
    column-rule: 2px outset yellow;

css动画属性:

	/*
	transform属性可以用来引入瞬时动画,没有中间过程,可以用来设置终态画面
	transition可以用来填充过渡动画
	transform和transition一般同时使用
	*/

    /*设置移动到的位置,两个值分别表示与页面左上角的距离*/
    transform: translate(100px,100px);

    /*2D旋转,设置元素的旋转,顺时针,10deg表示旋转10度*/
    transform: rotate(10deg);
	
	/*设置缩放,第一个值表示宽度,1就是原宽度,第二个值表示高度,设置为2表示高度变为原来的2倍*/
    transform: scale(1,2);

    /*
    对元素进行变形的属性,
    deg表示度数
    第一个值表示垂直方向上的歪曲,正数表示向左,负数反之,
    如果元素是一个垂直向上的箭头,设置skew(30deg,0deg),那么此时会显示为一个向上偏左30度的箭头
    第二个之表示水平方向上的歪曲,正数表示向下,负数表示向上,
    如果元素是一个水平向右的箭头,设置skew(0deg,30deg),那么此时会显示为一个向右偏下30度的箭头
    
	简而言之,把整个元素看作是一个矩形,关注矩形的左下两条矩形边,正常是夹角为90度,两条边是相互垂直关系
	第一个值只控制左边的矩形边,值为正数时向外张开,(也就是向左张开),两矩形边夹角就会变大,反之同理
	第二个值只控制下边的矩形边,值为正数时向外张开,(也就是向下张开),两矩形边夹角就会变大,反之同理
	
    */
	transform: skew(30deg,30deg);

	/*3D旋转,控制元素在X轴上旋转,如下所示,表示旋转70度,其他3D的rotate系属性同理
	*/
    transform: rotateX(70deg);
	
	/*
	rotate是2D还是3D区别:
	只有rotate是2D,其他rotate后有跟东西的属性都是3D的
	*/

以下介绍transition属性,需要配合例子讲解:

	/*transition只对位置进行变化,不会进行颜色的变化*/
	
	/*在html标签中添加一个div即可*/
	
	/*html内容:*/
	<div></div>
	
	/*对应的css样式*/
	div{
    	background-color: red;
    	width: 100px;
    	height: 100px;
    }
    /*设置鼠标悬停会触发动画*/
    /**/
	div:hover{
   		width: 200px;
   		height: 200px;
   		/*设置瞬时动画,为旋转360度*/
   		transform: rotate(360deg);
	}

以上代码没有动画效果
因为transform是用来设置终态动画的,没有中间过程,如上,如果只设置transform属性和悬停的宽度和高度,鼠标悬停时只有高宽变大,旋转360度没有效果,如下所示:
在这里插入图片描述
我们需要在原css样式中加上transition来填充过渡动画
以下为修改后的css代码:

/*只需要添加一行代码,其他不变*/
div{
    background-color: red;
    width: 100px;
    height: 100px;
    /*需要在启动动画之前,提前添加transition属性,如下所示,如果动画中有涉及
    宽度的变化,则在属性中标记 width 属性,提醒浏览器要添加宽度的过渡动画,紧
    跟着的2s表示过渡动画的时间,为两秒,高度过渡动画同理,由于我们使transform
    设置了终态画面,标记transform属性,提醒浏览器要添加终态画面的过渡动画*/
    transition:width 2s, height 2s,transform 2s;

}
div:hover{
   width: 200px;
   height: 200px;
   transform: rotate(360deg);
}

以下是修改后的效果:

在这里插入图片描述
以下为过渡动画的其他属性:

/*此属性可以添加过渡动画的延迟,表示动画延迟一秒显示*/
transition-delay: 1s;

css中的animation属性:

/*以下同样演示说明*/
/*html还是使用一个原始的div*/
/*以下为css样式*/
div {
    background-color: red;
    width: 100px;
    height: 100px;
    
    /*animation支持颜色的过渡动画,也支持位置移动的动画,这里使用相对定位方便演示*/
    position: relative;
    
    /*animation属性得前两个值一定要设置,不然不显示动画,
    第一个值表示动画的名称,声明动画名称,浏览器需要使用动画名称找到动画
    第二个值表示动画的总时间,5s表示5秒
    第三个值表示动画播放的模式:可选的设置项,infinite表示无限播放,也可以设置其他的值
    */
    animation: myanima 5s infinite;

}

/*使用@keyframes + 空格 + 动画名 + { } 来设置被申明的动画*/
@keyframes myanima {
/*用数值 % + { } 的方式设置动画的过程中状态,数值 + % 表示动画的进度,数值最后一定要到达100% 否则显示效果不友好*/
    0% {
    	/*设置背景颜色表示每个阶段的颜色,animation会自动在每个阶段之间添加过渡动画*/
        background-color: red;
		
        /*使用顶部和左部的偏移量来控制移动*/
        top: 0px;
        left: 0px;
    }
    25% {
        background-color: blue;
        top: 0px;
        left: 100px;
    }
    50% {
        background-color: green;
        top: 100px;
        left: 100px;
    }
    75% {
        background-color: yellow;
        top: 100px;
        left: 0px;
    }
    100% {
        background-color: red;
        top: 0px;
        left: 0px;
    }

}

以下为演示效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值