【知了堂学习笔记】css3 transform 3d制作字母开门3D效果

通过css3选择器:hover及一些过渡效果来实现鼠标移入字母往左边开门的效果。


   :hover是一个伪类,是鼠标指针移到元素的上面

    transition是css3里面的过渡效果,是一种样式变化成另一种效果

    transform是对内容进行旋转,旋转分为2D和3D的,旋转可以沿着X轴或Y轴及Z轴进行旋转。

    transform:rotateY(-40deg); 在括号里面跟的是一个度数,实现内容的旋转,

 

下面是html代码:

<!DOCTYPEhtml>
<html lang="en">
<head>
       <meta charset="UTF-8">
       <title>Document</title>
       <link rel="stylesheet"type="text/css" href="css/demo.css">
</head>
<body>
       <div class="container">
              <div class="component">
                     <ul>
                            <li class="left"><span data="C">C</span></li>
                           
                            <li class="left"><span data="A">A</span></li>
                           
                            <li class="left"><span data="Q">Q</span></li>
                     </ul>
              </div>
       </div>
</body>
</html>

可以看到网页的内容是非常简单的,就是一个div里面加了一个无序列表和span标签。

静态图片:

           

Css样式代码:

*{
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.component ul{
	width: 100%;
	height: 500px;
	float: left;
	font-size: 13em;
	overflow: hidden;
	/*border:1px solid #000;*/
}
.component ul li{
	width:220px;
	float: left;
	text-align: center;
	margin-left: 10px;
	background: #2e9898;
	/*border:1px solid #000;*/
}
.component ul span{
	position: relative;
	display: inline-block;
	font-weight: 900;
	transform-style:preserve-3d;
	perspective: 550px;

}
.component ul li span:after {
	content: attr(data);
	line-height: inherit;
	position: absolute;
	top: 0;
	left: 0;
	color: #2b7672;
	transition: all .3s;
	transform-origin: 0 50%;
	transform: rotateY(-12deg);
	text-shadow: -1px 0px 0px hsla(360, 100%, 100%, 0.1), 3px 0px 1px hsla(0, 0%, 0%, 0.4);
}
一点小思路及用到的知识点:

首先我们需要对ul标签里的内容进行一些简单的设置。静态页面的设置,通过一个:after这个伪类实现了一个遮罩层,肉眼看到的以为是一个大的字母,其实这是两个一样的字母,通过定位后,他们的位置一样,所以重合了。

这里值得关注的是 content: attr(data);的用法,他是通过attr从页面里面提取内容,data定义了一个值就是和span标签里的字母一样,content把attr提取的内容显示出来。

transform-origin 允许被转换元素的位置,配合transform:rotateY()来进行设置的,

可以将元素的位子进行调动。

最后用了一个阴影效果,到达在进行开门的时候能够更加明显。

text-shadow 是实现文字阴影效果,

h-shadow 水平阴影的位置

v-shadow 垂直阴影的位置

blur 模糊的距离

color 颜色

       可以设置多重的阴影每个阴影用逗号隔开

Css动效代码:

.left:hover span:after {
	color: #bddebf;
	transform: rotateY(-40deg);
}

其实动效没什么,就是鼠标在移入的时候改变颜色,以方便观看变化,以及对内容进行了一个旋转,就达到了开门的效果。

 






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值