HTML5.&CSS3目前在前端社区中是一个大糖匆忙,您可以看到那些漂亮的CSS3按钮在Web周围突出。对于一个项目,我正在研究我想使用一个漂亮的3D翻转效果 这个 .

不幸的是,目前只能通过Safari和Chrome实现的效果,所以要使这件事工作,我需要对其他浏览器的正常悬停行为,这就是我想告诉你的方式。

 后退
 后退

设置

I’不谈论如何进行翻转效果,已经存在 一些 帖子 关于 。我将展示你是如何智能地使用它并使它的回归。

那么,为什么这种效果不适用于Firefox,你可能会问? Firefox毕竟版本3.5自版本为3.5,WebKit实现了一个新的属性,*目前为W3C草案*调用 背面可见性。此漂亮属性允许您隐藏元素的背面。我猜你可以想象,这可以在翻转效果方面派手。这是IE9和Firefox目前的支持。

创建与其他浏览器兼容的版本

为了实现这一目标,我们需要使用2个绝对的位于元素,并使用显示屏显示并隐藏它们:无在悬停状态上,非常简单。棘手的部分是,我们还需要在WebKit基于WebKit的浏览器上覆盖此行为(以及一天也可能是其他浏览器)。为此,我们需要使用名为MEACAM查询的漂亮CSS功能。

媒体查询

YUP,您可以在CSS中进行条件声明。如果您想在支持它的浏览器上实现redgy的东西,这真的很方便,并且仍然为旧浏览器提供了很好的支持级别(它’当然,是有用的 其他非常重要的事情)。对于我们的小项目,我们将使用此媒体查询。

@media screen and (-webkit-min-device-pirem-prouper:0) { }

所以为什么要使用 -webkit-min-device-pirem-prouper?好吧,因为此属性同时添加了反面可见性。所以是的,这是一个 h !!但它有效,我想拥有一些清洁的东西,但这将是现在,我们还需要使用类似类似的东西当Firefox实现背面可见性时。

那么我们的CSS代码看起来像什么?

.containerCard {
	height:194px;
	position:relative;
	background:#fff;
	width:144px;
}
	.containerCard .element{
		height:194px;
		position:absolute;
		top:0; left:0;
		background:#fff;
		width:144px;
	}
	.containerCard .elementB{
		display:none;
	}	
 
		.containerCard:hover .elementA {
			display:none;
		}
		.containerCard:hover .elementB{
			display:block;
		}
 
 
		@media screen and (-webkit-min-device-pirem-prouper:0) {
 
			.containerCard .elementB{
				-webkit-transform: rotateY(-180deg);
				-webkit-transform-style: preserve-3d;
				-webkit-backface-visibility: hidden;
 
				/* -- transition is the magic sauce for animation -- */
				transition: all .4s ease-in-out;
				-moz-transition: all .4s ease-in-out;
				-webkit-transition: all .4s ease-in-out;
			}	
			.containerCard .elementA{
				-webkit-transform: rotateY(0deg);
				-webkit-transform-style: preserve-3d;
				-webkit-backface-visibility: hidden;
 
				/* -- transition is the magic sauce for animation -- */
				transition: all .4s ease-in-out;
				-moz-transition: all .4s ease-in-out;
				-webkit-transition: all .4s ease-in-out;
			}
 
				.containerCard:hover .elementA{
					-webkit-transform: rotateY(180deg);
				}
				.containerCard:hover .elementB{
					-webkit-transform: rotateY(0deg);
				}
				.containerCard{
					-webkit-perspective: 600;
				}
		     	.containerCard:hover .elementA{
					display:block;
				}
				.containerCard .elementB{display:block;}		
		}

下载

我们有它!像往常一样,可以在GitHub上找到代码。

下载源代码

6 thoughts on “使用旧浏览器的回退创建CSS3D悬停状态

  1. 那可以工作,

    但是,在漂亮的事情上,这种技术允许您在背面添加文本(我的生产用例)。

    真的依赖你的目标

  2. 谢谢你写这个伟大的阅读。真的学到了很多东西。我很欣赏到这个网站的努力,并更频繁地访问这里。

评论被关闭。