css3立方体盒子

1

2

3

4

5

6

1.设置基准点,景深。

-webkit-perspective-origin:center -150px;
-webkit-perspective:300px; 

2.建立3D空间。

-webkit-transform-style:preserve-3d;

3.布局。

<div id="wrap">
    <div class="main">
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
        <div>6</div>
    </div>
</div>
#wrap .main div{
        width:100px;
        height:100px;
        text-align: center;
        line-height: 100px;
        position:absolute;
        font-size: 50px;
        color:white;
        opacity:.8;
        -webkit-transition:2s;
    }
    #wrap .main div:nth-of-type(1){
        top:0;
        left:0;
        background:red;
    }
    #wrap .main div:nth-of-type(2){
        top:-100px;
        left:0;
        background:orange;
        -webkit-transform-origin:bottom;
        -webkit-transform:rotateX(-90deg);
    }
    #wrap .bd div:nth-of-type(3){
        top:0px;
        left:-100px;
        background:yellow;
        -webkit-transform-origin:right;
        -webkit-transform:rotateY(90deg);
    }
    #wrap .main div:nth-of-type(4){
        top:0px;
        left:100px;
        background:green;
        -webkit-transform-origin:left;
        -webkit-transform:rotateY(-90deg);
    }
    #wrap .main div:nth-of-type(5){
        top:100px;
        left:0px;
        background:blue;
        -webkit-transform-origin:top;
        -webkit-transform:rotateX(90deg);
    }
    #wrap .main div:nth-of-type(6){
        top:0;
        left:0;
        background:purple;
        -webkit-transform:translateZ(100px);
    }

4.完整代码

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>立方体</title>
        <meta name="description" content="">
        <meta name="keywords" content="">
        <link href="" rel="stylesheet">

    </head>

    <body>
        <style>
            @-webkit-keyframes move { //关键帧

                0% {
                    -webkit-transform:rotateY(0deg);
                }
                25% {
                    -webkit-transform:rotateY(90deg);
                }
                50% {
                    -webkit-transform:rotateY(180deg);
                }
                75% {
                    -webkit-transform:rotateY(270deg);
                }
                100% {
                    -webkit-transform:rotateY(360deg);
                }
            }
            body{
                -webkit-transform-style:preserve-3d;
            }
            #wrap{
                width:100px;
                height:100px;
                margin:10px auto;
                padding:50px;
                border:1px solid red;
                -webkit-perspective:300px;                 //景深
                -webkit-perspective-origin:center -150px;  //基准点
            }
            #wrap .main{
                position:relative;
                transition:2s;
                -webkit-transform-style:preserve-3d;
                -webkit-animation: move 5s infinite linear; //动画
            }

            #wrap .main div{
                width:100px;
                height:100px;
                text-align: center;
                line-height: 100px;
                position:absolute;
                font-size: 50px;
                color:white;
                opacity:.8;
                -webkit-transition:2s;
            }
            #wrap .main div:nth-of-type(1){
                top:0;
                left:0;
                background:red;
            }
            #wrap .main div:nth-of-type(2){
                top:-100px;
                left:0;
                background:orange;
                -webkit-transform-origin:bottom;
                -webkit-transform:rotateX(-90deg);
            }
            #wrap .main div:nth-of-type(3){
                top:0px;
                left:-100px;
                background:yellow;
                -webkit-transform-origin:right;
                -webkit-transform:rotateY(90deg);
            }
            #wrap .main div:nth-of-type(4){
                top:0px;
                left:100px;
                background:green;
                -webkit-transform-origin:left;
                -webkit-transform:rotateY(-90deg);
            }
            #wrap .main div:nth-of-type(5){
                top:100px;
                left:0px;
                background:blue;
                -webkit-transform-origin:top;
                -webkit-transform:rotateX(90deg);
            }
            #wrap .main div:nth-of-type(6){
                top:0;
                left:0;
                background:purple;
                -webkit-transform:translateZ(100px);
            }
        </style>
        <div id="wrap">
            <div class="main">
                <div>1</div>
                <div>2</div>
                <div>3</div>
                <div>4</div>
                <div>5</div>
                <div>6</div>
            </div>
        </div>

    </body>

