新拟态 UI

什么是新拟态

英文名 Neumorphism,简称 “Soft UI”。是一种图形样式,通过 css 来模拟真实的物体

新拟态 UI

soft.webp

原理

基础的凸起效果,【凸起效果】使用了外部阴影;【凹陷效果】使用内部投影,卡片背景色统一一样的颜色

  • 效果展示

新拟态 UI

tu.png

  • 结合颜色

新拟态 UI

ao.png

CSS 实现

基本实现

  • 先定义两个div
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="card left"></div>
    <div class="card right"></div>
</body>
</html>
  • CSS部分
html {
    /* 定义变量 */
    --bgColor#ff5353;

    /* rgba的四个值分别为:红(R)、绿(G)、蓝(B)、透明度(A) */
    --whiteShadow: -15px -15px 25px rgba(255117117, .5);
    --blackShadow15px 15px 25px rgba(1104040, .2);
}

/* 设置一些页面的布局样式 */
body {
    display: flex;
    margin0;
    padding0;
    width100vw;
    height100vh;
    justify-content: center;
    align-items: center;
    background-colorvar(--bgColor);
}

.card {
    width30vh;
    height30vh;
    margin45px;
    background-colorvar(--bgColor);
    border-radius30px;
}

/* 主要部分 */
.left {
    /* 设置外阴影 */
    box-shadowvar(--blackShadow),
                var(--whiteShadow);
}

.right {
    /* 设置内阴影 */
    box-shadow: inset var(--blackShadow),
                inset var(--whiteShadow);
}
  • 效果

新拟态 UI

image.png

中级实现

  • 定义两个 div
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="card left"></div>
    <div class="card right"></div>

</body>
</html>
  • css 写法
    html {
        /* 定义变量 */
        --bgColor#ff5353;

        /* rgba的四个值分别为:红(R)、绿(G)、蓝(B)、透明度(A) */
        --whiteShadow: -15px -15px 25px rgba(255117117, .5);
        --blackShadow15px 15px 25px rgba(1104040, .2);

        --whiteShadow215px 15px 25px rgba(255117117, .5);
        --blackShadow2: -15px -15px 25px rgba(1104040, .2);
    }

    /* 设置一些页面的布局样式 */
    body {
        display: flex;
        margin0;
        padding0;
        width100vw;
        height100vh;
        justify-content: center;
        align-items: center;
        background-colorvar(--bgColor);
    }

    .card {
        width30vh;
        height30vh;
        margin45px;
        background-colorvar(--bgColor);
        border-radius30px;
    }

    /* 主要部分 */
    .left {
        box-shadow: inset var(--blackShadow2),
                    inset var(--whiteShadow2);
    }

    .right {
        box-shadowvar(--blackShadow2),
                    var(--whiteShadow2);
    }
  • 效果

新拟态 UI

image.png

高级实现

  • 定义4个div,这次是两个 right 里面分别嵌套了两个 left
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="card right">
        <div class="card left"></div>
    </div>
    <div class="card right2">
        <div class="card left2"></div>
    </div>
</body>
</html>
  • css 部分
html {
    /* 定义变量 */
    --bgColor#ff5353;

    /* rgba的四个值分别为:红(R)、绿(G)、蓝(B)、透明度(A) */
    --whiteShadow: -15px -15px 25px rgba(255117117, .5);
    --blackShadow15px 15px 25px rgba(1104040, .2);

    --whiteShadow215px 15px 25px rgba(255117117, .5);
    --blackShadow2: -15px -15px 25px rgba(1104040, .2);
}

/* 设置一些页面的布局样式 */
body {
    display: flex;
    margin0;
    padding0;
    width100vw;
    height100vh;
    justify-content: center;
    align-items: center;
    background-colorvar(--bgColor);
}

.card {
    width30vh;
    height30vh;
    /* margin: 45px; */
    background-colorvar(--bgColor);
    border-radius30px;
}

/* 主要部分 */
.left {
    box-shadow: inset var(--blackShadow),
                inset var(--whiteShadow);
}

.right {
    box-shadowvar(--blackShadow),
                var(--whiteShadow);
    padding5px;
}

.left2 {
    box-shadow: inset var(--blackShadow2),
                inset var(--whiteShadow2);
}

.right2 {
    box-shadowvar(--blackShadow),
                var(--whiteShadow);
    padding5px;
    margin50px;
}
  • 效果

新拟态 UI

image.png

参考:

教你使用CSS3实现新拟态UI(https://juejin.cn/post/6868099832175820808)

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共2条

请登录后发表评论