人生与戏

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

学习效果地址:https://scrimba.com/c/cz6EzdSd

感想:过渡效果,圆角,定位。

HTML code:

<div class="fox">
    <div class="head">
        <span class="faces"></span>
        <span class="eyes"></span>
        <span class="ears"></span>
        <span class="nose"></span>
    </div>
    <div class="tail"></div>
</div>

CSS code:

html, body {
    margin: 0;
    padding: 0;
}
body{
    /* 设置body的子元素水平垂直居中 */
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    /* 定义一个背景变量 */
    --bc: teal;
    background-color: var(--bc);
}
/* 设置fox容器样式 */
.fox{
    position: relative;
    font-size: 30px;
    width: 7em;
    height: 9em;
    border: 1px solid white;
    /* 定义字体颜色变量 */
    --c: chocolate;
    color: var(--c);
    /* 过渡时间 */
    transition: 1s;
}
.fox:hover{
    --c: lightblue;
}
.fox .head{
    position: absolute;
    right: 0;
    width: 6em;
    height: 6em;
    border-radius: 50%;
    background-color: currentColor;
}
/* 画出脸颊 */
.fox .faces::before,
.fox .faces::after{
    position: absolute;
    top: 3em;
    content:'';
    width: 3em;
    height: 3em;
    border-radius: 0 100% 0 100%;
    background-color: white;
}
.fox .faces::after {
    right: 0;
    transform: rotate(-90deg);
}
/* 画出眼睛 */
.fox .eyes::before,
.fox .eyes::after{
    position: absolute;
    top: 4.5em;
    content: '';
    border: 0.3em solid;
    border-color: black black transparent transparent;
    border-radius: 50%;
}
.fox .eyes::before {
    left: 1em;
}
.fox .eyes::after {
    right: 1em;
    transform: rotate(-90deg);
}
/* 画出耳朵 */
.fox .ears::before,
.fox .ears::after {
    position: absolute;
    content:'';
    width: 3em;
    height: 3em;
    background-color: currentColor;
    filter: brightness(1.25);
    border-radius: 0 100% 0 0;
    z-index: -1;
}
.fox .ears::after {
    right: 0;
    transform: rotate(-90deg);
}
/* 画出鼻子 */
.fox .nose{
    position: absolute;
    top: calc(6em - 1em / 2);
    right: calc((6em - 1em) / 2);
    width: 1em;
    height: 1em;
    border-radius: 50%;
    background-color: black;
    transform: scale(0.9);
}
/* 画出尾巴 */
.fox .tail{
    position: absolute;
    bottom: 0;
    width: 7em;
    height: 7em;
    border-radius: 50%;
    background-color: currentColor;
    z-index: -1;
    overflow: hidden;
}
/* 去掉尾巴左上角的扇形 */
.fox .tail::before{
    position: absolute;
    content:'';
    width: calc(7em / 2);
    height: calc(7em / 2);
    border-radius: 100% 0 0 0;
    background-color: var(--bc);
}
/* 尾巴尖 */
.fox .tail::after {
    content: '';
    position: absolute;
    width: 1em;
    height: 1em;
    border-radius: 0 0 100% 0;
    background: white;
    bottom: calc(7em / 2 - 1em);
}

 

posted on 2019-04-13 11:57  人生与戏  阅读(173)  评论(0编辑  收藏  举报