css3中插入地图,CSS3 地图展开动画

CSS

语言:

CSSSCSS

确定

html,

body {

height: 100%;

margin: 0;

padding: 0;

background-color: #345761;

overflow: hidden;

}

p {

margin-top: 3rem;

color: #c6d7dc;

text-align: center;

font-family: monospace;

font-size: 1.1rem;

}

.details-on-map {

position: relative;

width: 41rem;

height: 0rem;

margin: 2rem auto 0;

}

#map {

position: absolute;

top: 0;

box-sizing: content-box;

border: 0.5rem solid white;

height: 20rem;

width: 40rem;

border-radius: 0.5rem;

opacity: 0;

visibility: hidden;

}

.paper-map {

position: absolute;

top: 0;

display: -webkit-box;

display: -webkit-flex;

display: -ms-flexbox;

display: flex;

-webkit-box-pack: center;

-webkit-justify-content: center;

-ms-flex-pack: center;

justify-content: center;

-webkit-perspective: 150rem;

perspective: 150rem;

opacity: 0;

}

.map-side {

box-sizing: content-box;

width: 10rem;

height: 20rem;

border: 0.5rem solid white;

background-image: url(https://s31.postimg.org/yxpm4cu4b/map.png);

background-color: rgba(233, 229, 220, 1);

outline: 1px solid transparent;

overflow: hidden;

}

.map-side::before {

position: absolute;

top: 0;

bottom: 0;

left: 0;

right: 0;

display: block;

background-color: rgba(233, 229, 220, 0.5);

box-shadow: inset 0 0 5rem rgba(0, 0, 0, 0.1);

content: "";

}

.map-side:nth-of-type(1) {

border-right: none;

border-radius: 0.5rem 0 0 0.5rem;

background-position: 0 0;

-webkit-transform: translateX(5.05rem) rotateY(-60deg);

transform: translateX(5.05rem) rotateY(-60deg);

}

.map-side:nth-of-type(2) {

border-right: none;

border-left: none;

background-position: -10rem 0;

-webkit-transform: translateX(5rem) rotateY(60deg);

transform: translateX(5rem) rotateY(60deg);

}

.map-side:nth-of-type(3) {

border-right: none;

border-left: none;

background-position: -20rem 0;

-webkit-transform: translateX(-5rem) rotateY(-60deg);

transform: translateX(-5rem) rotateY(-60deg);

}

.map-side:nth-of-type(4) {

border-left: none;

border-radius: 0 0.5rem 0.5rem 0;

background-position: -30rem 0;

-webkit-transform: translateX(-5.05rem) rotateY(60deg);

transform: translateX(-5.05rem) rotateY(60deg);

}

.show-map.details-on-map {

height: 21rem;

}

.show-map #map {

visibility: visible;

-webkit-animation: fadeIn 0.5s 1.25s linear forwards;

animation: fadeIn 0.5s 1.25s linear forwards;

}

.show-map .paper-map {

-webkit-animation: paperMapFadeIn 0.33s ease-in forwards, fadeOut 1s 3.5s linear forwards;

animation: paperMapFadeIn 0.33s ease-in forwards, fadeOut 1s 3.5s linear forwards;

}

.show-map .map-side::before {

-webkit-animation: fadeOut 0.5s 0.33s forwards ease-out;

animation: fadeOut 0.5s 0.33s forwards ease-out;

}

.show-map .map-side:nth-of-type(1) {

-webkit-animation: openMapOuter 0.33s 0.33s linear forwards;

animation: openMapOuter 0.33s 0.33s linear forwards;

}

.show-map .map-side:nth-of-type(2) {

-webkit-animation: openMapInnerLeft 0.33s 0.33s linear forwards;

animation: openMapInnerLeft 0.33s 0.33s linear forwards;

}

.show-map .map-side:nth-of-type(3) {

-webkit-animation: openMapInnerRight 0.33s 0.33s linear forwards;

animation: openMapInnerRight 0.33s 0.33s linear forwards;

}

.show-map .map-side:nth-of-type(4) {

-webkit-animation: openMapOuter 0.33s 0.33s linear forwards;

animation: openMapOuter 0.33s 0.33s linear forwards;

}

.map-side:nth-of-type(1),

.map-side:nth-of-type(3) {

-webkit-transform-origin: 100% 0;

transform-origin: 100% 0;

box-shadow: inset 0 0 2rem rgba(0, 0, 0, 0.3);

}

