仿写小米网站首页 顶部导航栏部分

news/2024/5/20 5:11:30/文章来源:https://blog.csdn.net/qq_45234177/article/details/117194192

说明:

1.由于本人只学习了部分html和css,所以本文没有涉及到js部分。
2.本文并没有实现小米官网首页的全部功能,还存在很多问题。如果以后技能提升,会继续更新实现未完成的功能。
3.这个练习会为分几篇文章介绍从最初分析到最后实现的代码,如果发现问题或者有更好的方法请联系本人探讨更正。
4.总体框架分析见博客 《仿写小米官网 简单的HTML+CSS练习》

目标:仿写小米官网的顶部导航栏:
在这里插入图片描述
初步HTML元素分析:

      观察可知,整体部分为一个整个的块,使用一个div元素。中间有一个表示内容区的块存放要显示的内容。内容区分为两部分(左侧导航栏和右侧导航栏),都用ul元素实现,且其中的每一项都是一个链接,所以每个li中都是一个链接。除此之外,每个li后面又有一个隔开符,也要用li隔开。整体框架如下:
<div class="all"><div class="top-bar"><div class="content"><ul class="left-bar"><li><a href="#">小米商城</a>    </li><li><span class="line"></span></li></ul><ul class="right-bar"></ul></div></div>
</div>

CSS样式分析:

  1.对于整个的块div,宽度为整个页面宽度,需设定高度。上部需要设置边框。2.对于内容区,高度为父元素高度,需设置一定宽度,用 margin:0 auto;使其居中。3.对于内容区中左部导航栏,其中的li需要靠左横向排列。li中的链接要设置鼠标移入样式。其中鼠标移入“下载app”这项内容有一个下拉框,所以要添加下拉框元素和样式。4.对于内容区中右部导航栏,其中的li需要靠右横向排列。li中的链接要设置鼠标移入样式。其中“购物车(0)”这项内容中有一个图标,需要引入图标字体来实现,鼠标移入 “购物车(0)”这项内容有一个下拉框,所以要添加下拉框元素和样式。

代码实现:

