正反面图片翻转css3

 主要用到的知识点是css3中transform 3D转换的rotateY(angle)转换方法,transition控制转换过程的动画。具体知识点可在菜鸟上查看学习。

html: 

		<div class="flip">
			<div class="flip-box">
				<a href="###" class="flip-item flip-item-front ">
					<img src="img/memory/ks0.png" alt=" ">
				</a>
				<a href="### " class="flip-item flip-item-back ">
					<img src="img/game/pro5.png" alt=" ">
				</a>
			</div>
		</div>

 css:

              html,body{
				width: 100%;
				height: 100%;
				margin: 0;
			}
			.flip {
				width: 100%;
				height: 100%;
				display: flex;
				align-items: center;
				justify-content: center;
				transform: translate3d(0, 0, 0);/*重要:父级申明转换类型为3D,translate3d(x,y,z)*/
				overflow: hidden;
			}
			
			.flip-box {
				position: relative;
				width: 110px;
				height: 140px;
			}
			
			.flip-item {
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				transition: all .5s ease-in-out;/*动画*/
				transform-style: preserve-3d;
				backface-visibility: hidden;
				box-sizing: border-box;
			}
			
			.flip-item img {
				width: 70px;
				height: 70px;
				border-radius: 100%;
				margin: 32px auto;
				display: block;
			}
			
			.flip-item-text {
				width: 100%;
				text-align: center;
				color: #fff;
			}
			
			.flip-item-front {
				transform: rotateY(0deg);
				z-index: 2;
			}
			
			.flip-item-back {
				transform: rotateY(180deg);
				z-index: 1;
			}
			
			.flip-item-back .flip-item-text {
				color: #fff;
			}
			/*控制翻转*/
			.flip-box:hover .flip-item-front {
				z-index: 1;
				transform: rotateY(180deg);
			}
			
			.flip-box:hover .flip-item-back {
				z-index: 2;
				transform: rotateY(0deg);
			}

js:如果想用鼠标控制翻转的话,css部分去掉 /*控制翻转*/以下的代码

			var flag = 0;
			$(".flip-box").click(function() {
				if(flag == 0) {
					$(".flip-item-front").css({
						"z-index": 1,
						"transform": "rotateY(180deg)"
					});
					$(".flip-item-back").css({
						"z-index": 2,
						"transform": "rotateY(0deg)"
					});
					flag = 1;
				} else {
					$(".flip-item-front").css({
						"z-index": 2,
						"transform": "rotateY(0deg)"
					});
					$(".flip-item-back").css({
						"z-index": 1,
						"transform": "rotateY(180deg)"
					});
					flag = 0;
				}
			});

 

Android正反面翻转可以使用动画来实现。根据提供的引用内容,可以使用左入动画和右出动画来实现正反面翻转效果。 左入动画的实现代码如下: ``` <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!--消失--> <objectAnimator android:duration="0" android:propertyName="alpha" android:valueFrom="1.0" android:valueTo="0.0"/> <!--旋转--> <objectAnimator android:duration="@integer/anim_length" android:propertyName="rotationY" android:valueFrom="-180" android:valueTo="0"/> <!--出现--> <objectAnimator android:duration="0" android:propertyName="alpha" android:startOffset="@integer/anim_half_length" android:valueFrom="0.0" android:valueTo="1.0"/> </set> ``` 右出动画的实现代码如下: ``` <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!--旋转--> <objectAnimator android:duration="@integer/anim_length" android:propertyName="rotationY" android:valueFrom="0" android:valueTo="180"/> <!--消失--> <objectAnimator android:duration="0" android:propertyName="alpha" android:startOffset="@integer/anim_half_length" android:valueFrom="1.0" android:valueTo="0.0"/> </set> ``` 通过在视图上应用这些动画,可以实现Android正反面翻转效果。 #### 引用[.reference_title] - *1* *2* [Android实现翻转卡片的动画效果](https://blog.csdn.net/qq_39312146/article/details/129172843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Android实现卡片翻转的动画效果](https://blog.csdn.net/lishuai05251986/article/details/84802872)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值