CSS翻转链接无法正常工作

时间:2013-04-04 05:01:21

标签: css css3

我在此页面上看到了一个翻转链接:http://www.webdesignerdepot.com/2012/11/40-essential-wordpress-plugins/(请参阅翻转链接:Jetpack,Jetpack lite,sociable等) 但我无法让它发挥作用:

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;
}

查看我的FIDDLE

.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 );
}

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分: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/