纯HTML5+CSS3制作生日蛋糕代码

yizhihongxing

当制作生日蛋糕网页时,我们需要使用HTML5和CSS3的特性来实现。下面是一个完整的攻略:

1.准备工作

  • 首先创建一个HTML文件,并将其保存为index.html。
  • 在HTML文件头部,添加meta标签并设置编码方式为UTF-8。
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>生日蛋糕</title>
</head>
<body>

</body>
</html>

2.创建页面结构

  • 在body标签中添加一个div元素,并给它设置一个类名(class)为cake。
<body>
    <div class="cake">

    </div>
</body>
  • 在cake元素中添加两个子元素,一个是表示蛋糕底部的div元素,一个是表示蛋糕顶部的div元素,并分别设置自己的类名。
<div class="cake">
    <div class="bottom"></div>
    <div class="top"></div>
</div>

3.样式设计

  • 首先设置整个网页的背景色为淡粉色,将html和body的margin值设为0。
html, body {
    margin: 0;
    background-color: #fee2e2;
}
  • 接着,设置蛋糕的尺寸、颜色、形状。
.cake {
    height: 550px;
    width: 400px;
    background-color: #f3d3d3;
    border-radius: 50% / 30% 30% 70% 70%;
    position: relative;
    margin: 50px auto;
}
  • 然后是蛋糕底部的设计,它的颜色为淡黄色,高度为90px,border-radius设为70px,制造出一个圆形的效果。
.bottom {
    height: 90px;
    background-color: #ffd477;
    border-radius: 70px;
    margin: 480px auto 0 auto;
}
  • 接下来,我们将来制作糖霜,将它放在蛋糕上表明蛋糕的甜度。这里我们使用了CSS3的特性 - 渐变(Gradient)来实现。