.map-side:nth-of-type(2),

.map-side:nth-of-type(4) {

-webkit-transform-origin: 0 0;

transform-origin: 0 0;

box-shadow: inset 0 0 2rem rgba(0, 0, 0, 0.3);

}

@-webkit-keyframes openMapOuter {

100% {

-webkit-transform: translateX(0) rotateY(0deg);

transform: translateX(0) rotateY(0deg);

box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.1);

}

}

@keyframes openMapOuter {

100% {

-webkit-transform: translateX(0) rotateY(0deg);

transform: translateX(0) rotateY(0deg);

box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.1);

}

}

@-webkit-keyframes openMapInnerLeft {

0% {

-webkit-transform: translateX(5rem) rotateY(60deg);

transform: translateX(5rem) rotateY(60deg);

}

20% {

-webkit-transform: translateX(4rem) rotateY(53deg);

transform: translateX(4rem) rotateY(53deg);

}

38% {

-webkit-transform: translateX(3.1rem) rotateY(46.2deg);

transform: translateX(3.1rem) rotateY(46.2deg);

}

50% {

-webkit-transform: translateX(2.5rem) rotateY(41.5deg);

transform: translateX(2.5rem) rotateY(41.5deg);

}

65% {

-webkit-transform: translateX(1.75rem) rotateY(34.5deg);

transform: translateX(1.75rem) rotateY(34.5deg);

}

75% {

-webkit-transform: translateX(1.25rem) rotateY(29deg);

transform: translateX(1.25rem) rotateY(29deg);

}

83% {

-webkit-transform: translateX(0.85rem) rotateY(23.8deg);

transform: translateX(0.85rem) rotateY(23.8deg);

}

90% {

-webkit-transform: translateX(0.5rem) rotateY(18.1deg);

transform: translateX(0.5rem) rotateY(18.1deg);

}

95% {

-webkit-transform: translateX(0.25rem) rotateY(12.8deg);

transform: translateX(0.25rem) rotateY(12.8deg);

}

98% {

-webkit-transform: translateX(0.1rem) rotateY(8deg);

transform: translateX(0.1rem) rotateY(8deg);

}

99% {

-webkit-transform: translateX(0.05rem) rotateY(5deg);

transform: translateX(0.05rem) rotateY(5deg);

}

100% {

-webkit-transform: translateX(0) rotateY(0);

transform: translateX(0) rotateY(0);

box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.1);

}

}

@keyframes openMapInnerLeft {

0% {

-webkit-transform: translateX(5rem) rotateY(60deg);

transform: translateX(5rem) rotateY(60deg);

}

20% {

-webkit-transform: translateX(4rem) rotateY(53deg);

transform: translateX(4rem) rotateY(53deg);

}

38% {

-webkit-transform: translateX(3.1rem) rotateY(46.2deg);

transform: translateX(3.1rem) rotateY(46.2deg);

}

50% {

-webkit-transform: translateX(2.5rem) rotateY(41.5deg);

transform: translateX(2.5rem) rotateY(41.5deg);

}

65% {

-webkit-transform: translateX(1.75rem) rotateY(34.5deg);

transform: translateX(1.75rem) rotateY(34.5deg);

}

75% {

-webkit-transform: translateX(1.25rem) rotateY(29deg);

transform: translateX(1.25rem) rotateY(29deg);

}

83% {

-webkit-transform: translateX(0.85rem) rotateY(23.8deg);

transform: translateX(0.85rem) rotateY(23.8deg);

}

90% {

-webkit-transform: translateX(0.5rem) rotateY(18.1deg);

transform: translateX(0.5rem) rotateY(18.1deg);

}

95% {

-webkit-transform: translateX(0.25rem) rotateY(12.8deg);

transform: translateX(0.25rem) rotateY(12.8deg);

}

98% {

-webkit-transform: translateX(0.1rem) rotateY(8deg);

transform: translateX(0.1rem) rotateY(8deg);

}

99% {

-webkit-transform: translateX(0.05rem) rotateY(5deg);

transform: translateX(0.05rem) rotateY(5deg);

}

100% {

-webkit-transform: translateX(0) rotateY(0);

transform: translateX(0) rotateY(0);

box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.1);

}

}

