三角形
- 普通三角形
- 带阴影的三角形:box-shadow
- 带阴影的三角形:filter
普通三角形
💡 Tips:设置 div 盒子宽高为零,使用单边框实现
.triangle {width: 0;height: 0;border: 20px solid transparent;border-top-color: #ccc;
}
带阴影的三角形:box-shadow
💡 Tips:在普通三角形基础上,添加 box-shadow ,设置阴影方向、偏移量,搭配伪元素遮挡 实现
.tips-add-shadow {width: 300px;height: 200px;border-radius: 4px;background: #fff;box-shadow: 2px 2px 20px #ccc;margin-left: 50px;position: relative;margin-bottom: 50px;
}.tips-add-shadow::before {content: '';width: 0;height: 0;position: absolute;top: 180px;left: calc(50% - 20px);background: #fff;border: 20px solid transparent;border-top-color: #fff;border-right-color: #fff;transform: rotate(135deg);box-shadow: 2px -2px 20px #ccc;
}.tips-add-shadow::after {content: '';width: 80px;height: 40px;position: absolute;top: 160px;left: calc(50% - 40px);background: #fff;
}
实现效果图如下:
带阴影的三角形:filter
💡 Tips:filter 为滤镜的意思,可实现很多特殊样式。此处采用 filter 实现阴影
.tips-add-shadow {width: 300px;height: 200px;border-radius: 4px;background: #fff;box-shadow: 2px 2px 20px #ccc;margin-left: 50px;position: relative;margin-bottom: 50px;
}.tips-add-shadow::after {content: '';width: 0;height: 0;position: absolute;top: 200px;left: calc(50% - 30px);border-left: 30px solid transparent;border-right: 30px solid transparent;border-top: 30px solid #fff;filter: drop-shadow(0 3px 2px #ccc);
}