ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

网页设计大作业:基于HTML+CSS实现星巴克咖啡网站主页源代码

网页设计大作业:基于HTML+CSS实现星巴克咖啡网站主页源代码 简介面向网页设计大作业的星巴克咖啡品牌主页源码包基于HTMLCSS构建适合课程作业、前端入门自学或期末项目参考。整体采用品牌标志性的绿色系与大图横幅结构页面视觉接近真实咖啡连锁官网有助于提升作品完成度。设计上还原了官网的页面骨架包含首页、菜单、表单、博客等多个页面可帮助学习者理解多页面站点的组织方式与统一风格控制。压缩包共17个文件其中5个html页面加上2个css样式表构成核心代码另含7张gif动态素材、1个mp4演示视频以及readme和license说明整体约5.24MB打开即用、结构清晰。目前已有41人学习下载。实践过程中可以体会HTML结构层与CSS表现层分离的编码思路对照源码可掌握站点导航、图文排版、品牌配色、响应式适配等技能结合演示视频还能还原页面动效与交互过程同时通过阅读license说明可增强品牌元素使用的版权意识适合作为课程设计参考或进一步改造成个人作品。1. 网页设计大作业先做出一个星巴克咖啡网站主页“网页设计大作业基于htmlcss实现的星巴克咖啡网站主页源代码”这类题目是网页基础课程里最常见的一种交付一个仿品牌官网的静态主页全部由 HTML 结构、CSS 样式和图片素材组成最终交一个能双击打开的 index.html。它的难点不在“会不会写标签”而在板块布局是否接近真实官网、代码结构是否清晰、交给老师或放进作品集时能不能在没有服务器的情况下直接运行。适合正在准备网页设计期末作业的学生也适合刚入门想练 CSS 布局的前端新人对资深从业者来说这篇文章重点整理的是 CSS 变量组织、相对路径和响应式断点这几个经常被人忽略的细节。2. 网页设计大作业的 HTMLCSS 拆解从页面骨架到全局样式把“星巴克咖啡网站主页”拆开看一个能打 85 分以上的大作业至少包含五部分顶部导航、主视觉 Banner、产品菜单展示、门店或品牌信息区、页脚。这五个板块全部是静态内容HTML 负责文本、图片和链接CSS 负责颜色、尺寸、位置和过渡效果。很多同学在第一步就犹豫“要不要加 JavaScript 或框架”实际上标题里已经给了答案htmlcss 就够了。星巴克这类品牌官网的交互就是导航变色、卡片浮起、按钮高亮这些用 CSS 的 :hover 和 transition 可以实现。2.1 为什么“只有 HTML 和 CSS”也能撑起一个站点静态页面不等于简陋页面。现代 CSS 已经具备 flex 布局、grid 网格、定位、渐变、动画、媒体查询等能力一个没有后台的品牌展示页完全可以做到视觉丰富。常见做法是用一个 index.html 组织语义化标签用一个 css/style.css 控制所有外观图片单独放进 images 目录。这样文件之间通过相对路径关联无论拷贝到 U 盘还是压缩发给老师双击都能正常打开。真正拉开作业差距的是“结构是否语义化”和“样式是否成体系”。例如导航用nav主内容用main页脚用footer比满屏div更容易拿高分样式里用 CSS 变量统一品牌色比到处写死#006241要好维护得多。下面这张表是网页设计大作业里最常见的模块和它们的职责模块标签建议典型 CSS 需求对应素材顶部导航header navflex 布局、粘性定位logo 图主视觉section背景渐变或大图、文字居中banner 图菜单卡片section articlegrid 网格、hover 过渡产品图片门店信息section两栏布局、地图占位门店图片页脚footer深色背景、文字布局无在实际实现时我一般会把导航粘在浏览器顶部这样用户向下滚动时随时能看到菜单入口Banner 用min-height撑出视觉高度菜单卡片用 grid 自动分配三列页脚用深绿色承接全站重量。这些细节做完页面就有真实官网的气质。2.2 先定目录结构源代码要让人一眼看懂大作业交付的“源代码”不只是 index.html 这一个文件。目录结构最好这样组织starbucks-web/ ├── index.html ├── css/ │ └── style.css └── images/ ├── logo.png ├── banner.jpg ├── coffee-1.jpg ├── coffee-2.jpg └── store.jpg根目录下只放一个 HTML 文件避免老师打开压缩包后不知道从哪个文件开始。CSS 文件放在 css/ 子目录里图片统一放在 images/ 下。写 HTML 时用相对路径引用比如css/style.css、images/banner.jpg不要写绝对路径C:/users/xx/images/banner.jpg否则换一台电脑打开就是红叉。接着建立 HTML 骨架!DOCTYPE html html langzh-cn head meta charsetutf-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 title星巴克咖啡 - 网页设计大作业/title link relstylesheet hrefcss/style.css /head body div classpage !-- 顶部导航 -- !-- 主视觉 -- !-- 菜单卡片 -- !-- 门店信息 -- !-- 页脚 -- /div /body /html这里有三点需要说明。第一meta charsetutf-8必须写不写的话中文标题在部分浏览器里会乱码。第二viewport标签是响应式的基础没有它手机浏览器会自动放大页面宽度适配全失效。第三link relstylesheet hrefcss/style.css的路径是相对于 index.html 的如果 HTML 在根目录CSS 在 css 子目录就必须写css/style.css。我把页面所有板块放进.page容器方便统一控制最大宽度和居中。2.3 先写全局样式用 CSS 变量定好整站主色动手做板块之前先把全局样式铺好。推荐用 CSS 自定义属性变量管理颜色、圆角和阴影:root { --brand-green: #006241; --brand-dark: #1e3932; --text-dark: #212529; --text-light: #6c757d; --bg-light: #f7f7f7; --white: #ffffff; --radius: 12px; --shadow: 0 8px 24px rgba(0, 0, 0, 0.08); --transition: all 0.25s ease; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Helvetica Neue, Arial, PingFang SC, Microsoft YaHei, sans-serif; color: var(--text-dark); background: var(--white); line-height: 1.6; } .page { max-width: 1200px; margin: 0 auto; }这段代码里#006241和#1e3932是从星巴克绿色系里取出的两个深浅色前者用于按钮、链接强调后者用于页脚和深色背景。box-sizing: border-box让 padding 和 border 不会把盒子撑大避免布局错位。.page设置max-width: 1200px再水平居中比满屏设计更接近品牌官网的克制感。变量定义完成之后所有板块都写var(--brand-green)后续想换主题色只需要改:root一处。这个习惯也是工作中常用的“网页设计美化 skill”把视觉参数集中起来而不是散落在几十条规则里。字体方面中文字体放在英文后面避免 Linux 或老版本 Windows 找不到 PingFang SC 时退化到系统默认。3. 星巴克咖啡网站主页的板块样式导航、Banner、卡片与页脚有了骨架和全局变量接下来把五个板块逐个落地。这一章从顶向下写代码都基于前面定义的 CSS 变量实际使用的时候直接复制到 css/style.css 对应位置即可。HTML 结构可以和 CSS 放在同一段里对照看。3.1 顶部导航栏粘性定位与 CSS 鼠标移入事件导航是用户进入页面后第一眼看到的东西星巴克官网风格的导航通常左边是品牌 logo右边是菜单链接。这里用 flex 分布两端整条导航固定在视口顶部header classnavbar div classlogo img srcimages/logo.png alt星巴克咖啡 /div ul classnav-menu lia href#首页/a/li lia href#菜单/a/li lia href#门店/a/li lia href#关于我们/a/li /ul /header.navbar { position: sticky; top: 0; z-index: 100; display: flex; justify-content: space-between; align-items: center; height: 68px; padding: 0 40px; background: var(--white); box-shadow: var(--shadow); } .nav-menu { display: flex; gap: 28px; list-style: none; } .nav-menu a { text-decoration: none; color: var(--text-dark); font-size: 14px; font-weight: 600; transition: color 0.2s ease; } .nav-menu a:hover { color: var(--brand-green); }position: sticky是导航的视觉核心它让导航在滚动时保持吸顶而且不需要额外给父容器留占位效果优于position: fixed。justify-content: space-between让 logo 在最左、菜单在最右两侧留白由padding: 0 40px控制。这里的关键实现是a:hover它就是热词里说的“CSS 鼠标移入事件”——不需要写 JavaScript鼠标指针移入菜单项时文字会从深灰变成品牌绿。配合transition: color 0.2s ease变色不是跳变而是渐变。3.2 主视觉 Banner用渐变替代大图也能出效果Banner 是展示品牌调性的主战场。很多大作业在这一块直接放一张高清咖啡图但图片体积大、加载慢而且如果只给一张背景图文字可读性受图片内容影响很大。我一般用两层实现底层用 CSS 渐变模拟星巴克经典的绿-深绿过渡上层放标题和按钮文字视觉稳定又不依赖外部资源。section classbanner div classbanner-content h1用心让每一杯咖啡有温度/h1 p星巴克咖啡从一颗咖啡豆开始与你分享每一刻。/p a href# classbtn-primary查看菜单/a /div /section.banner { min-height: 420px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #006241 0%, #0a7a4a 55%, #1e3932 100%); text-align: center; color: #fff; } .banner h1 { font-size: 42px; line-height: 1.3; } .banner p { font-size: 16px; margin-top: 12px; color: rgba(255, 255, 255, 0.92); } .btn-primary { display: inline-block; margin-top: 24px; padding: 12px 32px; background: #fff; color: #006241; text-decoration: none; border-radius: 999px; font-weight: 700; transition: var(--transition); } .btn-primary:hover { background: #f0f0f0; transform: translateY(-2px); }min-height: 420px而不是固定height: 420px是因为小屏幕下内容高度可能超过 420px固定高度会把按钮裁掉。align-items: center配合justify-content: center让内容水平和垂直都居中。渐变linear-gradient(135deg, ...)的方向是从左上到右下颜色从亮绿过渡到深绿再压到深色形成纵向的视觉纵深。圆角按钮的border-radius: 999px用超大值把矩形变成胶囊这是星巴克官网按钮的常见特征。3.3 菜单卡片区grid 三列与卡片上浮效果菜单区是整个主页信息量最大的板块一般会用 3 到 6 张卡片展示咖啡产品。卡片需要统一宽度、整齐对齐、鼠标悬停时有反馈。用 grid 网格是最省心的方案它能自动处理间隙和对齐不需要手动算百分比。section classmenu h2 classsection-title本周推荐/h2 div classmenu-grid article classmenu-card img srcimages/coffee-1.jpg alt拿铁咖啡 div classcard-body h3拿铁/h3 p浓缩咖啡与蒸煮牛奶的经典融合/p span classprice¥32/span /div /article !-- 其他卡片结构相同 -- /div /section.menu { padding: 60px 40px; } .section-title { text-align: center; font-size: 30px; margin-bottom: 40px; } .menu-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; } .menu-card { background: var(--bg-light); border-radius: var(--radius); overflow: hidden; transition: transform 0.25s ease, box-shadow 0.25s ease; cursor: pointer; } .menu-card:hover { transform: translateY(-6px); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12); } .menu-card img { width: 100%; height: 200px; object-fit: cover; display: block; } .card-body { padding: 20px 20px 24px; } .card-body h3 { font-size: 18px; } .card-body p { font-size: 14px; color: var(--text-light); margin: 8px 0; } .price { font-size: 16px; font-weight: 700; color: var(--brand-green); }grid-template-columns: repeat(3, 1fr)表示一行等宽三列1fr是剩余空间的一份三列会自动平分容器宽度。gap: 24px同时设置行和列间隙比在每张卡片上写 margin 更干净。卡片 hover 时的上浮效果由transform: translateY(-6px)完成这是一个纯粹的合成层动画不会引起页面重排性能远好于修改top值。img上的height: 200px和object-fit: cover需要一起看图片宽度撑满卡片高度固定 200px超出的部分被裁切而不是拉伸这样即使原图比例不一致三张卡片的图片区域也能保持同样高度。3.4 门店信息区与页脚两栏布局和深色收尾菜单卡片下面安排一个门店展示区左边放门店图片右边放地址、营业时间、电话等信息形成两栏布局。再往下是页脚用深绿色--brand-dark承接页面重量颜色正好与顶部的浅色形成首尾呼应。section classstore div classstore-info h2找到最近的星巴克/h2 p北京市朝阳区某某路 88 号/p p营业时间7:00 - 22:00/p p联系电话010-8888 6666/p /div div classstore-img img srcimages/store.jpg alt星巴克门店 /div /section footer classfooter p© 星巴克咖啡网页设计大作业/p /footer.store { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 60px 40px; align-items: center; } .store-info h2 { font-size: 28px; margin-bottom: 16px; } .store-info p { font-size: 15px; color: var(--text-light); line-height: 2; } .store-img img { width: 100%; border-radius: var(--radius); } .footer { background: var(--brand-dark); color: rgba(255, 255, 255, 0.8); text-align: center; padding: 32px 20px; font-size: 13px; }两栏用grid-template-columns: 1fr 1fr实现左右等宽align-items: center让图片和信息在垂直方向上居中对齐避免一栏高、一栏矮时错位。图片border-radius加圆角后视觉更柔和这也是品牌型官网常用的处理手法。页脚就不需要复杂结构了一个段落、深色底、居中对齐放上版权声明即可。到这里完整的星巴克咖啡主页静态版本已经跑通。但能不能拿高分关键不在这些基础样式而在接下来的美化细节和兼容性排查。4. 网页设计美化 skillCSS 变量、响应式断点与路径排错很多同学的代码能跑但页面看起来“像 2010 年的网站”。差别往往不在功能而在几个容易被忽略的细节颜色有没有统一管理、间距有没有节奏、小屏幕下有没有处理换行和堆叠、图片路径在换设备后有没有失效。这一节把这些问题逐个解决。4.1 用 CSS 变量统一品牌色实现一键换肤前面在:root里定义了--brand-green现在它应该已经在导航 hover、Banner 渐变、按钮、价格、页脚等多个位置被引用。大作业里常见的错误是又写死了一堆近似色#006241、#0a7a4a、#008450混在一起用户看不出到底是绿还是青。我一般建议把颜色收敛成下面这套配置:root { --brand-green: #006241; --brand-green-light: #0a7a4a; --brand-dark: #1e3932; --bg-light: #f7f7f7; --line: #e5e5e5; }--brand-green-light用于 Banner 渐变的中间色--line用于卡片边框或分割线。想验证变量是否统一直接在浏览器开发者工具里选中任意一个绿颜色元素把--brand-green的值改成深棕#5b3a29整站所有引用它的地方会同时变色。这就是“换肤”的最小实现也是在代码评审里最容易被看到的亮点。4.2 字号、间距与阴影的参数表美化到位的第二个关键是参数节奏。字号体系不是随便几个px而是一条清晰的分级线间距也不是每个板块各写各的而是从 8px 起步成倍递增。参考下面这组参数直接套用到样式里就不会出现“标题大得突兀、正文小得费眼”的问题场景推荐值说明页面最大宽度1200px居中超出留白导航高度68px移动端可压到 56pxH1 标题36-42pxBanner 内使用板块标题26-30px菜单区标题卡片标题18px卡片内的 h3正文15-16px全局默认辅助说明13-14px价格、页脚卡片间隙24pxgrid gap页面左右留白40px大于 768px 视口圆角12px卡片统一按钮圆角999px胶囊按钮阴影的使用也要克制。默认卡片阴影0 8px 24px rgba(0, 0, 0, 0.08)用于静态状态hover 加深到0 12px 32px rgba(0, 0, 0, 0.12)。不要让阴影覆盖所有元素否则页面会看起来“脏”。把阴影留给需要浮起来的部分——导航、卡片、按钮就够了。4.3 图片相对路径与本地双开时的乱样排查“我明明写了图片怎么换台电脑打开就裂了”这是网页设计大作业里最频繁的排错场景。原因基本集中在相对路径上。HTML 里引用 CSS 或图片时路径是相对于当前 html 文件的CSS 文件里url()引用图片时路径是相对于 CSS 文件的。假设目录长这样starbucks-web/ ├── index.html └── css/ ├── style.css └── images/ └── banner.jpg在 style.css 里写url(images/banner.jpg)是错误的因为相对于 css/ 目录应该先回到上一级再进入 images.banner { background-image: url(../images/banner.jpg); }这里的../表示上一级目录../images/banner.jpg就是从 css 目录退回根目录再进入 images 目录找到图片。图片最终放进根目录的 images 文件夹后HTML 里的img srcimages/banner.jpg与 CSS 里的url(../images/banner.jpg)指的其实是同一个物理文件只是两边的参照点不同。如果页面出现“图片裂了但路径看起来没写错”的情况直接打开 Chrome 开发者工具的 Network 面板刷新页面红色条目就是加载失败的资源鼠标放上去会显示完整路径再和实际目录比对就能定位。4.4 无障碍细节alt、焦点样式与语义标签美化并不只是“好看”还包括可访问性。给图片写alt属性是最基本的此外建议给所有可交互元素加上键盘焦点样式。浏览器默认的蓝色虚线 outline 并不丑但很多同学觉得影响美观直接删掉这是不推荐的。正确做法是保留焦点样式只是换成品牌色a:focus-visible { outline: 2px solid var(--brand-green); outline-offset: 2px; }outline-offset: 2px让轮廓和元素边缘隔开一点视觉上更清晰。这段代码会让键盘用户按 Tab 浏览菜单时当前聚焦的链接显眼地亮出绿色描边。在大作业答辩现场指导老师如果演示键盘操作这一处细节很容易留下印象。5. 源码交付前的验证技巧开发者工具、换肤与文件检查代码写完不等于作业完成交付之前至少要做三件事。第一件是打开开发者工具把页面切换到移动端宽度看看布局有没有崩第二件是验证 CSS 变量确实接管了整站主要颜色第三件是重新模拟“把压缩包发给别人”的场景确认双击 index.html 后全部资源正常加载。5.1 用开发者工具快速定位布局问题在 Chrome 里按 F12 打开开发者工具然后点左上角的设备切换图标或用快捷键 CtrlShiftM把视口切到 375px、768px、1024px 三档分别检查导航是否换行、菜单卡片是否变成单列、Banner 文字是否溢出。绝大多数样式问题都能在 Elements 面板里实时修改后立刻看到效果改满意了再回代码里同步。如果某个元素的位置不对选中这个元素后看右侧 Styles 面板找到它的 margin、padding、width直接改数字试试不用先回编辑器再回来刷新。注意检查box-sizing是否全局设置如果没设加了 padding 的盒元素宽度会超出预期卡片就会出现错位。5.2 用 CSS 变量验证整站风格在开发者工具的 Elements 面板中找到html元素Styles 面板里能看到:root下的全部变量。双击--brand-green的值一栏改成任意颜色比如#c0392b页面里所有引用这个变量的地方会同步变成暗红色。如果只有部分区域变色而另一部分没变说明有些颜色是写死的去代码里把它们替换成变量引用。这个验证同时也是一项“挑刺”手段。颜色没有高度统一的话界面会产生一种不易察觉的廉价感。通过一次全局替换整站色调立刻协调这就是为什么我把 CSS 变量放在第一篇就建好的原因。对照上面的参数表如果某些板块明显超出节奏也可以顺手在这一步统一掉。5.3 打包前的最后核对清单压缩成 zip 之前按下面这个顺序过一遍文件确认 index.html 在压缩包第一层不是嵌套在多层文件夹里css/ 目录下只有一个 style.css 或几个可读的样式文件images/ 里的图片命名不含中文和空格建议统一为logo.png、banner.jpg、coffee-1.jpg这种形式HTML 里所有src和href都以images/或css/开头而不是C:/或http://。最后把压缩包解压到另一个目录双击 index.html确认每个板块都能正常显示。如果电脑本地没有安装中文字体页面会退化到系统默认字体这不是代码问题但可以在答辩时说明字体栈的 fallback 策略。这一套流程走完这份“网页设计大作业基于 htmlcss 实现的星巴克咖啡网站主页源代码”就是一份可以直接交付的作品而不是一堆能打开但经不起追问的代码。本文还有配套的精品资源点击获取
返回列表