css3手工制作图片
使用 CSS3 制作图片效果
CSS3 提供了多种方式手工绘制图形,无需依赖外部图片文件。以下是几种常见方法:
使用 border 绘制三角形
通过设置元素的 border 属性可以创建三角形:
.triangle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid #3498db;
}
使用 box-shadow 创建复杂形状
box-shadow 属性可以叠加多个阴影来构建复杂图形:
.circle {
width: 100px;
height: 100px;
background: #e74c3c;
border-radius: 50%;
box-shadow:
150px 0 0 0 #2ecc71,
75px 130px 0 0 #f1c40f;
}
使用渐变创建背景图案
线性渐变和径向渐变可以组合出丰富的纹理:
.pattern {
width: 200px;
height: 200px;
background:
linear-gradient(45deg, #333 25%, transparent 25%),
linear-gradient(-45deg, #333 25%, transparent 25%),
linear-gradient(45deg, transparent 75%, #333 75%),
linear-gradient(-45deg, transparent 75%, #333 75%);
background-size: 20px 20px;
}
使用伪元素增强效果
:before 和 :after 伪元素可以扩展绘制可能性:
.heart:before, .heart:after {
content: "";
width: 50px;
height: 80px;
background: #e74c3c;
border-radius: 50px 50px 0 0;
position: absolute;
}
.heart:before {
transform: rotate(-45deg);
left: 45px;
}
.heart:after {
transform: rotate(45deg);
left: 15px;
}
使用 clip-path 创建自定义形状
现代浏览器支持通过路径剪切创建任意形状:
.star {
width: 100px;
height: 100px;
background: #f39c12;
clip-path: polygon(
50% 0%, 61% 35%, 98% 35%, 68% 57%,
79% 91%, 50% 70%, 21% 91%, 32% 57%,
2% 35%, 39% 35%
);
}
动画增强效果
结合 CSS3 动画可以让图形更具表现力:

@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.2); }
100% { transform: scale(1); }
}
.animated-circle {
animation: pulse 2s infinite;
}
这些技术可以组合使用,通过调整颜色、尺寸和位置参数,能够创造出各种复杂的视觉元素。






