当前位置:首页 > CSS

css拟态图标制作

2026-03-12 12:31:41CSS

拟态图标(Neumorphism)设计要点

拟态风格通过柔和的阴影和高光模拟凸起或凹陷的立体效果,需注意以下核心原则:

  • 背景色与图标基色需接近(通常使用相同色系)
  • 阴影分为内阴影和外阴影,方向需一致
  • 光源角度通常设定为左上角45度

基础样式代码示例

.neumorphic-icon {
  width: 60px;
  height: 60px;
  border-radius: 15px;
  background: #e0e5ec;
  box-shadow: 
    8px 8px 15px rgba(163, 177, 198, 0.7),
    -8px -8px 15px rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
}

凹陷效果实现

通过反转阴影方向创造按压效果:

css拟态图标制作

.inset-icon {
  box-shadow: 
    inset 3px 3px 5px rgba(163, 177, 198, 0.7),
    inset -3px -3px 5px rgba(255, 255, 255, 0.8);
}

动态交互增强

添加悬停状态提升用户体验:

.neumorphic-icon:hover {
  box-shadow: 
    4px 4px 10px rgba(163, 177, 198, 0.6),
    -4px -4px 10px rgba(255, 255, 255, 0.7);
  transform: translate(2px, 2px);
  transition: all 0.3s ease;
}

色彩搭配建议

推荐使用HSL色彩模式便于调整明度:

css拟态图标制作

:root {
  --base-hue: 220;
  --bg-color: hsl(var(--base-hue), 20%, 85%);
}

复杂形状处理

非矩形图标需配合SVG实现:

.svg-icon {
  filter: 
    drop-shadow(3px 3px 3px rgba(163,177,198,0.6))
    drop-shadow(-3px -3px 3px rgba(255,255,255,0.8));
}

响应式调整

针对不同设备尺寸优化阴影强度:

@media (max-width: 768px) {
  .neumorphic-icon {
    box-shadow: 
      4px 4px 8px rgba(163, 177, 198, 0.6),
      -4px -4px 8px rgba(255, 255, 255, 0.7);
  }
}

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

相关文章

vue实现图标闪烁

vue实现图标闪烁

使用 CSS 动画实现图标闪烁 在 Vue 中实现图标闪烁可以通过 CSS 动画或 JavaScript 定时器控制。以下是基于 CSS 动画的方法,性能更好且易于维护。 定义闪烁动画样式 在组…

react如何给菜单添加图标

react如何给菜单添加图标

使用第三方图标库(如Font Awesome) 安装Font Awesome库: npm install @fortawesome/fontawesome-svg-core @fortawesome…

动画实现react图标

动画实现react图标

使用CSS动画实现React图标旋转 安装React Icons库(如未安装): npm install react-icons 引入所需图标和CSS模块: import { FaReact }…

苹果css图标制作

苹果css图标制作

苹果CSS图标制作方法 通过CSS可以创建简洁的苹果风格图标,主要利用伪元素、边框和变换属性实现。以下是几种常见苹果图标的CSS实现方式。 苹果Logo基础形状 使用CSS创建一个简单的苹果轮廓:…

jquery 图标

jquery 图标

以下是关于 jQuery 图标的相关信息,包括获取方式和使用方法: 获取 jQuery 图标 jQuery 官方图标通常指 jQuery 的 Logo 或相关 UI 图标库。可通过以下途径获取:…

uniapp图标事件

uniapp图标事件

添加图标事件的方法 在UniApp中,可以通过@click或其他事件绑定方法为图标添加交互功能。以下以<uni-icons>组件为例: <uni-icons type="conta…