转动的魔方体

代码:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

*{

padding: 0;

margin: 0;

height: 100%;

}

body{

position: relative;

perspective: 1000px;

}
.wrap{

width: 240px;

height: 240px;

position: absolute;

top: 50%;

left: 50%;

margin-left: -120px;

margin-top: -120px;

transform-style: preserve-3d;

transform: rotateX(45deg) rotateY(45deg);

transition: all 100s linear;
}

.wrap:hover{

transform: rotateX(10000deg) rotateY(10000deg);

}

.wrap div{

width: 240px;

height: 240px;

position: absolute;

top: 0;

left: 0;
}

img{

width: 100%;

height: 100%;

border-radius: 40px;

opacity: 0.8;

}

.wrap div:nth-child(1){

transform: rotateY(90deg) translateZ(120px);
}

.wrap div:nth-child(2){

transform: rotateY(0deg) translateZ(120px);
}

.wrap div:nth-child(3){

transform: rotateY(0deg) translateZ(-120px);
}

.wrap div:nth-child(4){

transform: rotateY(90deg) translateZ(-120px);
}

.wrap div:nth-child(5){

transform: rotateX(90deg) translateZ(120px);
}

.wrap div:nth-child(6){

transform: rotateX(90deg) translateZ(-120px);
}

</style>

</head>

<body>

<div class="wrap">

<div><img src="2.jpg"/></div>

<div><img src="3.jpg"/></div>

<div><img src="4.jpg"/></div>

<div><img src="5.jpg"/></div>

<div><img src="6.jpg"/></div>

<div><img src="1.jpg"/></div>
</div>
</body>

</html>

效果截图:

时间: 2024-10-05 05:43:08

转动的魔方体的相关文章

sicily 1151 简单魔方B BFS和哈希判断重复解题

1151. 魔板 Constraints Time Limit: 1 secs, Memory Limit: 32 MB , Special Judge Description 题目和A题相同,在这里我们把数据范围扩大:N可能超过10. 请仔细考虑各种情况. Input 输入包括多个要求解的魔板,每个魔板用三行描述. 第一行步数N,表示最多容许的步数. 第二.第三行表示目标状态,按照魔板的形状,颜色用1到8的表示. 当N等于-1的时候,表示输入结束. Output 对于每一个要求解的魔板,输出一

sicily 1150 简单魔方 队列解题

1150. 简单魔板 Constraints Time Limit: 1 secs, Memory Limit: 32 MB , Special Judge Description 魔板由8个大小相同方块组成,分别用涂上不同颜色,用1到8的数字表示. 其初始状态是 1 2 3 4 8 7 6 5 对魔板可进行三种基本操作: A操作(上下行互换): 8 7 6 5 1 2 3 4 B操作(每次以行循环右移一个): 4 1 2 3 5 8 7 6 C操作(中间四小块顺时针转一格): 1 7 2 4

HDU 5983(模拟魔方 模拟)

题意是说给定一个 2*2 魔方的各个面的情况,问是否能转动不超过一次使得魔方复原. 思路是先在输入的时候统计一下已完成的面数,要想以最多一次的转动使得魔方复原,那么已完成的面数只能是 2 面或者 6 面,此处可剪枝. 若已完成 6 面,那么一定可以复原: 若已完成 2 面,则要用一次转动完成其他六面,开始这里打算用结构体去存,结果在判断的时候自己混乱了……最终直接定了 24 个变量,a,b,c……w,x, 手动做了个小正方体,太丢人……(但不得不说这种方法挺好的,易于理解,而且不会乱^_^) 代

关于结构体

1.结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构. typedef struct People { int a; char b; double c; }P: 其中:struct是关键词, People是标签, a b c是成员, P是此结构体声明的变量. 于是在声明变量的时候就可:P p1; 这里的P实际上就是struct People的别名.P==struct People 另外这里也可以不写People(于是也不能struct People p1;了,

Linux C中结构体初始化

    在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式.该方式是某些C教材(如谭二版.K&R二版)中没有介绍过的.这种方式称为指定初始化(designated initializer).下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目: static struct usb_driver usb_storage_driver = { .owner = THIS_MODULE, .name = "

在Swift结构体中如何实现写时复制?

结构体(Struct)在Swift语言中占有重要地位,在Swift标准库中,大约有90%的公开类型都是结构体,包括我们常用的Array.String.Dictionary.结构体相比类,一个最重要的特性就是它是值类型,而类似引用类型.值类型是通过复制值来赋值的,而不是引用同一个内存地址,这样就不存在数据共享的问题,能防止意外的数据改变,并且它是线程安全的. 举一个很简单的例子,在objc中,数组是类,是引用类型,在Swift中,数组是结构体,是值类型.因此下面的代码中: let array1 =

结构体的大小

系统在存储结构体变量时存在地址对齐问题,编译器在编译程序时会遵循两条原则: 一.结构体变量中成员的偏移量必须是成员大小的整数倍: 二.结构体大小必须是所有成员大小的整数倍. 1 #include<stdio.h> 2 3 struct a{ 4 int i; 5 float f; 6 char c; 7 double d; 8 long l; 9 }b; 10 11 int main(){ 12 printf("%d\n",sizeof(b.i));// 4 13 prin

关于OC中直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型

关于OC直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型,我们完全可以把其转换为OC对象来进项打印调试,而不必对结构体中的成员变量进行打印.就好比我们可以使用NSStringFromCGRect(CGRect rect)来直接打印一个结构体,其他打印可以参考以下内容 UIKIT_EXTERN NSString *NSStringFromCGPoint(CGPoint point); UIKIT_EXTERN NSString *NSStringFrom

38-oc常用结构体

常用结构体 在开发中苹果推荐我们使用CG开头的结构体, 也就是说NS开头的结构体一般不用 OC中定义一个点,用什么结构体 NSPoint; CGPoint point = NSMakePoint(10, 20); OC中保存物体尺寸的,用什么结构体 NSSize; CGSize size = NSMakeSize(100, 50); OC中保存某个物体的位置和尺寸,用什么结构体 NSRect; CGRect rect = NSMakeRect(10, 20, 100, 50); NSNumber