<!DOCTYPE html>
<html lang="zh">
<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>小米商城 - 小米11 Ultra、Redmi K40 Pro、MIX FOLD,小米电视官方网站</title><link rel="stylesheet" href="./reset.css"><link rel="stylesheet" href="./iconfont/fontawesome-free-5.15.3-web/css/all.css"><style>body{/* 设置整个字体样式 */font: 14px/1.5 Helvetica Neue,Helvetica,Arial,Microsoft Yahei,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,sans-serif;}.top-bar{width: 100%;height: 40px;background-color: #333;/* 设置上边框 */border-top: 1px solid #DADCE0;font-size: 14px;}.top-bar a{color: #b0b0b0;font-size: 12px;/* 去掉链接文字的下划线 */text-decoration: none;}/* 鼠标移入时样式 */.top-bar a:hover{color: white;}.top-bar .content{width: 1226px;height: 40px;margin: 0 auto;line-height: 40px;}.top-bar .left-bar{height: 100%;float: left;}.top-bar .left-bar li{float: left;}.right-bar{float: right;}.right-bar li{float: left;}/* 分隔符样式 */.content .line{display: inline-block;width: 1px;height: 12px;margin:  15px 8px;background-color: #424242;}#shopping-car{display: inline-block;width: 105px;height: 40px;margin-left: 25px;padding-left: 15px;background-color: #424242;position: relative;z-index: 999;}/* 购物车内容中图标文字样式 */#shopping-car .fas{color: #b0b0b0;}/* 设置下拉框中的小三角 */.drop-box1::after{display: none;content: '';width: 0px;height: 0px;border: 8px solid transparent;border-top: none;border-bottom-color: white;position: absolute;bottom: 0px;left: 0px;right: 0px;margin: 0 auto;}/* 下拉二维码 */.drop-box1{display: block;    position: relative;}.download{/* display: none; */position: absolute;z-index: 999;background-color: white;box-shadow: 0 1px 5px #aaa;top: 40px;left: -30px; width: 124px;height: 0px;overflow: hidden;/* 设置过渡样式 */transition: height 0.3s;}.download img{/* display: block; */width: 90px;height: 90px;margin: 18px auto 0px;}.download span{margin-left: 17px;    }.drop-box1:hover .download,.drop-box1:hover::after{display: block;height: 161px;}/* 购物车下拉框 */.drop-box2{display: none;width: 316px;height: 100px;line-height: 100px;background-color: white;/* 开启定位并设置位置 */position: absolute;z-index: 997;top: 40px;right: 0;/* 设置阴影 */box-shadow: 0 5px 5px rgba(170, 170, 170, 0.425);}.drop-box2 div{font-size: 12px;margin: 0 65px;        }#shopping-car:hover .drop-box2{display: block;}#shopping-car:hover{background-color: white;    border-bottom: 2px solid white;}#shopping-car:hover .fas{color: orange;}#shopping-car:hover a{color: orange;}</style>
</head>
<body><div class="all"><div class="top-bar"><div class="content"><ul class="left-bar"><li><a href="#">小米商城</a>    </li><li><span class="line"></span></li><li><a href="#"> MIUI</a></li> <li><span class="line"></span></li><li><a href="#">IoT</a> </li><li><span class="line"></span></li><li><a href="#">云服务</a> </li><li><span class="line"></span></li><li><a href="#">天星数科</a> </li><li><span class="line"></span></li><li><a href="#">有品</a></li><li><span class="line"></span></li><li><a href="#">小爱开放平台</a> </li><li><span class="line"></span></li><li><a href="#">企业团购</a> </li><li><span class="line"></span></li><li><a href="#">资质证照</a> </li><li><span class="line"></span></li><li><a href="#">协议规则</a> </li><li><span class="line"></span></li><li class="drop-box1"><a href="#">下载app</a> <!-- 下拉框 --><div class="download" ><img src="./img/download.png" alt="二维码"><span>小米商城APP</span></div></li><li><span class="line"></span></li><li><a href="#">智能生活</a> </li><li><span class="line"></span></li><li><a href="#">Select Location</a> </li></ul><ul class="right-bar"><li><a href="#">登录</a></li><li><span class="line"></span></li><li><a href="#">注册</a></li><li><span class="line"></span></li><li><a href="#">消息通知</a></li><li id="shopping-car"><div class="shopping-box"><!-- 图标文字 --><i class="fas fa-shopping-cart"></i><a href="#">购物车(0)</a></div>    <div class="drop-box2"><div>购物车中还没有商品,赶紧选购吧!</div></div></li></ul></div></div></div>
</div>
</body>
</html>

最终结果:
在这里插入图片描述

小结:
1.在内容区中设置 line-height 与 height 相等,可以使子元素中的文字在其中垂直居中。
2.在内容区中,设置两个 ul 中内容浮动时,可以先分别设置两个 ul 浮动,再设置 ul 中的 每个 li 靠左浮动,这样,右侧导航栏就会按正确顺序排列。
3.分隔符要单独放在一个 li 元素里,不然格式就会混乱。
4.开启相对定位后会根据 最近的开启定位的父元素来定位,所以开启相对定位时,要为其父元素开启定位,一般用 position: relative ,这个定位不会对元素产生影响。
5.用伪类生成小三角形,以.drop-box1类为例:

.drop-box1::after{display: none;content: '';width: 0px;height: 0px;border: 8px solid transparent;border-top: none;border-bottom-color: white;position: absolute;bottom: 0px;left: 0px;right: 0px;margin: 0 auto;}

6.用 transition 设置过渡效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_814977.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

仿写小米网站首页 产品导航栏

说明&#xff1a; 1.由于本人只学习了部分html和css&#xff0c;所以本文没有涉及到js部分。 2.本文并没有实现小米官网首页的全部功能&#xff0c;还存在很多问题。如果以后技能提升&#xff0c;会继续更新实现未完成的功能。 3.这个练习会为分几篇文章介绍从最初分析到最后实…

仿写小米网站首页 中间部分

说明&#xff1a; 1.由于本人只学习了部分html和css&#xff0c;所以本文没有涉及到js部分。 2.本文并没有实现小米官网首页的全部功能&#xff0c;还存在很多问题。如果以后技能提升&#xff0c;会继续更新实现未完成的功能。 3.这个练习会为分几篇文章介绍从最初分析到最后实…

github网站仓库建立及资料上传

github网站仓库建立及资料上传 1.在https://github.com 网站按照页面提示注册新用户&#xff0c;注册后使用关联邮箱和登录密码登录网站。 2.登录账户新建自己的仓库用于储存资料。 github新建仓库操作步骤如下&#xff1a; 3.github网站上传资料流程详解 4.在Hbulider中运…

织梦系统网站主域名后缀index.html对优化有影响吗,用织梦dedecms做网站的六大SEO优化注意事情...

一个排名好的网站离不开好的cms&#xff0c;当然不同cms各有各的好处&#xff0c;因此我们在上线新网站的时候&#xff0c;要针对不同的情况因地制宜&#xff0c;选择不同的网站管理系统来做SEO优化&#xff0c;现在使用比较流行的cms是织梦dedecms&#xff0c;今天就针对使用该…

win服务器常用维护命令,PowerShell命令大全(图文详解)_网站服务器运行维护,powershell,命令大全,win...

win10电源高性能不见了怎么办_网站服务器运行维护win10电源高性能不见了的解决方法是&#xff1a;1、打开控制面板&#xff0c;进入电源选项&#xff1b;2、点击【创建电源计划】选项&#xff1b;3、勾选【高性能】选项&#xff0c;点击【下一步】&#xff1b;4、点击【创建】即…

解决方案:GitHub搭建的网站突然不能访问了

之前在学习htmlcss前端相关知识的时候&#xff0c;通过搭建GitHub免费提供的网站&#xff0c;将自己实现的简单的demo网页放在了网站上。 之前访问的地址如下&#xff1a; https://zeyangwang.github.io/index.html之后很长一段时间没有去理睬&#xff0c;想起来收藏夹中的这…

php做网站步骤_自己做网站,4个步骤轻松搞定

如果您打算开始自己做网站&#xff0c;但是不知道从哪里开始&#xff0c;那么您来对地方了。当你看到这个标题的时候&#xff0c;是的&#xff0c;4个步骤轻松搭建属于自己的网站。而且您无需了解任何代码、网站设计或网站开发方面的知识。只需要跟着我的步骤&#xff0c;可以在…

华为服务器如何设置网站dns,华为ensp服务器dns配置

华为ensp服务器dns配置 内容精选换一换内网下载镜像失败基本上都是由于DNS配置问题导致的&#xff0c;可以采用以下两种方法进行修改。方法一&#xff1a;编辑“/etc/resolv.conf”文件&#xff0c;在/etc/resolv.conf中新增一个内网DNS服务器地址&#xff0c;具体的内网DNS地址…

深度学习算法实验平台网站的设计与实现

本文课题构建一个深度学习算法实验平台&#xff0c;是为颈动脉医疗图像深度学习识别斑块提供服务的。制作一个集成的深度学习工具包&#xff0c;颈动脉医疗图像的深度学习代码都可以在本平台上运行&#xff0c;平台基于TensorFlow、Caffe、CNTK、Keras、Theano等多种深度学习框…

基于Python与Node.js实现的医疗图像库在线存储与检索平台网站

图像数据相对于一般的文本数据来说管理起来更具有复杂性。传统的图像存储方式有两种&#xff0c;一是直接将图像存入数据库&#xff0c;二是将图像存放在文件系统&#xff0c;而将路径存放在数据库&#xff0c;前一种基于“大字段数据最好不要存放在数据库中”这种规则一般不被…

基于C#和SQL SERVER的校园知识问答论坛网站的设计与实现

本文使用Asp.Net Core 和MsSqlServer技术&#xff0c;详细说明开发校园知识论坛系统的开发。校园知识论坛系统是基本B/S模式的一种交互性极强的电子信息服务系统。它为使用者提供一个交流的平台&#xff0c;每一个用户都可以在上面问答知识&#xff0c;获取信息&#xff0c;发布…

基于JavaScript和MySQL的文化平台网站的设计与实现

点击此处下载文档和源码中国文化源远流长&#xff0c;自古就有文人雅士作诗赋词&#xff0c;舞文弄墨&#xff0c;尽显风雅。现今则有歌手作家思想成文&#xff0c;心绪为曲&#xff0c;亦现儒雅。文化是传承的&#xff0c;是流传不息的&#xff0c;也是众多人所追求的。从各种…

基于JSP的MVC框架实现的图书推荐系统展示平台网站

推荐系统是目前互联网中最常见的一种智能产品形式。由于网络中信息量的快速增长以及图书出版行业出版量的攀升&#xff0c;人们需要一种办法&#xff0c;来解决信息过载的问题。此外&#xff0c;用户访问网络是为了获取信息&#xff0c;但并不是所有的访问都有很强的目的性&…

基于JavaEE轻量级SSM框架和Maven构建的校友录网站设计与实现

摘要 校友作为高校的一种重要资源&#xff0c;在促进高校专业教学改革、募集高校筹资办学途径、促进校企合作、加强毕业生感情交流、提升大学生就业质量等方面发挥着重要作用。然而目前我校并没有一个系统可以追溯毕业生的情况。因此&#xff0c;校友们需要一个平台&#xff0…

基于JAVA FX实现的酒店预订系统网站

1 产品概述 参考酒店预订系统用例文档和酒店预订系统软件需求规格说明文档中队产品的概括描述。酒店预订系统主要是应用于网上预定远程酒店订单的在线系统。 2 用户界面层的分解 根据需求&#xff0c;系统存在30个用户界面&#xff1a;客户界面&#xff0c;酒店工作人员界面…

基于Keras和tensorflow深度学习Python实现的支持人脸识别和情绪分类的社区APP网站和微信小程序

1 项目介绍 1.1 背景 视觉使人类得以感知和理解周边的世界&#xff0c;人的大脑皮层大约有 70%的活动在处理 视觉相关信息。计算机视觉即通过电子化的方式来感知和理解影像&#xff0c;以达到甚至超 越人类视觉智能的效果。 从 1966 年学科建立&#xff08;MIT&#xff1a;T…

ASP.NET2.0实现网站的自动升级

网站的自动升级主要是要实现从一台服务器上下载某些文件到本服务器上&#xff0c;然后对下载下来的文件进行更新等操作。比如&#xff0c;现在有服务器A,服务器B和客户端C。作为COM公司开发的产品DIV网站系统被安装到服务器B上&#xff0c;而它的更新设置及更新文件则在服务器A…

基于Node.js的医药搜索平台网站设计与实现

随着科技的快速发展, 越来越多的医药公司积攒了大量的医药文档。这些文档资源如何高效、快速的被管理员管理&#xff0c;以及被用户检索&#xff0c;如何统一的实现资源管理与资源开放&#xff0c;成为了当下医药公司待解决的问题。 普通的、零散的、单一的文档管理方式已经不…

基于JAVA EE和豆瓣API实现的电影评论网站

本网站通过对网上最新的热点影片的分门别类&#xff0c;采取简洁、直观的方式让观看者体验到前所未有的舒适感&#xff0c;通过对网站界面布局&#xff0c;信息采集&#xff0c;会员管理&#xff0c;观看者的互动等功能的规划来实现崭新的视听环境。 本网站提供的电影资源和内…

10个免费的PHP脚本资源下载网站推荐

当你试图管理站点内容&#xff0c;PHP是个很有效的工具&#xff0c;它可以被使用在不同的应用上&#xff0c;比如数据库&#xff0c;比如广告管理&#xff0c;内容组织等等。 下面的免费的PHP脚本资源&#xff0c;可以帮助你的网站为访问者提供更佳的动态体验。 Free-Php.net P…