Html CSS Javascript实现星巴克网站的Demo-传统网页布局(一)

本文主要是介绍Html CSS Javascript实现星巴克网站的Demo-传统网页布局(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Html,Css,JavaScript实现星巴克网站的Demo-传统网页布局(一)

本文实现了星巴克网站的传统布局方法。
图片素材放在百度网盘
链接:https://pan.baidu.com/s/1kzjzY3NNlOEH1qWMgVEzZw
提取码:lpq1
现提供完整代码


效果图,点击下方的种类可实现变化
在这里插入图片描述

文章目录

  • Html,Css,JavaScript实现星巴克网站的Demo-传统网页布局(一)
  • 前言
  • 一、HTML,JS部分
  • 二、CSS部分
  • 总结


前言

文章是照着油管up在线教程编写


提示:以下是本篇文章正文内容,下面案例可供参考

一、HTML,JS部分

文件的说明已经写在注释当中

`
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Starbuks</title><link rel="stylesheet" href="style.css"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Tangerine">
</head><body><section><div class="circle"></div><header><a href="#"><img src="images/logo.png" class="logo"></a><ul><li><a href="#">Home</a><a href="#">Menu</a><a href="#">What's New</a><a href="#">Contact</a></li></ul></header><div class="content"><div class="textBox"><h2>It's not just Coffee <br>It's <span>Starbucks</span></h2><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmodtempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. </p><a href="#">Learn More</a></div><div class="imgBox"><!-- 默认为img1,通过点击小图标会使得图片地址变化 --><img src="images/img1.png" class="starkbucks"></div></div><ul class="thumb"><li><img src="images/thumb1.png" onclick="imgSlider('images/img1.png');changeCircleColor('#017143')"></li><li><img src="images/thumb2.png" onclick="imgSlider('images/img2.png');changeCircleColor('#eb7495')"></li><li><img src="images/thumb3.png" onclick="imgSlider('images/img3.png');changeCircleColor('#d752b1')"></li></ul><ul class="sci"><li><a href="#"><img src="images/facebook.png"></a></li><li><a href="#"><img src="images/twitter.png"></a></li><li><a href="#"><img src="images/instagram.png"></a></li></ul></section><script type="text/javascript">// 更换星巴克饮品种类function imgSlider(anything) {document.querySelector('.starkbucks').src = anything;}//使得更换半圆的颜色function changeCircleColor(color) {const circle = document.querySelector('.circle')circle.style.background = color;}</script>
</body></html>

二、CSS部分

代码如下(示例):

/* 导入谷歌字体 */
@import url('https://fonts.googleapis.com/css?family=Poppins:200,300,400,500,600,700,800,900&display=swap');*{margin: 0;padding: 0;box-sizing: border-box;font-family: 'Poppins' ,sans-serif;
}section{position: relative;width: 100%;min-height: 100vh;padding: 0 100px;display: flex;justify-content: space-between;align-items: center;background-color: #fff;
}header{position: absolute;top: 0;left: 0;width: 100%;padding: 20px 100px;display: flex;/* 头部logo与 ul 在俩端 */justify-content: space-between;align-items: center;
}header .logo{position: relative;max-width: 80px;
}header ul{position: relative;display: flex;
}header ul li {/* 取消圆点 */list-style: none;
}header ul li a {display: inline-block;color: #333;font-weight: 400;margin-left: 40px;text-decoration: none;
}
.content{position: relative;width: 100%;display: flex;/* 文字与图片左右分布 */justify-content:space-between;align-items: center;
}.content .textBox{position: relative;max-width: 600px;
}.content .textBox h2{color: #333;/* em为相对单位 */font-size: 4em;line-height: 1.4em;font-weight: 500;
}.content .textBox h2 span{color: #017143;/* 这里em相对于h2而言 */font-size: 1.2em; font-weight: 900;
}
.content .textBox a{display: inline-block;margin-top: 20px;padding: 8px 20px;background-color: #017143;color: #fff;border-radius: 40px;font-weight: 500;letter-spacing: 1px;text-decoration: none;
}.content .imgBox{width: 600px;display: flex;/* 贴在右边 */justify-content: flex-end;padding-right: 50px;margin-top: 100px;
}
.content .imgBox img{max-width: 340px;
}
.thumb{position: absolute;left: 50%;bottom: 20px; /* 通过left:50% ,tanslate(-50%)起到居中的效果 */transform: translateX(-50%);display: flex;
}
.thumb li{list-style: none;display: inline-block;margin: 0 20px;cursor: pointer;transition: 0.5s;
}.thumb li:hover{/* 经过li后 向上平移15像素点 */transform: translateY(-15px);
}.thumb li img{max-width: 60px;
}
.sci{position: absolute;/* 起到垂直方向的居中 */top: 50%;right: 30px;transform: translateY(-50%);display: flex;justify-content: center;align-items: center;flex-direction: column;
}.sci li{list-style: none;
}.sci li a {display: inline-block;margin: 5px 0;transform: scale(0.6);/* 颜色反转 */filter: invert(1);
}
.circle{position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: #017143;/* 画右下角的圆 */clip-path: circle(600px at right 800px);
}

总结

提示:这里对文章进行总结:
该demo主要利用了flex布局。加深了flex布局的应用。以及应用了一些css3的特性。
下一步 变成响应式布局响应式布局<点击即可

这篇关于Html CSS Javascript实现星巴克网站的Demo-传统网页布局(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_49896911/article/details/119752509
http://www.chinasem.cn/article/319800

相关文章

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

Java Predicate接口定义详解

《JavaPredicate接口定义详解》Predicate是Java中的一个函数式接口,它代表一个判断逻辑,接收一个输入参数,返回一个布尔值,:本文主要介绍JavaPredicate接口的定义... 目录Java Predicate接口Java lamda表达式 Predicate<T>、BiFuncti

Pydantic中model_validator的实现

《Pydantic中model_validator的实现》本文主要介绍了Pydantic中model_validator的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录引言基础知识创建 Pydantic 模型使用 model_validator 装饰器高级用法mo

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++