2022-12-02 10:50:06
HTML内阴影可通过CSS的box-shadow属性结合inset关键字实现。具体方法如下:
核心语法:box-shadow: inset [水平偏移量] [垂直偏移量] [模糊半径] [扩展半径] [颜色];
inset:关键参数,表示阴影绘制在元素内部(默认外阴影)。
水平/垂直偏移量:正值向右/下,负值向左/上。
模糊半径:值越大阴影越模糊(如10px)。
扩展半径:值越大阴影扩散范围越广(可为负值缩小阴影)。
颜色:支持任何CSS颜色格式(如rgba(0,0,0,0.5)半透明黑)。
基础示例:
<div style="width: 200px; height: 100px; background: lightblue; box-shadow: inset 0 0 10px rgba(0,0,0,0.5);"></div>效果:蓝色背景的div内部出现柔和黑色内阴影,增强层次感。
进阶技巧:
叠加多阴影:通过逗号分隔多个阴影参数,创造复杂效果。<button style="padding: 10px 20px; background: #4CAF50; color: white; box-shadow: inset 0 2px 4px rgba(0,0,0,0.3), inset 0 -2px 4px rgba(255,255,255,0.2);">点击我</button>效果:按钮同时显示深色“按下”阴影和浅色“高光”阴影,模拟立体感。
负扩展半径:缩小阴影范围,如inset 0 0 5px -2px rgba(0,0,0,0.3)。
注意事项:
模糊半径与颜色:过大的模糊半径(如50px)或低对比度颜色可能导致视觉混乱。
布局交互:内阴影可能影响相邻元素布局,需通过z-index或margin调整。
性能优化:避免对大量元素使用复杂阴影,可能引发渲染性能问题。
调试建议:使用浏览器开发者工具(如Chrome DevTools)实时修改box-shadow参数,观察效果变化。快捷键:在元素检查器中选中目标元素,直接编辑box-shadow值并回车生效。
通过灵活组合参数和叠加阴影,可实现从简单凹陷到复杂立体感的多种内阴影效果。实践时建议从单阴影开始,逐步尝试多阴影叠加,同时注意代码可读性(如添加注释说明阴影用途)。