纯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日

相关文章

  • 使用CSS3制作响应式导航菜单的方法

    使用CSS3制作响应式导航菜单是开发响应式网站的重要一步。下面是完整攻略,包含了基本概念、实现方法和示例。 基本概念 什么是响应式导航菜单? 响应式导航菜单是在不同设备下,例如手机、平板电脑和台式电脑等,自动调整形态和布局的导航菜单。 为什么要使用CSS3制作响应式导航菜单? 因为CSS3有许多强大的特性,其中可以使用媒体查询(Media Query)对不同…

    css 2023年6月10日
    00
  • 多行图片hover加边框会把下面的图片挤到别处的解决方法

    针对“多行图片hover加边框会把下面的图片挤到别处”的问题,我们可以采取以下两种方法来解决。 方法一:为图片加上占位符 我们可以在HTML中为每个图片设置一个确定的大小,并填充占位符。这样可以确保在图片hover加边框时,不会引起其他图片位置的变化。 假设我们有以下的HTML代码: <div class="image-container&q…

    css 2023年6月10日
    00
  • 如何使用python docx模块操作word文档

    使用Python的docx模块可以方便地操作Word文档,下面将详细讲解操作步骤: 安装docx模块 首先需要安装docx模块,可以使用pip命令进行安装,命令如下: pip install python-docx 打开Word文档 使用docx模块可以通过以下步骤打开Word文档: import docx # 打开Word文档 doc = docx.Doc…

    css 2023年6月10日
    00
  • CSS实现两栏布局,左边固定,右边自适应的4种方法

    下面是完整攻略: CSS实现两栏布局,左边固定,右边自适应的4种方法 在Web开发中,实现两栏布局是常见需求之一。其中,左边固定,右边自适应的布局方式也是较为普遍的一种,本文介绍4种实现这种布局方式的方法。 方法一:float布局 这是一种比较早期的实现方式,通过设置左边固定宽度,右边使用float属性浮动使得自适应宽度。 <div class=&qu…

    css 2023年6月9日
    00
  • webpack 4.0.0-beta.0版本新特性介绍

    webpack 4.0.0-beta.0版本新特性介绍 什么是webpack? webpack是一个现代JavaScript应用程序的静态模块打包器,一般用于打包前端项目中的代码、样式、图片等资源。 webpack 4.0.0-beta.0版本带来了哪些新特性? 默认支持ES6模块 在之前的版本中,webpack需要通过babel等工具去转换ES6模块为Co…

    css 2023年6月9日
    00
  • 客户端js判断文件类型和文件大小即限制上传大小

    客户端JS判断文件类型和文件大小即限制上传大小是常见的一个需求。以下是操作的完整攻略: 1.判断文件类型 第一种方法:使用HTML5的file API 使用HTML5的file API可以获取文件的信息,包括文件类型,如下: const fileInput = document.getElementById(‘file’); const file = fil…

    css 2023年6月10日
    00
  • Vue3 style CSS 变量注入的实现

    让我为您详细讲解一下“Vue3 style CSS 变量注入的实现”的完整攻略。 什么是 Vue3 style CSS 变量注入 在 Vue3 中,我们可以利用 CSS 变量注入 的方式来为组件注入样式,本质上就是通过 Vue3 提供的 $attrs 和 style 属性处理方式,将常量化的 CSS 变量写入到 Vue3 的虚拟 DOM 中。 这种方式比起之…

    css 2023年6月10日
    00
  • CSS3 @media的基本用法总结

    CSS3 @media的基本用法总结 CSS3 @media是一种CSS3的新特性,它可以根据不同的设备或屏幕尺寸应用不同的CSS样式。本攻略将详细讲解CSS3 @media的基本用法,包括语法、常用媒体查询和示例说明。 1. 语法 CSS3 @media的语法如下: @media mediatype and|not|only (media feature)…

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