@-webkit-keyframes openMapInnerRight {

0% {

-webkit-transform: translateX(-5rem) rotateY(-60deg);

transform: translateX(-5rem) rotateY(-60deg);

}

20% {

-webkit-transform: translateX(-4rem) rotateY(-53deg);

transform: translateX(-4rem) rotateY(-53deg);

}

38% {

-webkit-transform: translateX(-3.1rem) rotateY(-46.2deg);

transform: translateX(-3.1rem) rotateY(-46.2deg);

}

50% {

-webkit-transform: translateX(-2.5rem) rotateY(-41.5deg);

transform: translateX(-2.5rem) rotateY(-41.5deg);

}

65% {

-webkit-transform: translateX(-1.75rem) rotateY(-34.5deg);

transform: translateX(-1.75rem) rotateY(-34.5deg);

}

75% {

-webkit-transform: translateX(-1.25rem) rotateY(-29deg);

transform: translateX(-1.25rem) rotateY(-29deg);

}

83% {

-webkit-transform: translateX(-0.85rem) rotateY(-23.8deg);

transform: translateX(-0.85rem) rotateY(-23.8deg);

}

90% {

-webkit-transform: translateX(-0.5rem) rotateY(-18.1deg);

transform: translateX(-0.5rem) rotateY(-18.1deg);

}

95% {

-webkit-transform: translateX(-0.25rem) rotateY(-12.8deg);

transform: translateX(-0.25rem) rotateY(-12.8deg);

}

98% {

-webkit-transform: translateX(-0.1rem) rotateY(-8deg);

transform: translateX(-0.1rem) rotateY(-8deg);

}

99% {

-webkit-transform: translateX(-0.05rem) rotateY(-5deg);

transform: translateX(-0.05rem) rotateY(-5deg);

}

100% {

-webkit-transform: translateX(0) rotateY(0);

transform: translateX(0) rotateY(0);

box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.1);

}

}

@keyframes openMapInnerRight {

0% {

-webkit-transform: translateX(-5rem) rotateY(-60deg);

transform: translateX(-5rem) rotateY(-60deg);

}

20% {

-webkit-transform: translateX(-4rem) rotateY(-53deg);

transform: translateX(-4rem) rotateY(-53deg);

}

38% {

-webkit-transform: translateX(-3.1rem) rotateY(-46.2deg);

transform: translateX(-3.1rem) rotateY(-46.2deg);

}

50% {

-webkit-transform: translateX(-2.5rem) rotateY(-41.5deg);

transform: translateX(-2.5rem) rotateY(-41.5deg);

}

65% {

-webkit-transform: translateX(-1.75rem) rotateY(-34.5deg);

transform: translateX(-1.75rem) rotateY(-34.5deg);

}

75% {

-webkit-transform: translateX(-1.25rem) rotateY(-29deg);

transform: translateX(-1.25rem) rotateY(-29deg);

}

83% {

-webkit-transform: translateX(-0.85rem) rotateY(-23.8deg);

transform: translateX(-0.85rem) rotateY(-23.8deg);

}

90% {

-webkit-transform: translateX(-0.5rem) rotateY(-18.1deg);

transform: translateX(-0.5rem) rotateY(-18.1deg);

}

95% {

-webkit-transform: translateX(-0.25rem) rotateY(-12.8deg);

transform: translateX(-0.25rem) rotateY(-12.8deg);

}

98% {

-webkit-transform: translateX(-0.1rem) rotateY(-8deg);

transform: translateX(-0.1rem) rotateY(-8deg);

}

99% {

-webkit-transform: translateX(-0.05rem) rotateY(-5deg);

transform: translateX(-0.05rem) rotateY(-5deg);

}

100% {

-webkit-transform: translateX(0) rotateY(0);

transform: translateX(0) rotateY(0);

box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.1);

}

}

@-webkit-keyframes fadeOut {

from {

opacity: 1;

}

to {

opacity: 0;

}

}

@keyframes fadeOut {

from {

opacity: 1;

}

to {

opacity: 0;

}

}

@-webkit-keyframes fadeIn {

to {

opacity: 1;

}

}

@keyframes fadeIn {

to {

opacity: 1;

}

}

@-webkit-keyframes paperMapFadeIn {

0% {

-webkit-transform: scale(0, 0.5);

transform: scale(0, 0.5);

opacity: 0;

}

100% {

-webkit-transform: scale(1);

transform: scale(1);

opacity: 1;

}

}

@keyframes paperMapFadeIn {

0% {

-webkit-transform: scale(0, 0.5);

transform: scale(0, 0.5);

opacity: 0;

}

100% {

-webkit-transform: scale(1);

transform: scale(1);

opacity: 1;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值