.top {
    background: linear-gradient(45deg, #fceef5 0%, #fff1e6 100%);
    height: 80px;
    width: 140px;
    margin: -55px auto 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
  • 为了让这个蛋糕更加生动,我们再添加蜡烛,用小圆圈来代表。
.top:before {
    content: '';
    background-color: #ffc107;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    position: absolute;
    top: -20px;
    left: 70%;
    z-index: 1;
}

4.网页效果制作

  • 创建蜡烛火焰的动画。这里我们使用了CSS3的特性 – 动画(Animation)。
.top:before {
    animation: candle 2s infinite linear alternate;
}

@keyframes candle {
    0% {
        transform: translateY(-2px);
    }
    50% {
        transform: translateY(2px);
    }
    100% {
        transform: translateY(-2px);
    }
}
  • 最后,我们可以添加一些文字来表达祝福。
<div class="cake">
    <div class="bottom"></div>
    <div class="top">
        <span>Happy Birthday!</span>
    </div>
</div>
.top span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    color: #333;
}

现在,你已经学会了使用HTML5和CSS3来制作一个简单的生日蛋糕网页。下面我们来看一下两个实例:

示例1

下面的代码中我们添加了一些装饰,比如彩带和贴花。

<div class="cake">
    <div class="bottom"></div>
    <div class="top">
        <div class="ribbon red"></div>
        <div class="ribbon yellow"></div>
        <span>Happy Birthday!</span>
        <div class="sticker">
            <div class="heart"></div>
            <div class="heart"></div>
            <div class="star"></div>
            <div class="star"></div>
        </div>
    </div>
</div>
.top {
    background: linear-gradient(45deg, #fceef5 0%, #fff1e6 100%);
    height: 80px;
    width: 140px;
    margin: -55px auto 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.ribbon {
    position: absolute;
    height: 20px;
    width: 80px;
    background-color: #e74c3c;
    top: -30px;
}

.red {
    transform: rotate(-45deg);
    background-color: #e74c3c;
    left: calc(50% - 60px);
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}

.yellow {
    transform: rotate(45deg);
    background-color: #f1c40f;
    left: calc(50% - 20px);
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}

.sticker {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.heart {
    background-color: #f44336;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 0px;
    left: 8px;
    transform: rotate(-45deg);
    border-radius: 50% 50% 0 50%;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
}

.heart:last-child {
    left: 22px;
}

.star {
    background-color: #ff9800;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 8px;
    transform: rotate(-45deg);
}

.star:last-child {
    left: 18px;
}

示例2

下面的代码中我们添加了一些闪粉的效果,用CSS3的伪元素和动画制成。

<div class="cake">
    <div class="bottom"></div>
    <div class="top">
        <span>Happy Birthday!</span>
        <div class="shine"></div>
    </div>
</div>
.cake {
    background-color: #f3d3d3;
    border-radius: 50%;
    position: relative;
    margin: 50px auto;
    animation: shake 1s ease-in-out infinite;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.top {
    background: linear-gradient(45deg, #fceef5 0%, #fff1e6 100%);
    height: 80px;
    width: 140px;
    margin: -55px auto 0 auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    animation: shine 2s ease-in-out infinite;
}

.top span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    color: #333;
    animation: shake 1s ease-in-out infinite;
}

.shine:before,
.shine:after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: rgba(255, 255, 255, 0);
    animation: shine 2s ease-in-out infinite;
}

.shine:before {
    animation-delay: 0s;
}

.shine:after {
    animation-delay: 1s;
}

@keyframes shine {
    0% {
        transform: rotate(0);
        background: rgba(255, 255, 255, 0);
    }
    20% {
        background: rgba(255, 255, 255, 1);
    }
    100% {
        transform: rotate(180deg);
        background: rgba(255, 255, 255, 0);
    }
}

@keyframes shake {
    0% {
        transform: rotate(0deg);
    }
    10% {
        transform: rotate(-20deg);
    }
    20% {
        transform: rotate(20deg);
    }
    30% {
        transform: rotate(-20deg);
    }
    40% {
        transform: rotate(20deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

以上就是制作生日蛋糕网页的完整攻略和两个示例,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯HTML5+CSS3制作生日蛋糕代码 - Python技术站

(1)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • jQuery Validate表单验证插件的基本使用方法及功能拓展

    jQuery Validate表单验证插件基本使用方法 jQuery Validate是一款小巧而功能强大的表单验证插件。它可以提供简单易用的验证规则,并且支持自定义检验函数和错误信息。下面是详细的使用方法。 安装jQuery Validate 在使用jQuery Validate之前,要先在页面中引入jQuery库和jQuery Validate插件。假设…

    css 2023年6月9日
    00
  • jquery实现的缩略图预览滑块实例

    下面我将详细讲解如何使用 jQuery 实现缩略图预览滑块的效果: 前置准备 在开始实现缩略图预览滑块之前,需要先引入 jQuery 库,可以通过以下方式进行引入: <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></s…

    css 2023年6月11日
    00
  • 使用jquery自定义鼠标样式满足个性需求

    使用jQuery自定义鼠标样式是一种简单而有趣的方式,可以为网站增添一些独特的个性化元素。下面是一份完整攻略,带有两个示例说明,帮助你了解如何使用jQuery自定义鼠标样式。 1. 安装jQuery 首先,在你的网站中安装jQuery。你可以在官网下载,也可以在CDN上引用。对于大多数网站,建议使用CDN,这样可以确保网站具有更快的加载速度。以下是引用CDN…

    css 2023年6月10日
    00
  • 网页中css四种链接引用方法浅谈

    网页中CSS四种链接引用方法浅谈 目录 介绍 内联样式表 嵌入式样式表 外部样式表 导入式样式表 举例说明 结论 介绍 Cascading Style Sheets (CSS) 是一个用来描述网页上的样式的标记语言。 CSS 可以将网页内容和布局分离,使开发者可以更好地控制网页的外观和格式。在网页中,有四种方式可以引用 CSS 样式表,包括内联样式表、嵌入式…

    css 2023年6月9日
    00
  • css中子元素设置margin-top为什么影响了父元素

    当在CSS中将子元素的margin-top属性设置为正数值时,可能会影响其父元素的高度。这是由于CSS中的盒模型(Box Model)所决定的。盒模型定义了一个元素在页面中的可视框,并包括元素的四个基本属性:内容(content)、填充(padding)、边框(border)和外边距(margin)。 当设置子元素的margin-top属性时,可以看做是给子…

    css 2023年6月10日
    00
  • CSS 盒模型、块状元素与内联元素、CSS选择器

    CSS 盒模型 CSS盒模型是CSS布局的基础,它定义了HTML元素的大小和位置。盒模型由四个部分组成:内容区域、内边距、边框和外边距。以下是盒模型的详细说明: 内容区域 内容区域是元素的实际内容,例如文本、图像或其他媒体。内容区域的大小由元素的宽度和高度属性定义。 内边距 内边距是内容区域和边框之间的空间。内边距的大小由padding属性定义。 边框 边框…

    css 2023年5月18日
    00
  • 修改鼠标样式的CSS代码

    修改鼠标样式是通过修改CSS的cursor属性来实现的。下面是详细的攻略: 1. 了解CSS cursor属性 cursor属性用于设置鼠标移动到元素上时的鼠标样式。常用的样式包括箭头、手型、调整大小等等。常用的属性值包括: auto:浏览器自动决定鼠标样式 pointer:手型 default:箭头 text:I形的文本编辑光标 move:移动样式 not…

    css 2023年6月10日
    00
  • 什么是SEO SEO新手快速入门技巧

    下面我来为你详细讲解“什么是SEO SEO新手快速入门技巧”的完整攻略。 什么是SEO? SEO是Search Engine Optimization的缩写,即搜索引擎优化。SEO的目的是提高网站在搜索引擎中的排名,从而吸引更多的访问者。通俗来说,通过一系列的技术手段,让搜索引擎更好地识别你的网站,从而提高搜索排名。 SEO新手快速入门技巧 1. 关键词研究…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部