css3垂直翻转-CSS翻转动画_创建CSS翻转动画

2023-08-29 0 6,174 百度已收录

CSS翻转动画

你们都要求它,现在我添加了它:Internet Explorer 支持! 令人烦恼的是,这种变化涉及旋转前面和后面的元素,而不仅仅是容器。 如果您想要 Internet Explorer 代码。 支持IE10+; IE9不支持CSS动画

你们都要求它,现在我添加了它:Internet Explorer 支持! 令人烦恼的是,更改涉及旋转元素的正面和背面,而不仅仅是容器。 如果您需要 Internet Explorer 代码,请。 支持IE10+; IE9不支持CSS动画。

CSS 动画很有趣; 它们的美妙之处在于,通过许多简单的属性,您可以创建任何东西,从优雅的淡入到 WTF-Pixar 会感到自豪的效果。 介于两者之间的一种 CSS 效果是 CSS 翻转效果,即给定容器的正面和背面都有内容。 本教程将向您展示如何以尽可能简单的方式创建该效果。

CSS 动画很有趣。 它们的美妙之处在于,通过许多简单的属性,您可以创建任何东西,从高贵的淡入淡出效果到 WTF-Pixar 引以为豪的效果。 CSS 翻转效果是一种中间 CSS 效果,它在给定容器的正面和背面都有内容。 本教程将向您展示如何以最简单的方式创建这种效果。

快速说明:这不是关于此效果的第一个教程,但我发现其他教程过于复杂。 许多其他教程向代码示例添加了额外的样式,然后要求读者辨别哪些是需要的,哪些是不需要的。 本教程避免了这个问题,只为您提供必要的样式; 您可以按照自己喜欢的方式美化翻盖的每一面。

小提示:这不是第一个关于此效果的教程,但我发现其他教程过于复杂。 许多其他教程为代码示例添加了额外的风格,然后要求读者了解需要什么和不需要什么。 本教程回避了这个问题,只为您提供必要的样式。 您可以调整幻灯片的每一侧以满足您的需要。

查看演示 查看演示

HTML(HTML)

实现双面效果的 HTML 结构正如您所期望的那样:

如你所愿,实现双面功效的HTML结构是:


正如您所期望的,有两个内容窗格,“前”和“后”,而且还有两个包含元素,它们具有由 CSS 解释的非常特定的角色。 另请注意 ontouchstart 部分,它允许窗格在触摸屏上交换。 显然,如果您愿意,您应该将该代码分解为一个单独的、不显眼的 JavaScript 块。

正如您所期望的,有两个内容窗格,“前”和“后”,以及两个包含其 CSS 解释特定角色的元素。 另请注意 ontouchstart 片段,它允许在触摸屏上交换竖框。 显然,如果您愿意,您应该将该代码分离到一个独立的、不间断的 JavaScript 块中。

CSS(CSS)

我敢打赌,除了常见的供应商前缀膨胀之外,您会对涉及的 CSS 之少感到惊讶:

我敢打赌,除了常见的供应商前缀膨胀之外,您会惊讶于所涉及的 CSS 如此之少:


/* entire container, keeps perspective */
.flip-container {
	perspective: 1000px;
}
	/* flip the pane when hovered */
	.flip-container:hover .flipper, .flip-container.hover .flipper {
		transform: rotateY(180deg);
	}