</html>
时间: 2024-12-25 05:57:48

css3立方体盒子的相关文章

css3弹性盒子模型之box-flex

css3弹性盒子模型之box-flex 浏览器支持 目前没有浏览器支持 box-flex 属性. Firefox 支持替代的 -moz-box-flex 属性. Safari.Opera 以及 Chrome 支持替代的 -webkit-box-flex 属 box-flex是css3新添加的盒子模型属性),它的出现打破了我们经常使用的浮动布局,实现垂直等高.水平均分.按比例划分.但是它有一定的局限性,在firefox.chrome这浏览器下需要使用它们的私有属性来定义:firefox(-moz)

[应用][js+css3]3D盒子导航[PC端]

CSS3构建的3D盒子之导航应用 1.在用css3构建的盒子表面,放上iframe,来加载导航页面. 2.鼠标左键按下移动可旋转盒子,寻找想要的网址. 3.左键单机盒子表面,将全屏现实所点盒子表面的网站[iframe中],并可浏览,关闭后返回原来状态. 4.PC端,将额外显示2个css3做的旋转盒子[没什么意义] 5.移动端只显示一个导航盒子[模拟器正常,真机无效,留待以后查看,兼容开发有待提高...] 注:原本打算排列导航盒子,这样的话导航也变得比较好玩 但是,如果使用iframe来显示网站预

CSS3 利用盒子模型进行横排

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> body{display:-webkit-box; -webkit-box-orient:horizontal;} div{height:100px;} .div1{b

css3弹性盒子模型之box-flex(修正版一)

http://www.rainleaves.com/html/1095.html css3弹性盒子模型之box-flex(修正版一) 发表于 2011/12/06 9 条回复 18,699 views 今天看到蓝色理想上面有一篇文章讲<css3弹性盒模型布局模块介绍>里面讲到用box-flex,突然觉得有点心慌,上次看到响应式网页设计里面也同样讲到flex box自适应布局,而上次竟然没有引起自己的注意,想深入研究一下,竟然给忘记了,于是就在这种不断的忘记中彻底变成outer.今天借此机会,好

盒子模型以及css3指定盒子模型种类的box-sizing

1.CSS 盒子模型(Box Model) 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用. CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:外边距(margin).边框(border).内边距(padding).实际内容(content)四个属性. 盒模型允许我们在其它元素和周围元素边框之间的空间放置元素. 一个栗子: <button style="margin: 10px;padding: 10px;bo

css3立方体实现

使用css3实现一个立方体 <div class="box"> <div class="boxCorner1"></div> <div class="boxCorner2"></div> </div> .box { margin:4em auto; width:10em; height:10em; transform-style:preserve-3d; transform-

CSS3 弹性盒子(Flex Box)

弹性盒子是 CSS3 的一种新的布局模式.CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式.引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列.对齐和分配空白空间. 采用Flex布局的元素,称为Flex容器(flex container),简称"容器".它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目".

浅谈css3弹性盒子模型

昨晚听了一个微信小程序的公开课,在布局时,无意间看到了弹性盒子的身影,之前只知道box-flex,但是由于兼容性问题,使用者很少,毕竟市面上的大多浏览器都必须加前缀才能实现,也就意味着多写几行代码,其实这都不是事,可是大部分CXY都比较懒,能一行代码搞定的事绝不写两行.废话有点多了.转回正题. 我学东西遵循着,是什么?为什么?怎么用?有什么问题?下面我就按这四个方向深入聊聊,水平有限,有问题的地方请多多指教.. 一.是什么? 相信大多数CXY遇到问题,不知是骡子还是马,都会习惯性谷歌之,我也不例

css3弹性盒子模型

当下各种手机,平板尺寸不一,如果盒模型只能固定尺寸,不能随意压缩,将不能很好的迎合这个时代.所以css3推出了新的盒模型——弹性盒子模型(Flexible Box Model). 弹性盒模型可以水平布局,可以垂直布局,还可以调换顺序,可以设置不等的百分比等. 1.弹性盒子column分栏 1 <h2>1.弹性盒子column分栏</h2> 2 <div class="freebox"> 3 <img src="image/moon.j