当前位置:首页 > CSS

css拟态图标制作

2026-04-02 08:22:48CSS

拟态图标设计原理

拟态设计(Neumorphism)是一种模拟真实物体凸起或凹陷效果的UI风格,通过光影对比实现立体感。核心特点是使用相近色系的背景与元素,搭配内阴影和外阴影组合。

基础样式设置

背景色与图标基色需保持相近,通常选择浅灰或柔和的颜色作为背景。图标颜色略深或略浅于背景,形成微妙对比。

.container {
  background-color: #e0e5ec;
  border-radius: 20px;
  padding: 30px;
}
.icon {
  width: 60px;
  height: 60px;
  border-radius: 15px;
  background: #e0e5ec;
}

凸起效果实现

通过组合box-shadow属性创造凸起效果。需要两层阴影:白色左上阴影模拟光源,深色右下阴影模拟投影。

css拟态图标制作

.raised {
  box-shadow: 
    8px 8px 15px #a3b1c6,
    -8px -8px 15px #ffffff;
}

凹陷效果实现

使用inset参数创建内阴影实现凹陷效果。光源方向需与凸起效果相反。

.pressed {
  box-shadow: 
    inset 5px 5px 10px #a3b1c6,
    inset -5px -5px 10px #ffffff;
}

复杂形状处理

对于非矩形图标,可使用clip-path或SVG结合阴影。圆形图标需调整阴影扩散值。

css拟态图标制作

.circle-icon {
  border-radius: 50%;
  box-shadow: 
    6px 6px 12px #b8b8b8,
    -6px -6px 12px #ffffff;
}

动态交互效果

添加:active:hover状态增强交互感。凹陷效果适合按钮按下状态。

.icon:hover {
  box-shadow: 
    4px 4px 8px #a3b1c6,
    -4px -4px 8px #ffffff;
}
.icon:active {
  box-shadow: 
    inset 3px 3px 6px #a3b1c6,
    inset -3px -3px 6px #ffffff;
}

色彩方案建议

避免纯黑白对比,推荐使用饱和度低的配色。可通过HSB色彩模式微调明度。

.colored {
  background: #f0e6fa;
  box-shadow: 
    8px 8px 15px #d9c8ed,
    -8px -8px 15px #ffffff;
}

可访问性优化

确保图标与背景的对比度符合WCAG标准。可通过添加细边框提升识别度。

.accessible {
  box-shadow: 
    6px 6px 12px #a3b1c6,
    -6px -6px 12px #ffffff;
  border: 1px solid rgba(163,177,198,0.3);
}

标签: 拟态图标
分享给朋友:

相关文章

vue实现图标拖拽

vue实现图标拖拽

Vue 实现图标拖拽 使用 HTML5 拖放 API 在 Vue 中实现图标拖拽可以利用 HTML5 的拖放 API。通过 draggable 属性标记可拖拽元素,并监听 dragstart、drag…

用css制作火车图标

用css制作火车图标

使用CSS制作火车图标 通过CSS的伪元素、边框和变形属性可以创建一个简化的火车图标。以下是实现方法: 基础结构 HTML部分只需一个div元素作为容器: <div class="train…

css3 图标制作

css3 图标制作

CSS3 图标制作方法 使用伪元素和边框 通过 ::before 和 ::after 伪元素结合 CSS 边框属性可以创建简单图标。例如三角形图标: .triangle { width: 0;…

jquery图标

jquery图标

以下是关于jQuery图标的几种常见实现方式及相关资源: 使用jQuery UI内置图标 jQuery UI提供了一套内置的图标集,可通过CSS类名直接调用。例如使用ui-icon基类配合具体图标类…

uniapp滑动图标

uniapp滑动图标

实现滑动图标的方法 在UniApp中实现滑动图标功能,可以通过<scroll-view>组件结合自定义样式完成。以下是一个常见的实现方式: 模板部分 <scroll-view s…

uniapp 图标角标

uniapp 图标角标

uniapp 图标角标实现方法 在 uniapp 中实现图标角标功能,可以通过以下几种方式实现: 使用 uni.setTabBarBadge API 适用于底部 tabBar 的角标设置,支持动态…