标签:芝麻开门 box center 两扇门 transform 设置 css 倒立
芝麻开门:把鼠标放在门上,两扇门同时打开,而且角度是30度,门上的字体一直是倒立的。
思路:
- 设置初始状态:门关着的时候,字体是倒立的
- 设置结束状态:门打开角度30度,字体是倒立的
- 使用transition过渡效果,完成动画。
难点:发现字体倒立要多写一行代码,原因是transform的值会把以前的覆盖掉。
代码如下:
<!DOCTYPE html>
<html>
<head>
<title>芝麻开门案例</title>
<style type="text/css">
.box{
/*设置门框*/
width:900px;
height:600px;
border:5px solid red;
display:flex;
justify-content:space-between;
margin:100px auto;
/*设置透视点,即人眼位置,也可以不设置,默认为在遥远的地方*/
perspective:1000px;
transform-origin:center center;
}
.box div{
/*设置两扇门的大小及字体*/
width:446px;
height:600px;
border:2px solid red;
color:red;
font-size:80px;
text-align:center;
line-height:600px;
/*对两扇门设置3D模式*/
transform-style:preserve-3d;
/*把两扇门的福字倒过来,没开门时的状态。必须写上这句,因为transform的值会覆盖掉以前的值,保证页面打开时门是关着的且字是倒立着。*/
transform:rotateX(180deg);
}
/*设置左边门*/
.box:hover .left{
/*开门时,左边门先旋转30度(Y轴左门框),后把字进行翻转180度(x轴)。*/
transform-origin:left center;
/*由于transfom的值会覆盖上面,所以重新写一遍*/
transform:rotateY(30deg) rotateX(180deg);
}
/*设置右边门*/
.box:hover .right{
transform-origin:right center;
transform:rotateY(-30deg) rotateX(180deg);
}
</style>
</head>
<body>
<div class="box">
<div class="left">福</div>
<div class="right">福</div>
</div>
</body>
</html>
效果图如下:
silence cc 发布了48 篇原创文章 · 获赞 48 · 访问量 20万+ 私信 关注标签:芝麻开门,box,center,两扇门,transform,设置,css,倒立 来源: https://blog.csdn.net/qq_19339041/article/details/104431335
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。