CSS3制作立方体

用到的属性

hover

作用:当鼠标移入时产生定义的hover样式
使用方法:例:div标签      div:hover{样式}

transform

作用:对元素进行移动、旋转、缩放、倾斜

描述
translate(x,y)2D 移动 (单位px)
translate3d(x,y,z)3D 移动
translateX(x)X轴移动
translateY(y)Y轴移动
scale(x)2D 缩放
scale3d(x,y,z)3D 缩放
scaleX(x)沿X轴缩放
scaleY(y)沿Y轴缩放
scaleZ(z)沿Z轴缩放
rotate(angle)2D 旋转 (单位deg)
rotate3d(x,y,z,angle)3D 旋转
rotateX(angle)沿X轴旋转
rotateY(angle)沿Y轴旋转
rotateZ(angle)沿Z轴旋转
skew(x-angle,y-angle)沿着 X 和 Y 轴的 2D 倾斜 (单位deg)
skewX(angle)沿着 X 轴的 2D 倾斜
skewX(angle)沿着 Y 轴的 2D 倾斜

注:skew没有3D效果

transition

描述
transition-property指定CSS属性的name,transition效果
transition-durationtransition效果需要指定多少秒或毫秒才能完成
transition-timing-function指定transition效果的速度曲线
transition-delay定义transition效果延迟的时间

复合写法:transition: property duration timing-function delay;

perspective(景深(3D眼镜))

语法:perspective: number|none; (单位px)

描述
number元素距离视图的距离
none默认值。与 0 相同。不设置透视

注:perspective 属性只影响 3D 转换元素

transform-style

语法:transform-style: flat|preserve-3d;

描述
flat表示所有子元素在2D平面呈现
preserve-3d表示所有子元素在3D空间中呈现(创建3D空间)

backface-visibility

语法:backface-visibility: visible|hidden;

描述
visible背面可见
hidden背面不可见

代码解析

html部分

<div class="box">
	<ul>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
		<li></li>
	</ul>
</div>

css部分

<style type="text/css">
	/* 去掉默认样式 */
	*{margin: 0;padding: 0;}
	ul li{list-style: none;}
	
	.box {
		width: 600px; 
		height: 600px; 
		background: #eee;
		margin: 0 auto;
		position: relative;
		perspective: 800px; /* 景深 */
	.box ul{
		width: 300px; 
		height: 300px; 
		position: absolute;
		top: 0; 
		bottom: 0; 
		left: 0; 
		right: 0; 
		margin: auto; 
		transform-style: preserve-3d; /* 创建3D空间 */
		transition: all 4s;}
	.box ul:hover{
		transform: rotateX(360deg) rotateY(360deg);
	}
	.box ul li{
		width: 300px;
		height: 300px; 
		text-align: center; 
		line-height: 300px; 
		font-size: 48px; 
		position: absolute;
		backface-visibility: hidden; /* 设置背面不可见 */ }
	.box ul li:nth-child(1) {background: rgba(255,0,0,.5); transform: translateY(-150px) rotateX(90deg);}
	.box ul li:nth-child(2) {background: rgba(0,255,0,.5); transform: translateY(150px) rotateX(-90deg);}
	.box ul li:nth-child(3) {background: rgba(0,0,255,.5); transform: translateX(-150px) rotateY(-90deg);}
	.box ul li:nth-child(4) {background: rgba(255,0,255,.5); transform: translateX(150px) rotateY(90deg);}
	.box ul li:nth-child(5) {background: rgba(255,255,0,.5); transform: translateZ(150px);}
	.box ul li:nth-child(6) {background: rgba(0,255,255,.5); transform: translateZ(-150px) rotateY(180deg); }		
</style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值