zoukankan      html  css  js  c++  java
  • 58.纯 CSS 创作一只卡通鹦鹉

    原文地址:https://segmentfault.com/a/1190000015339977

    优化后效果地址:https://scrimba.com/c/c97Z2vuD

    感想:消除了图片外的:hover触发过渡效果

    HTML code:

    <div class="parrot">
        <div class="outer"></div>
        <div class="middle"></div>
        <div class="inner"></div>
    </div>

    CSS code:

    html, body {
        margin: 0;
        padding: 0;
    }
    *{
        /* 所有元素设置的宽高包含内边距、边框和内容区 */
        box-sizing: border-box;
    }
    /* 设置body的子元素水平垂直居中 */
    body {
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: darkslategray;
    }
    /* 设置.parrot容器尺寸 */
    .parrot{
        /* 修改font-size的值直接改变鹦鹉的大小 */
        font-size: 25px;
        position: relative;
        width: 10em;
        height: 10em;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        /* 旋转45度 */
        transform:  rotate(45deg);
        overflow: hidden;
    }
    .parrot > *{
        /* 过渡时间 */
        transition: 0.5s;
    }
    /* 画出鹦鹉头部的羽毛 */
    .parrot .outer {
        position: absolute;
        width: 100%;
        height: 100%;
        border-radius: 50%; 
        border: 1em solid;
        border-color: transparent transparent orangered tomato;   
    }
    /* 画出鹦鹉头部的羽毛 */
    .parrot .middle {
        position: absolute;
        width: 80%;
        height: 80%;
        border: 4em solid;
        border-color: gold transparent gainsboro white;
        border-radius: 50%;
    }
    /* 画出鹦鹉的喙的下半部分 */
    .parrot .inner {
        position: absolute;
        width: 40%;
        height: 40%;
        border: 2em solid;
        border-color: transparent orange transparent transparent;
        border-radius: 50%; 
    }
    /* 用.inner的伪元素画出鹦鹉的眼睛 */
    .parrot .inner::before {
        position: absolute;
        left: -2em;
        top: -0.5em;
        content: '';
        width: 1em;
        height: 1em;
        border-radius: 50%;
        background-color: black;
    }
    /* 设置鼠标悬停效果,悬停时鹦鹉的头转向另一侧 */
    .parrot:hover .outer {
        transform: rotate(180deg);
        border-color: transparent transparent lightseagreen darkcyan;
    }
    .parrot:hover .middle {
        transform: rotate(180deg);
        border-color: transparent gold white gainsboro;
    }
    .parrot:hover .inner {
        transform: rotate(90deg);
        border-color: transparent orange transparent transparent;
    }
  • 相关阅读:
    阅读之分布式架构的数据一致
    阅读之MySQL数据库分表
    阅读笔记1
    问题账户需求分析
    软件需求分析阅读笔记
    开发进度第四天
    开发进度第三天
    开发进度第二天
    线程中三个关键对象闭锁,栅栏,信号量
    java多线程中关于原子操作
  • 原文地址:https://www.cnblogs.com/FlyingLiao/p/10626886.html
Copyright © 2011-2022 走看看