.flip-container, .front, .back {
	width: 320px;
	height: 480px;
}
/* flip speed goes here */
.flipper {
	transition: 0.6s;
	transform-style: preserve-3d;
	position: relative;
}
/* hide back of pane during swap */
.front, .back {
	backface-visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
/* front pane, placed above back */
.front {
	z-index: 2;
	/* for firefox 31 */
	transform: rotateY(0deg);
}
/* back, initially hidden pane */
.back {
	transform: rotateY(180deg);
}

以下是该过程的粗略概述:

以下是该过程的快速概述:

这真的就是全部了! 将这个简单的结构放置到位,然后根据您的喜好设计每一面的样式!

真的就这样了! 将这些简单的结构放置到位,然后根据需要设计每一侧的样式!

CSS 动画专家 Ana Tudor 的注释(CSS 动画专家 Ana Tudor 的注释)

卡元素上的(如溢出:隐藏)将不允许其具有 3D 变换的子元素。 我相信这是相关的,因为我遇到了溢出问题:在这种情况下精确隐藏,其中 3D 转换元素的所有子元素都在同一平面上,但一个或多个已旋转 180 度。

在卡片元素上(例如overflow:hidden)将不允许它有3D变换的子元素。 我认为这很重要,因为我遇到过溢出:隐藏在这些情况下,它是 3D 转换元素,其子元素都在同一平面上,但一个或多个旋转了 180 度,并且此溢出:隐藏 180 度。

CSS 翻转切换

如果您希望元素仅通过 JavaScript 命令翻转,一个简单的 CSS 类切换就可以解决问题:

如果您希望仅通过 JavaScript 启用元素翻转命令,则可以使用简单的 CSS 类切换来实现:


.flip-container:hover .flipper, .flip-container.hover .flipper, .flip-container.flip .flipper {
	transform: rotateY(180deg);
}

将翻转类添加到容器元素将使用 JavaScript 翻转卡片——无需用户悬停。 像 document.querySelector("#myCard").classList.toggle("flip") 这样的 JavaScript 注释将完成翻转!

将翻转类添加到容器元素将使用 JavaScript 翻转卡片 - 无需用户悬停。 像 document.querySelector("#myCard").classList.toggle("flip") 这样的 JavaScript 注释将会翻转!

CSS 垂直翻转

执行垂直翻转就像翻转轴并添加变换原点轴值一样简单。 必须更新翻转的原点并且卡片以相反的方式旋转:

进行垂直翻转就像翻转轴并添加变换原点轴值一样简单。 翻转的原点必须更新,并且卡片必须以其他方式旋转:


.vertical.flip-container {
	position: relative;
}
	.vertical .back {
		transform: rotateX(180deg);
	}
	.vertical.flip-container .flipper {
		transform-origin: 100% 213.5px; /* half of height */
	}
	.vertical.flip-container:hover .flipper {
		transform: rotateX(-180deg);
	}

您可以看到使用的是 X 访问权限,而不是 Y 访问权限。

您将看到使用 X 访问而不是 Y 访问。

Internet Explorer 支持(Internet Explorer 支持)

Internet Explorer 需要对标准翻转代码进行重大修改,因为它尚未实现所有现代转换属性。 本质上,前面和后面的元素都需要同时翻转:

Internet Explorer 需要对标准翻转代码进行重大更改css3垂直翻转,因为它仍然没有实现所有现代转换属性。 本质上,前面和后面的元素都需要同时翻转:


/* entire container, keeps perspective */
.flip-container {
	perspective: 1000px;
	transform-style: preserve-3d;
}
	/*  UPDATED! flip the pane when hovered */
	.flip-container:hover .back {
		transform: rotateY(0deg);
	}
	.flip-container:hover .front {
	    transform: rotateY(180deg);
	}
.flip-container, .front, .back {
	width: 320px;
	height: 480px;
}
/* flip speed goes here */
.flipper {
	transition: 0.6s;
	transform-style: preserve-3d;
	position: relative;
}
/* hide back of pane during swap */
.front, .back {
	backface-visibility: hidden;
	transition: 0.6s;
	transform-style: preserve-3d;
	position: absolute;
	top: 0;
	left: 0;
}
/*  UPDATED! front pane, placed above back */
.front {
	z-index: 2;
	transform: rotateY(0deg);
}
/* back, initially hidden pane */
.back {
	transform: rotateY(-180deg);
}
/* 
	Some vertical flip updates 
*/
.vertical.flip-container {
	position: relative;
}
	.vertical .back {
		transform: rotateX(180deg);
	}
	.vertical.flip-container:hover .back {
	    transform: rotateX(0deg);
	}
	.vertical.flip-container:hover .front {
	    transform: rotateX(180deg);
	}

通过上面的代码,IE10将按预期旋转翻转元素!

使用前面的代码,IE10将按预期旋转和翻转元素!

查看演示 查看演示

CSS 翻转动画一直是 CSS 动画(以及较小程度上的 3D CSS 动画)可能性的经典、代表性示例。 更好的是实际上只涉及很少的 CSS。 这种效果对于 HTML5 游戏来说确实很简洁,而且作为独立的“卡片”效果css3垂直翻转,它是完美的。 你能想到这个还能用来做什么吗?

CSS 翻转动画仍然是 CSS 动画(以及较小程度上的 3D CSS 动画)可能性的经典、代表性示例。 更好的是,实际上只涉及很少的 CSS。 这种效果对于 HTML5 游戏来说确实很巧妙,作为独立的“卡片”效果它是完美的。 你还能想到其他用途吗?

译自:

CSS翻转动画

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 css3 css3垂直翻转-CSS翻转动画_创建CSS翻转动画 https://www.wkzy.net/game/171612.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务