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

当制作生日蛋糕网页时,我们需要使用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日

相关文章

  • JavaScript实现更换头像功能

    下面是JavaScript实现更换头像功能的完整攻略: 步骤一:在HTML中添加文件上传表单元素 在HTML中添加文件上传表单元素,可以使用<input>标签来实现: <form enctype="multipart/form-data"> <input type="file" name=…

    css 2023年6月10日
    00
  • 提高代码可读性的十大注释技巧分享

    提高代码可读性是一项非常重要的工作,注释是其中的关键步骤。在这里我会分享十大注释技巧,帮助你提高代码的可读性。 1. 代码块注释 一般情况下,注释应该放在代码块的上方。它们应该被紧密地排列在一起,与其他代码相隔一行。这是一个好的做法,因为代码变化后注释不会随之漂移,也为编写者提供了改动区域的视觉提示。例如: # 这是一个函数的注释 def my_functi…

    css 2023年6月9日
    00
  • css设置滚动条颜色与样式以及如何去掉与隐藏滚动条

    请看下面的详细讲解。 CSS设置滚动条颜色与样式 设置滚动条颜色 要设置滚动条的颜色,我们需要使用伪元素::-webkit-scrollbar,再用background-color属性设置滚动条的背景颜色,用thumb伪元素来设置滚动条的滑块颜色。 /* 设置滚动条的背景颜色 */ ::-webkit-scrollbar { background-color…

    css 2023年6月9日
    00
  • jquery实现弹出窗口效果的实例代码

    以下是讲解 “jquery实现弹出窗口效果的实例代码” 的完整攻略。 简介 在网页开发中,弹出窗口效果的运用非常广泛,可以用于展示提示信息、显示图片、功能聚合等场景。而jquery是一款网页开发框架,通过它可以方便地实现弹出窗口效果。 实现步骤 步骤一:引入jquery 在文档头部的 <head> 标签内引用jquery库,示例代码如下: &lt…

    css 2023年6月10日
    00
  • 分享一则JavaScript滚动条插件源码

    我为您详细讲解如何分享一则JavaScript滚动条插件源码的完整攻略。 步骤一:编写JavaScript滚动条插件源码 为了分享这个JavaScript滚动条插件源码,首先我们需要编写这个插件源码。下面是一个简单的示例: // Scrollbar Plugin (function($) { $.fn.scrollbar = function() { // …

    css 2023年6月11日
    00
  • webpack5的loader配置小白学习篇

    一、什么是Webpack Loader Webpack是一个模块打包工具,可以将各种资源文件(JS、CSS、图片等)打包成网页中的静态资源。但是Webpack只认识JS文件,如果我们直接把CSS文件或图片文件引入到JS文件中,Webpack就会报错。这时就需要使用Webpack Loader,将Webpack不认识的文件转化成Webpack能够识别的模块。 …

    css 2023年6月9日
    00
  • 网站设计经验 建设网站常犯错误汇总

    网站设计经验 建设网站常犯错误汇总 在建设网站的过程中,经常会犯一些错误,这些错误可能会导致网站的功能不正常,影响用户体验,甚至会对网站的安全性造成威胁。本文将详细讲解一些常见的建设网站常犯错误,并提供相应的解决方案。 1. 缺乏安全性措施 在建设网站时,缺乏安全性措施是一个常见的错误,这可能会导致网站被攻击者入侵,用户的个人信息被窃取等安全问题。为了保证网…

    css 2023年6月9日
    00
  • 鼠标悬停图片产生边框的效果实现

    关于“鼠标悬停图片产生边框的效果实现”,以下是我的攻略: 实现方法 实现“鼠标悬停图片产生边框的效果”的方法有多种。下面我们介绍两种常用方法: 方法一:使用CSS的:hover伪类 在HTML中,为图片添加一个class,然后使用CSS中:hover伪类为该class添加一个边框样式即可。具体代码如下: .img-border:hover { border:…

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