CSS3 transforms 3D翻开

    • R
    • T
    • L
    • B
 

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>css3 transforms 3D文字翻开</title>
</head>

<body>
<div class="component">
  <ul class="grid">
    <li class="ot-letter-left"><span data-letter="R">R</span></li>
    <li class="ot-letter-top"><span data-letter="T">T</span></li>
    <li class="ot-letter-right"><span data-letter="L">L</span></li>
    <li class="ot-letter-bottom"><span data-letter="B">B</span></li>
  </ul>
</div>
<style>
ul,li{ list-style:none;}.grid {
    list-style: outside none none;
    margin: 0;
    padding: 0;
    position: relative;
    width: 100%;
}
.grid li {
    float: left;
    font-size: 12em;
    line-height: 1.5;
    max-height: 290px;
    position: relative;
    text-align: center;
    width: calc(100% / 6);
}
.grid li span {
    color: hsla(0, 0%, 0%, 0.6);
    display: inline-block;
    font-weight: 900;
    line-height: 1;
    perspective: 550px;
    position: relative;
    transform-style: preserve-3d;
    z-index: 1;
}
.grid li span::before, .grid li span::after {
    bottom: 0;
    content: attr(data-letter);
    left: 0;
    line-height: inherit;
    position: absolute;
    right: 0;
    top: 0;
    transition: all 0.3s ease 0s;
    z-index: 2;
}
.grid li span::before {
    color: hsla(0, 0%, 0%, 0.12);
    text-shadow: none;
}
.ot-letter-left {
    background: none repeat scroll 0 0 #e74d3c;
}
.ot-letter-left span {
    text-shadow: 1px 4px 6px #e74d3c, 0 0 0 hsla(0, 0%, 0%, 0.3), 1px 4px 6px #e74d3c;
}
.ot-letter-left span::after {
    color: #e74d3c;
}
.ot-letter-left:hover span::after {
    color: #ea6253;
}
.ot-letter-right {
    background: none repeat scroll 0 0 #ea6657;
}
.ot-letter-right span {
    text-shadow: 1px 4px 6px #ea6657, 0 0 0 hsla(0, 0%, 0%, 0.3), 1px 4px 6px #ea6657;
}
.ot-letter-right span::after {
    color: #ea6657;
}
.ot-letter-right:hover span::after {
    color: #ed7a6e;
}
.ot-letter-top {
    background: none repeat scroll 0 0 #ee7f72;
}
.ot-letter-top span {
    text-shadow: 1px 4px 6px #ee7f72, 0 0 0 hsla(0, 0%, 0%, 0.3), 1px 4px 6px #ee7f72;
}
.ot-letter-top span::after {
    color: #ee7f72;
}
.ot-letter-top:hover span::after {
    color: #f09389;
}
.ot-letter-bottom {
    background: none repeat scroll 0 0 #e95949;
}
.ot-letter-bottom span {
    text-shadow: 1px 4px 6px #e95949, 0 0 0 hsla(0, 0%, 0%, 0.3), 1px 4px 6px #e95949;
}
.ot-letter-bottom span::after {
    color: #e95949;
}
.ot-letter-bottom:hover span::after {
    color: #eb6e60;
}
.ot-letter-left span::before, .ot-letter-left span::after {
    transform-origin: 0 50% 0;
}
.ot-letter-left span::before {
    transform: scale(1.08, 1) skew(0deg, 1deg);
}
.ot-letter-left span::after {
    text-shadow: -1px 0 0 hsla(0, 100%, 100%, 0.1), 3px 0 1px hsla(0, 0%, 0%, 0.4);
    transform: rotateY(-15deg);
}
.ot-letter-left:hover span::before {
    transform: scale(0.85, 1) skew(0deg, 20deg);
}
.ot-letter-left:hover span::after {
    transform: rotateY(-40deg);
}
.ot-letter-right span::before, .ot-letter-right span::after {
    transform-origin: 100% 50% 0;
}
.ot-letter-right span::before {
    transform: scale(0.85, 1) skew(0deg, 1deg);
}
.ot-letter-right span::after {
    text-shadow: 1px 0 0 hsla(0, 100%, 100%, 0.1), -3px 0 1px hsla(0, 0%, 0%, 0.4);
    transform: rotateY(15deg);
}
.ot-letter-right:hover span::before {
    transform: scale(0.85, 1) skew(0deg, -20deg);
}
.ot-letter-right:hover span::after {
    transform: rotateY(40deg);
}
.ot-letter-top span::before, .ot-letter-top span::after {
    transform-origin: 50% 100% 0;
}
.ot-letter-top span::before {
    transform: scale(1, 0.95) skew(-4deg, 0deg);
}
.ot-letter-top span::after {
    text-shadow: 0 1px 0 hsla(0, 100%, 100%, 0.1), 0 -3px 1px hsla(0, 0%, 0%, 0.4);
    transform: rotateX(-15deg);
}
.ot-letter-top:hover span::before {
    transform: translateY(-0.05em) scale(1, 0.55) skew(-10deg, 0deg);
}
.ot-letter-top:hover span::after {
    transform: translateY(-0.035em) rotateX(-40deg);
}
.ot-letter-bottom span::before, .ot-letter-bottom span::after {
    transform-origin: 50% 0 0;
}
.ot-letter-bottom span::before {
    transform: scale(1, 1.05) skew(4deg, 0deg);
}
.ot-letter-bottom span::after {
    text-shadow: 0 -1px 0 hsla(0, 100%, 100%, 0.1), 0 3px 1px hsla(0, 0%, 0%, 0.4);
    transform: rotateX(15deg);
}
.ot-letter-bottom:hover span::before {
    transform: translateY(-0.035em) scale(1, 1.2) skew(10deg, 0deg);
}
.ot-letter-bottom:hover span::after {
    transform: translateY(0.045em) rotateX(40deg);
}
</style>
</body>
</html>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值