美文网首页
CSS3 新特性

CSS3 新特性

作者: 欢欣的膜笛 | 来源:发表于2020-03-08 16:10 被阅读0次

background-origin 属性

  • 规定background-position属性相对于什么位置来定位,如果背景图像的 background-attachment属性为fixed,则该属性没有效果。
  • 语法:
    // 默认值,背景图像相对于内边距框来定位
    background-origin: padding-box;
    // 背景图像相对于边框盒来定位
    background-origin: border-box;
    // 背景图像相对于内容框来定位
    background-origin: content-box;
    

background-clip 属性

  • 规定背景的绘制区域
  • 语法:
    // 默认值,背景被裁剪到边框盒
    background-clip: border-box;  
    // 背景被裁剪到内边距框
    background-clip: padding-box;
    // 背景被裁剪到内容框
    background-clip: content-box;
    

border-image 属性

  • border-image属性是一个简写属性,用于设置以下属性:
    1. border-image-source:用在边框的图片的路径
    2. border-image-slice:图片边框向内偏移
    3. border-image-width:图片边框的宽度
    4. border-image-outset:边框图像区域超出边框的量
    5. border-image-repeat:图像边框是否应平铺repeated、铺满rounded或拉伸stretched

魔方效果

  • transform拉伸、旋转,实现正方体结构
  • 动画,实现整体旋转
  • transform-style: preserve-3d;
<style>
        ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .box {
            position: relative;
            margin: 100px auto;
            width: 300px;
            height: 300px;
            font-size: 50px;
            /* 设置 3D 效果 */
            transform-style: preserve-3d;
            animation: rotate 5s linear infinite;
        }
        .box > div {
            position: absolute;
            width: 300px;
            height: 300px;
            background-color: transparent;
        }
        li {
            float: left;
            margin: 5px;
            width: 90px;
            height: 90px;
            line-height: 90px;
            text-align: center;
            border-radius: 20px;
        }
        .before li {
            background-color: green;
        }
        .back li {
            background-color: purple;
        }
        .top li {
            background-color: chartreuse;
        }
        .bottom li {
            background-color: pink;
        }
        .left li {
            background-color: darkorange;
        }
        .right li {
            background-color: yellow;
        }
        /* 设置每个面的旋转后的效果 */
        .left {
            transform: rotateY(-90deg) translateZ(150px);
        }
        .right {
            transform: rotateY(90deg) translateZ(150px);
        }
        .top {
            transform: rotateX(90deg) translateZ(150px);
        }
        .bottom {
            transform: rotateX(-90deg) translateZ(150px);
        }
        .before {
            transform: translateZ(150px);
        }
        .back {
            transform: translateZ(-150px);
        }
        @keyframes rotate {
            0% {
                transform: rotateY(0deg) rotateX(0deg);
            }
            100% {
                transform: rotateY(135deg) rotateX(45deg);
            }
        }
 </style>

 <div class="box">
        <div class="before">
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
                <li>6</li>
                <li>7</li>
                <li>8</li>
                <li>9</li>
            </ul>
        </div>
        <div class="back">
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
                <li>6</li>
                <li>7</li>
                <li>8</li>
                <li>9</li>
            </ul>
        </div>
        <div class="top">
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
                <li>6</li>
                <li>7</li>
                <li>8</li>
                <li>9</li>
            </ul>
        </div>
        <div class="bottom">
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
                <li>6</li>
                <li>7</li>
                <li>8</li>
                <li>9</li>
            </ul>
        </div>
        <div class="left">
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
                <li>6</li>
                <li>7</li>
                <li>8</li>
                <li>9</li>
            </ul>
        </div>
        <div class="right">
            <ul>
                <li>1</li>
                <li>2</li>
                <li>3</li>
                <li>4</li>
                <li>5</li>
                <li>6</li>
                <li>7</li>
                <li>8</li>
                <li>9</li>
            </ul>
        </div>
</div>

相关文章

网友评论

      本文标题:CSS3 新特性

      本文链接:https://www.haomeiwen.com/subject/fojddhtx.html