使用纯css画一束玫瑰花

163 阅读1分钟

"```markdown

使用纯CSS画一束玫瑰花

HTML结构

<div class=\"rose-bouquet\">
    <div class=\"rose\"></div>
    <div class=\"rose\"></div>
    <div class=\"rose\"></div>
    <div class=\"stem\"></div>
    <div class=\"leaf left\"></div>
    <div class=\"leaf right\"></div>
</div>

CSS样式

body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #f0f0f0;
}

.rose-bouquet {
    position: relative;
}

.rose {
    width: 50px;
    height: 50px;
    background-color: #e63946;
    border-radius: 50%;
    position: relative;
    margin: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}

.rose::before,
.rose::after {
    content: '';
    position: absolute;
    background-color: #e63946;
    border-radius: 50%;
}

.rose::before {
    width: 60px;
    height: 60px;
    top: -10px;
    left: -5px;
}

.rose::after {
    width: 40px;
    height: 40px;
    top: 10px;
    left: 5px;
}

.stem {
    width: 10px;
    height: 100px;
    background-color: #2a9d8f;
    margin-left: 25px;
}

.leaf {
    width: 50px;
    height: 25px;
    background-color: #6a994e;
    position: absolute;
    border-radius: 25px;
}

.leaf.left {
    transform: rotate(45deg);
    top: 70px;
    left: 0;
}

.leaf.right {
    transform: rotate(-45deg);
    top: 70px;
    right: 0;
}

解释

  • HTML结构:包含一个包含多朵玫瑰的div,每朵玫瑰由一个div表示,后面是茎和叶子。

  • 玫瑰花:使用border-radius和伪元素::before::after来创建花瓣的效果。通过调整widthheight来形成不同大小的花瓣。

  • :使用一个简单的矩形div来表示花茎,背景颜色为绿色。

  • 叶子:两个叶子通过旋转和调整位置获得自然的效果,使用border-radius来使其边缘圆润。

  • 整体布局:使用flex来居中整个花束,背景色设置为浅色,以突出玫瑰的颜色。

通过这种方法,可以使用纯CSS创建一束华丽的玫瑰花,无需任何图像或JavaScript,展示了CSS在创造性设计中的潜力。