Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
使用HTML5和CSS3实现生日蛋糕的制作_创想鸟

使用HTML5和CSS3实现生日蛋糕的制作

这篇文章主要介绍了关于使用HTML5和CSS3实现生日蛋糕的制作,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

“祝你生日快乐,祝你生日快乐……”,过生日有生日歌,生日蛋糕也是必不可少的,这篇文章主要为大家详细介绍了程序员利用纯HTML5+CSS3制作的生日蛋糕,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

以一个前端开发的身份绘制一个简单的蛋糕庆祝一下今天这个好日子吧,程序员庆生的乐趣与哀愁啊。写的比较简陋,感兴趣的看一下吧。

先发个效果图吧

使用HTML5和CSS3实现生日蛋糕的制作

蛋糕分为三个部分,底部蛋糕,顶层蛋糕和蜡烛部分。html的布局结构也是按照这三部分布局的。另外就是使用css定位和css3的rotate,内外阴影等效果调整部分dom元素样式。比较简单,相信码农都懂的。

不赘述其它有的没的了。

下面给出完整的的HTML代码和CSS代码

                    .birthday .container{            width:600px;            height:600px;            margin:0px auto;            background: #fafafa;            border-radius:5px;            position: relative;        }        /**       ** 顶层的       **/        .birthday .top-one{            position: absolute;            width:280px;            height: 280px;            bottom: 200px;            left:160px;        }        .birthday .top-one .bottom{            position: absolute;            width:280px;            height: 280px;            bottom:-30px;            border:1px solid #3e2001;            border-radius: 140px;            transform: rotateX(60deg);            z-index: 4;            background: #3e2001;            box-shadow: 0px 0px 20px #3e2001;        }        .birthday .top-one .top{            position: absolute;            width:280px;            height: 280px;            top:-50px;            border-radius: 140px;            background: #FFFFFF;            transform: rotateX(60deg);            box-shadow: 2px 2px 20px #b7b7b7;            z-index: 6;            background: -webkit-repeating-radial-gradient(circle, #783d01, #3e2001 10px, #914909 10px,white 20px);            background: -moz-repeating-radial-gradient(circle, #783d01, #3e2001 10px,#914909 10px,white 20px);        }        .birthday .top-one .side{            position: absolute;            top:95px;            width:280px;            height: 70px;            border:1px solid #3e2001;            border-top-width: 0px;            border-bottom-width: 0px;            background: #FFFFFF;            z-index: 5;            background: #3e2001;        }        /**        ** 底层的        **/        .birthday .bottom-one{            position: absolute;            width:400px;            height: 400px;            bottom: 0px;            left:100px;        }        .birthday .bottom-one .bottom{            position: absolute;            width:400px;            height: 400px;            bottom:-30px;            border:1px solid #914909;            border-radius: 200px;            transform: rotateX(60deg);            box-shadow: 2px 2px 20px #914909;            z-index: 1;            background: #3e2001;            overflow: hidden;        }        .birthday .bottom-one .line{            position: absolute;            width:400px;            height: 400px;            border-radius: 200px;            z-index: 1;        }        .birthday .bottom-one .line1{            bottom: 30px;            border:5px solid #783d01;            left:-5px;            z-index: 1;        }        .birthday .bottom-one .top{            position: absolute;            width:400px;            height: 400px;            top:-100px;            border:1px solid #3e2001;            border-radius: 200px;            background: #FFFFFF;            transform: rotateX(60deg);            z-index: 3;            background: #783d01;            box-shadow: inset 0px 0px 20px #3e2001;        }        .birthday .bottom-one .side{            position: absolute;            top:100px;            width:400px;            height: 130px;            border:1px solid #3e2001;            border-top-width: 0px;            border-bottom-width: 0px;            background: #3e2001;            z-index: 2;        }        /**        ** 底层的文字        **/        .birthday .flower{            position: relative;            text-align: justify;            z-index: 9;            top:200px;            font-size: 32px;            font-family: "Helvetica Neue", "Noto Sans CJK SC", "Source Han Sans CN";            color:#FFFFFF;            font-weight: bold;        }        .birthday .flower:after{            content:"";            display:inline-block;            position: relative;            width:100%;        }        .birthday .flower i{            position: relative;            width:80px;            line-height: 80px;            display: inline-block;            border-radius: 50%;            border:2px solid #783d01;            text-align: center;        }        /**        ** 顶层的文字        **/        .birthday .top-one .text{            width:100%;            text-align: center;            position: absolute;            top:165px;            z-index: 9;            margin:0px auto;            font-size: 30px;            color:#FFFFFF;            transform: rotateX(60deg) skew(10deg,20deg);        }        /**         ** 蜡烛        **/        .birthday .candle{            width:10px;            height:80px;            margin:0px auto;            position: absolute;            left:295px;            top:130px;            z-index: 9;        }        .birthday .candle .body{            width:10px;            height:70px;            margin:0px auto;            background: red;            border-bottom-width: 0px;        }        .birthday .candle .top{            width:10px;            height: 10px;            border-radius: 5px;            transform: rotateX(60deg);            position: relative;            top:5px;            background: red;        }        .birthday .candle .bottom{            width:10px;            height: 10px;            border-radius: 5px;            transform: rotateX(60deg);            position: relative;            bottom:5px;            background: red;            box-shadow: 1px 1px 10px red;        }        .birthday .candle .fire{            position: absolute;            width:6px;            height: 6px;            left:2px;            transform: rotate(45deg);            background: #ffd507;            box-shadow: 0px 0px 20px #ffff00, 2px 2px 10px red;        }        

Happy Birthday

生 日 快 乐

okay,庆生开发的小Demo,以后可以尝试用Canvas画布或SVG试着在做一下,感谢阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

立即学习“前端免费学习笔记(深入)”;

相关推荐:

如何使用jQuery和HTML5实现手机摇一摇的换衣特效

用html5的63行代码实现贪吃蛇游戏

以上就是使用HTML5和CSS3实现生日蛋糕的制作的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1610231.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 01:19:54
如何实现css绘制透明三角形
下一篇 2025年12月24日 01:20:08

相关推荐

  • 猎豹浏览器官方网址链接入口 猎豹浏览器平台直达访问官方主页

    猎豹浏览器官方网址是http://m.liebao.cn/?f=www,该网站提供极速浏览体验、个性化界面设置和实用功能整合,如双渲染引擎、安全防护、主题皮肤、广告过滤等。 猎豹浏览器官方网址链接入口在哪里?这是不少网友都关注的,接下来由PHP小编为大家带来猎豹浏览器平台直达访问官方主页,感兴趣的网…

    2026年9月21日
    200
  • PHP播放HLS视频流的方法_PHP播放HLS视频流方法

    答案:PHP通过权限控制和文件代理实现HLS流安全分发,前端使用HTML5视频标签和hls.js播放。具体描述:HLS将视频切为.ts片段并用.m3u8索引,PHP后端可校验用户权限、防止盗链,动态输出.m3u8或.ts内容;前端通过video标签加载stream.php?id=1,结合hls.js…

    2026年9月20日
    000
  • 悟空浏览器为什么玩网页游戏很卡_悟空浏览器网页游戏卡顿原因

    1、清理缓存与数据;2、关闭后台应用;3、禁用非必要插件;4、优化网络DNS;5、启用硬件加速。通过五步优化可有效缓解悟空浏览器网页游戏卡顿问题。 如果您在使用悟空浏览器玩网页游戏时遇到卡顿现象,可能是由于浏览器资源占用过高、缓存堆积或网络连接不稳定所致。此类问题通常可以通过调整浏览器设置和优化系统…

    2026年9月11日
    100
  • VSCode怎么编译运行视频_VSCode处理视频资源的扩展配置教程

    VSCode不能编译运行视频,但可通过脚本和扩展集成FFmpeg等工具实现视频转码、剪辑、元数据提取及自动化处理,扮演视频工作流的“指挥中心”角色。 VSCode本身并不是一个视频播放器或专业的视频编辑软件,所以“编译运行视频”这个说法,在我个人看来,其实是有些误解的。它不会像C++代码那样被编译成…

    2026年9月11日
    100
  • 百度浏览器无法播放YouTube视频怎么办 百度浏览器YouTube播放问题解决方法

    百度浏览器无法播放YouTube视频,通常与浏览器兼容性、缓存问题或系统设置有关。可以尝试以下几种方法来解决。 清除浏览器缓存和Cookie 过时或损坏的缓存数据可能导致YouTube页面加载异常或视频无法播放。 打开百度浏览器,点击右上角菜单(三个横线或点)。 选择“更多工具” > “清除上…

    2026年9月10日
    200
  • qq浏览器和火狐浏览器哪个对开发者更友好_qq浏览器与火狐浏览器开发者对比分析

    QQ浏览器和火狐浏览器在开发功能上各有优势:QQ浏览器基于Chromium内核,开发者工具与Chrome一致,支持完整的调试功能,并兼容Chrome扩展插件,适合使用现代前端框架的开发;其跨屏穿越功能便于多设备测试。火狐浏览器拥有自主研发的开发者工具,具备3D页面视图、内存分析等特色功能,对WebA…

    2026年9月10日
    100
  • VSCode代码片段:快速生成常用代码

    VSCode代码片段是通过触发词快速生成代码模板的功能,支持自定义占位符与变量。以JavaScript为例,可通过命令面板配置javascript.json文件,添加如”logf”生成带日志函数的代码块,${1}${2}为占位符,$0为最终光标位置。推荐创建React组件、E…

    2026年9月9日
    000
  • PHP视频播放器音量控制_PHP视频播放器音量控制

    音量控制由前端实现,PHP提供数据支持。HTML5视频标签结合JavaScript实现音量调节,PHP负责存储用户偏好、权限管理和动态生成初始音量配置,实现个性化播放体验。 在使用PHP开发视频播放应用时,音量控制功能通常不是由PHP本身直接实现的,因为PHP是服务器端语言,而音量控制属于前端交互功…

    2026年9月9日
    200
  • 百度浏览器Flash无法播放怎么办 百度浏览器Flash内容播放异常处理方法

    Flash技术已终结,因Adobe于2020年底停止支持,百度浏览器等主流平台均禁用,继续使用存安全风险;应转向HTML5等现代技术,仅在隔离环境中运行必要本地文件。 百度浏览器无法播放Flash,核心原因是技术过时和插件支持终止。虽然部分旧方法可能临时奏效,但需明确:Adobe已于2020年12月…

    2026年9月9日
    200
  • PHP播放本地视频文件路径怎么写_PHP播放本地视频路径技巧

    答案:PHP通过生成HTML5视频标签间接实现本地视频播放,视频文件需置于Web可访问目录,使用绝对路径避免错误,通过标签嵌入并由浏览器播放,结合htmlspecialchars()防XSS,敏感视频可移出Web目录由PHP脚本验证权限后代理输出,确保安全。 在PHP中播放本地视频文件,关键不在于P…

    2026年9月9日
    200
  • 谷歌浏览器为什么无法播放HTML5视频_谷歌浏览器视频播放异常排查方法

    首先检查并更新谷歌浏览器至最新版本,随后清除浏览器及GPU缓存,禁用硬件加速功能以排除显卡驱动兼容问题,确认视频格式为MP4、WebM等支持类型并采用H.264+AAC编码组合,重置chrome://flags实验性设置与浏览器默认配置,最后关闭扩展程序排查拦截风险并确保跨域资源具备正确CORS头。…

    2026年9月8日
    100
  • HTML视频元素使用指南

    1、随着html5的推出,新增了video元素,使得网页具备了原生播放视频的能力。在此之前,网页无法直接嵌入视频,通常需要借助第三方插件(例如flash)来实现播放功能。用户必须预先在浏览器中安装这些插件才能正常观看视频内容,若未安装,则视频无法加载或播放。这种依赖外部插件的方式不仅影响兼容性,也降…

    2026年9月7日
    000
  • Safari网页版入口 Safari直接打开

    Safari网页版可通过官网https://www.apple.com/safari/直接访问,支持跨平台浏览,页面加载快且适配多语言;具备节能、防跟踪、支持现代网页标准等技术优势,并与Apple生态无缝集成,提供简洁界面、阅读器模式和手势导航等优质用户体验。 Safari网页版入口 Safari直…

    2026年9月3日
    200
  • VSCode怎么编写地图定位_VSCode集成地图API开发位置服务应用教程

    答案是集成地图API实现定位需选择服务商、引入SDK、初始化地图并调用定位功能。具体为:在VSCode中创建Web项目,引入百度等地图API的SDK,通过HTML页面加载地图容器,使用JavaScript初始化地图实例,并结合浏览器Geolocation API或地图SDK自带控件获取位置,最后添加…

    2026年8月29日
    100
  • 推荐几款好用的文本编辑器

    推荐几款好用的文本编辑器推荐几款好用的文本编辑器推荐几款好用的文本编辑器推荐几款好用的文本编辑器

    作为程序员,编写和查看代码是日常工作的重要部分。今天,我将为大家介绍几款实用的文本编辑器。 Sublime Text 是一款轻量、简洁、高效且跨平台的编辑器。 Sublime Text的特色功能包括: 出色的扩展功能,官方称为安装包(Package)。它没有传统的右侧滚动条,而是用代码缩略图代替,这…

    2026年8月28日 • 用户投稿
    300
  • b站视频怎么镜像翻转_B站视频画面镜像处理技巧

    1、使用B站手机客户端可直接开启镜像翻转:进入全屏播放后点击右上角三个点,选择【镜像翻转】即可实时切换画面方向。2、通过B站网页版HTML5播放器也可实现:在电脑端播放视频时点击设置齿轮,开启【镜像画面】开关即生效。3、如需永久保存镜像效果,可借助剪映等剪辑软件对视频进行水平翻转处理后再导出使用。 …

    2026年8月28日
    100
  • VSCode怎么调出HTML模板_VSCode快速生成HTML基础模板结构教程

    答案:在VSCode中输入!后按Tab键即可快速生成HTML5模板,也可使用html:5或doc等Emmet缩写,若失效需检查文件类型和设置,还可通过自定义snippets.json实现个性化模板。 在VSCode中快速生成HTML基础模板结构,最直接也最常用的方法就是利用其内置的Emmet功能。你…

    2026年8月26日
    200
  • UC浏览器视频小窗播放怎么用_UC浏览器视频小窗播放方法

    在UC浏览器播放视频时,按返回键或滑动退出可启用小窗模式;02. 若未自动开启,可通过菜单手动选择“小窗播放”;03. 小窗支持拖动、缩放与手势控制,便于多任务操作。 如果您在观看视频时希望同时浏览其他内容,可以使用UC浏览器的视频小窗播放功能,让视频以悬浮窗口的形式继续播放。该功能适用于移动端操作…

    2026年8月26日
    000
  • VSCode怎么自动生成HTML_VSCode快速生成HTML基础模板结构教程

    输入!按Tab即可生成HTML5模板,VSCode通过Emmet实现高效编码,支持自定义片段和高级缩写,提升开发效率。 说实话,刚开始用VSCode写HTML的时候,我也觉得每次都要手动敲 、 、 那些东西挺麻烦的。后来才发现,VSCode在快速生成HTML基础模板结构这方面做得真是相当到位,主要就…

    2026年8月26日
    000
  • 如何解决PHP中复杂的HTML/XML解析与操作问题,arthurkushman/query-path助你轻松驾驭!

    可以通过一下地址学习composer:学习地址 告别繁琐:PHP 处理 HTML/XML 的痛与思 在日常的 php 开发中,我们经常需要与各种 html 或 xml 文档打交道。无论是从第三方网页抓取信息,还是处理复杂的 xml 配置,亦或是动态生成和修改 html 片段,这些任务都不可避免。然而…

    用户投稿 2026年8月26日
    100

发表回复

登录后才能评论
关注微信