0

我在此页面上看到了一个翻转链接:http ://www.webdesignerdepot.com/2012/11/40-essential-wordpress-plugins/ (参见翻转链接:Jetpack、Jetpack lite、socialable 等)但我无法让它工作:

HTML:

<a class="roll-link"><span>This is a link</span></a>

.roll-link span {
   display: block;
   color: #DD4D42;
   position: relative;
   padding: 0 2px;
   -webkit-transition: all 400ms ease;
   -moz-transition: all 400ms ease;
   -ms-transition: all 400ms ease;
   transition: all 400ms ease;
   -webkit-transform-origin: 50% 0%;
   -moz-transform-origin: 50% 0%;
   -ms-transform-origin: 50% 0%;
   transform-origin: 50% 0%;
   -webkit-transform-style: preserve-3d;
   -moz-transform-style: preserve-3d;
   -ms-transform-style: preserve-3d;
   transform-style: preserve-3d;
}

看我的小提琴

.roll-link:hover span {
   background: #DD4D42;
   -webkit-transform: translate3d( 0px, 0px, -30px ) rotateX( 90deg );
   -moz-transform: translate3d( 0px, 0px, -30px ) rotateX( 90deg );
   -ms-transform: translate3d( 0px, 0px, -30px ) rotateX( 90deg );
   transform: translate3d( 0px, 0px, -30px ) rotateX( 90deg );
}
4

2 回答 2

2

您缺少一些样式,包括那些用于基本.roll-link元素和用于.roll-link:after显示链接内容的样式。这是一个具有工作效果的jsFiddle:http: //jsfiddle.net/CNSWn/7/

这是一个非常聪明的效果,值得花一些时间研究他们使用该data-title属性在悬停时显示链接的第二个“侧面”的方式。

于 2013-04-04T05:25:25.567 回答
1

干得好:

HTML:

<a class="roll-link external"><span data-title="Jetpack">Jetpack</span></a>

CSS:

a {
    cursor: pointer;
    color: #dd4d42;
    font-weight: bold;
    text-decoration:none;
}

.roll-link {
    display: inline-block;
    overflow: hidden;
    vertical-align: top;
    -webkit-perspective: 600px;
    -moz-perspective: 600px;
    -ms-perspective: 600px;
    perspective: 600px;
    -webkit-perspective-origin: 50% 50%;
    -moz-perspective-origin: 50% 50%;
    -ms-perspective-origin: 50% 50%;
    perspective-origin: 50% 50%;     
}

.roll-link span {
    display: block;
    position: relative;
    padding: 0 2px;
    -webkit-transition: all 400ms ease;
    -moz-transition: all 400ms ease;
    -ms-transition: all 400ms ease;
    transition: all 400ms ease;
    -webkit-transform-origin: 50% 0%;
    -moz-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.roll-link:hover span {
    background: #DD4D42;    
    -webkit-transform: translate3d( 0px, 0px, -30px ) rotateX( 90deg );
    -moz-transform: translate3d( 0px, 0px, -30px ) rotateX( 90deg );
    -ms-transform: translate3d( 0px, 0px, -30px ) rotateX( 90deg );
    transform: translate3d( 0px, 0px, -30px ) rotateX( 90deg );
}

.roll-link span:after {
    content: attr(data-title);
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    padding: 0 2px;
    color: #fff;
    background: #DD4D42;
    -webkit-transform-origin: 50% 0%;
    -moz-transform-origin: 50% 0%;
    -ms-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
    -webkit-transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg );
    -moz-transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg );
    -ms-transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg );
    transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg );
}

演示:http: //jsfiddle.net/pR4sg/

于 2013-04-04T05:37:17.477 回答