CSS 3D旋转 hover 后设置transform 是相对于正常位置

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<style type="text/css">
	.nav{
		width: 980px;
		margin: 50px auto;
		background-color: #fdfdfd;
		border: 1px #ccc solid;
	}
	.nav:after{
		clear: both;
		display: block;
		overflow: hidden;
		content: "";
	}
	.nav .item{
		width:200px;
		height: 100px;
		margin-right: 5px;
		float: left;
		perspective:400px;
	}
	.nav .item a{
		display: block;
		height: 100px;
		text-decoration: none;
		transition:all .5s;
		transform-style:preserve-3d;
	}
	.nav .item a p{
		height: 100px;
		margin:0;
		line-height: 100px;
		color: #fff;
		text-align:center;
		font-size: 20px;
		font-family: "Microsoft Yahei";
		border-radius: 2px;
		transition:all .5s;
	}

	.nav .item a p:first-child{
		background-color: #090;
		transform:translateZ(50px);

	}
	.nav .item a p:last-child{
		background-color: #009;
		/*这样会向结果方向走50px像素*/
		transform:translateZ(50px) rotateX(-90deg) ;
		/*margin-top: -50px;*/
	}
	/*立体旋转是按面在转*/
	.nav .item a:hover{
		transform:rotateX(90deg);
	}
	/*这东西是基于正常位置,而不是动画的位置如(transform:translateZ(50px) rotateX(-90deg) ;)*/
	.nav .item a:hover p:last-child{
		margin-top: 0;
		transform: translateZ(0) rotateX(-90deg);
	}
</style>
<body>
	<header class="nav">
		<div class="item">
			<a href="#">
				<p>首页</p>
				<p>Home</p>
			</a>
		</div>

		<div class="item">
			<a href="#">
				<p>问答</p>
				<p>Q & A</p>
			</a>
		</div>

		<div class="item">
			<a href="#">
				<p>关于我们</p>
				<p>About us</p>
			</a>
		</div>
	</header>
</body>
</html>

  之前一直想不通,如下为什么旋转到上面后要再旋转-90deg。

	/*这东西是基于正常位置,而不是动画的位置如(transform:translateZ(50px) rotateX(-90deg) ;)*/
	.nav .item a:hover p:last-child{
		margin-top: 0;
		transform: translateZ(0) rotateX(-90deg);
	}

 另外rotateX(-90deg)是上边缘向屏幕外旋转,也就是顺时针。反之。
时间: 2024-08-13 16:46:43

CSS 3D旋转 hover 后设置transform 是相对于正常位置的相关文章

CSS:列表样式(设置列表项的标志图案/位置)

通过CSS 列表属性可以放置.改变列表项标志,或者将图像作为列表项标志. 代码整理自w3school:http://www.w3school.com.cn 效果图: 示例代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <m

css3 3d旋转图片立方体特效代码

一.什么是css3 3d旋转 ? 形成一个3D空间: transform-style:preserve-3d    ( 让父元素形成3D,让其子元素在3D空间进行变化 ). 3d场景,在垂直于屏幕的方法,相对于3d多出个z轴,Z轴:靠近屏幕的方向是正向,远离屏幕的方向是反向,2d场景,在屏幕上水平和垂直的交叉线x轴和y轴. 二.关于css 3d旋转的相关属性及使用方法 变形属性:transform 3D功能函数 ----3D的位移:transform:translate3d(x,y,z);   

css基础练习二(采用3D旋转,隐藏占用位置的方式)

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style> .d1{ width: 100px; height: 30px; border: 1px solid black; text-align: center; line-height: 30px; /*圆角*/ border-radius: 10px; }

CSS 3D transform(CSS的3D变换)

src1:好吧,CSS3 3D transform变换,不过如此! 评价:图文并茂地解释 CSS 3D transform 的基本概念及原理,超级通俗易懂,读后简直醍醐灌顶啊!!!幽默的程序员 笔记: 一.4个概念 1.突破口:三个方法  3D transform 中的三个方法: (1)rotateX(angle):正面推倒 (2)rotateY(angle):左右转 (3)rotateZ(angle):横抱躺着 2.必不可少的perspective(透视.视角) 没透视,不3D CSS 3D

CSS3——3D旋转图(跑马灯效果图)

CSS3新增了很多新的属性,可以用很少的代码实现炫酷的动画效果,但由于兼容性各浏览器的能力存在不足,有特别需求的网站就呵呵啦.H5C3已是大势所趋了,之前看过一个新闻,Chrome将在年底全面转向H5,抛弃了Flash.. 本案例主要使用了CSS3中的变换transform和动画animation属性,实现了跑马灯效果,详细的解释在代码中的注释中. 做好布局之后的效果图 添加了animation样式,实现自动旋转,并且鼠标移入,停止动画.(鼠标移入,绕Z轴旋转90度) 代码: 1 <!DOCTY

【CSS3进阶】酷炫的3D旋转透视

之前学习 react+webpack ,偶然路过 webpack 官网 ,看到顶部的 LOGO ,就很感兴趣. 最近觉得自己 CSS3 过于薄弱,想着深入学习一番,遂以这个 LOGO 为切入口,好好研究学习了一下相关的 CSS3 属性.webpack 的 LOGO 动画效果乍看不是很难,深入了解之后,觉得内部其实大有学问,自己折腾了一番,做了一系列相关的 CSS3 动画效果. 先上 demo ,没有将精力放在兼容上,请用 chrome 打开. 本文完整的代码,以及更多的 CSS3 效果,在我 g

css3+jquery制作3d旋转相册&lt;转&gt;

css3+jquery制作3d旋转相册 首先来看一下今天的炫酷效果: 首先分析一下这张图片: 1.每张图片都有倒影 2.这11张图片呈圆形均匀排列 3.可旋转,上下移动(当然这是效果做出来以后,图片是分析不出来的) 那下面就开始吧. 一.准备 新建三个文件夹分别命名为css,js,img分别存放demo.css,jquery.js.demo.js,11张示例图片.新建demo.html将demo.css,jquery.js,demo.js引入. 二.图片倒影制作 1 <div id="wr

CSS 3D 的魅力

作者 | 子慕大诗人 来源 | www.cnblogs.com/1wen/p/9064011.html   前言:   最近玩了玩用css来构建3D效果,写了几个demo,所以博客总结一下.  在阅读这篇博客之前,请先自行了解一下css 3D的属性,例如:transform-style,transform-origin,transform, perspective.   demo1   高度可变的立方体,先来看看最终效果,自己弄得有点丑,如果设计师调下色,添加点元素应该会好看的多       1

CSS 3D的魅力

用户1093975发表于Web项目聚集地订阅 151 在这篇文章中: 前言: demo1 demo2 结语: 本文介绍了CSS来实现3D效果,并且有详细代码和解释.建议大家只字不差的阅读.本文的作者是「子慕大诗人」 前言: 最近玩了玩用css来构建3D效果,写了几个demo,所以博客总结一下. 在阅读这篇博客之前,请先自行了解一下css 3D的属性,例如:transform-style,transform-origin,transform, perspective. demo1 高度可变的立方体