【Web前端实操21】商城官网_白色导航

news2024/11/28 10:45:00

        今日份实现白色导航栏部分,也就是第三部分,效果如图中划线所示:        本次实现代码如之前的全局样式不再赘述,如有需要可以去我博客的Web前端实操19或者20自行查看。

        本次主要更新mi.css和index.htm。

实现导航栏所需要的CSS样式知识小贴士:
  1. 设置菜单项的样式:
    • 设置菜单项为display: inline-block;,使菜单项在一行显示。
    • 设置菜单项的padding属性来调整菜单项的内边距,以增加菜单项的可点击区域。
    • 设置菜单项的背景颜色、字体颜色、字体大小等样式。
    • 设置菜单项之间的间距,可以使用margin-right属性来设置右边距。
  2. 设置菜单项悬停时的样式:
    • 使用hover伪类选择器来设置鼠标悬停时的样式。
    • 可以修改背景颜色、字体颜色等样式,以突出鼠标悬停的菜单项。
  3. 设置导航栏的样式:
    • 设置导航栏的宽度、高度、背景颜色等样式。
    • 可以使用display: flex;来将导航栏中的菜单项水平排列,并可以使用justify-content属性来调整菜单项的对齐方式。
  4. 设置导航栏的位置:
    • 可以使用position属性来设置导航栏的定位方式,如fixedabsolute等。
    • 使用toprightbottomleft属性来调整导航栏的位置。
  5. 其他样式调整:
    • 可以使用box-shadow属性来给导航栏添加阴影效果。
    • 可以使用transition属性来调整菜单项悬停时的过渡效果。

        以上是实现导航栏所需要的一些CSS样式知识,具体样式效果可以根据实际需求进行调整。

相关代码如下:
mi.css:
/* 头部样式开始 */
.header{
    width: 100%;
    height: 120px;
    overflow: hidden;
    position: relative;
}
 
.header img{
    height: 120px;
    /* 图片,以中间开始渲染 */
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
/* 头部样式结束 */
 
/* 黑色导航样式开始 */
/* 黑色背景容器主体,设置宽高,设置行高,设置背景色,设置文字大小 */
.black-nav{
    width: 100%;
    height: 40px;
    line-height: 40px;
    background-color: #333;
    font-size: 12px;
}
/* 设置内容居中和宽度 */
.wrap{
    width: 1226px;
    margin: 0 auto;
}
/* 设置左导航整体往往左浮动 */
.black-nav-left{
    float: left;
}
/* 设置右导航整体往右浮动 */
.black-nav-right{
    float: right;
}
/* 设置两个导航栏里面的列表左浮动,相对定位 */
.black-nav li{
    float: left;
    position: relative;
}
/* 设置超链接文本颜色 */
.black-nav a{
    color: #b0b0b0;
}
/* 设置超链接旁边连接符的颜色和边距 */
.black-nav span{
    color: #424242;
    margin: 0 3.6px;
}
/* 设置下载APP超链接下的图片块效果 */
.download{
    /* 设定宽高、背景色以及绝对定位,离左边的距离和上边的距离 */
    width: 124px;
    height: 0;
    background: #fff;
    /* 有阴影效果 */
    box-shadow: 0 1px 5px #aaa;
    position: absolute;
    top: 40px;
    left: 50%;
    /* 调整图片块的位置 */
    margin-left: -62px;
    overflow:hidden;
    /* 过渡效果 */
    transition: all 0.3s;
}
/* 设置图片宽度,调整图片内边距 */
.download img{
    width: 90px;
    margin: 18px auto 0;
}
/* 设置图片下面的文字背景、字体大小和行高 */
.download p{
    color: #333;
    font-size: 14px;
    line-height: 14px;
}
/* 鼠标悬停的效果 
具体的大小可以自己调定*/
.black-nav-left li:hover>.download{
    height: 140px;
}
/* 添加箭头,宽高设置为0,边框设置
绝对定位,设置居中 */
.stri{
    width: 0;
    height: 0;
    border-bottom: 8px solid #fff;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    position:absolute;
    bottom: 0;
    left: 50%;
    margin-left: -8px;
    display: none;
}
.black-nav-left>li:hover>.stri{
    display: block;
}
/* 购物车滑下去的效果设置,宽高背景色,边距,相对定位 */
.cart{
    width: 120px;
    height: 40px;
    background: #424242;
    margin-left: 25px;
    position: relative;
}
/* 设置鼠标悬停在购物车上的背景色,为白色 */
.cart:hover{
    background: #fff;
}
/* 设置超链接文本为橘色 */
.cart:hover>a{
    color: #ff6700;
}
/* 设置购物车文本样式正常,右边距为8px */
.cart i{
    font-style: normal;
    margin-right: 8px;
}
/* 设置“购物车中还没有商品,赶紧选购吧”的块结构的宽高背景色,阴影效果等 */
.cart-list{
    width: 316px;
    height: 0;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15);
    position: absolute;
    right: 0;
    top: 40px;
    color: #424242;
    overflow: hidden;
    transition: all 0.3s;
    line-height: 100px;
}
/* 当鼠标悬停在购物车上时会出现“购物车中还没有商品,赶紧选购吧”的提示 */
.cart:hover>.cart-list{
    height: 100px;
} 
/* 黑色导航样式结束 */

/* 白色导航样式开始 */
/* 设置白色导航主体容器宽高北京和绝对定位 */
.white-nav{
    width: 100%;
    height: 100px;
    background: #fff;
    position: relative;
}
/* 设置logo图标模块的宽高、背景色,左浮动等 */
.logo{
  width: 55px;
  height: 55px;
  background-color: #ff6700;
  float: left;
  margin-top: 22.5px;
  position: relative;
  overflow: hidden;
}
.logo>img{
    width: 100%;
    height: 100%;
    position:absolute;
    top: 0;
    transition: all 0.2s;
}
.mi-home{
    left: -55px;
}
.mi-logo{
    left: 0;
}
.logo:hover>.mi-home{
    left: 0;
}
.logo:hover>.mi-logo{
    left: 55px;
}
.nav-bar{
    width: 875px;
    height: 100px;
    line-height: 100px;
    float: left;
}
.search{
    width: 296px;
    height: 100px;
    float: right;
}
.nav-bar li{
    float: left;
}
.nav-bar>ul>li>a{
    color: #333;
    padding: 0 10px;
}

.nav-bar>ul>li>a:hover{
    color: #ff6700;
}

.nav-bar>ul>li:first-child img{
    margin-top: 22.5px;
}
/* 设置搜索栏的宽高,边框样式等等 */
.search input{
    width: 244px;
    height: 50px;
    border:1px solid #e0e0e0;
    margin-top: 25px;
    /* 去掉选中的边框 */
    outline: none;
    padding: 0 10px;
    box-sizing: border-box;
    border-right: 0;
}
/* 完善搜索栏旁边的搜索按钮,设置宽高背景色等 */
.search button{
    width: 52px;
    height: 50px;
    background: #fff;
    border:1px solid #e0e0e0;
    float: right;
    margin-top: 25px;
}
/* 使搜索栏旁边的搜索按钮,鼠标悬停在上面有橘色背景色等 */
.search button:hover{
    background: #ff6700;
    color: #fff;
}
/* 设置鼠标悬停在小米手机上会出现的内容板块 */
.nav-bar-list{
    width: 100%;
    height: 229px;
    background: #fff;
    border-top: 1px solid #eee;
    box-shadow: 0 3px 4px rgba(0,0,0,0.1);
    position: absolute;
    left: 0;
    top: 100px;
    display: none;
}
/* 设置悬停在小米手机上的内容为块 */
.nav-bar li:hover .nav-bar-list{
    display: block;
}
/* 设置小米手机下的图片内容模式 */
.img-box{
    width: 100%;
    height: 110px;
    margin-top: 35px;
    border-right: 1px solid #eee;
    box-sizing: border-box;
    margin-bottom: 16px;
}
/* 设置图片之间的边距 */
.nav-bar-list li:last-child .img-box{
    border-right: 0;
}
/* 设置图片下面的文字大小和行高 */
.nav-bar-list p{
    font-size: 12px;
    line-height: 20px;
}
/* 设置小米手机的名字颜色 */
.name{
    color: #333;
}
/* 设置小米手机的价格颜色 */
.price{
    color: #ff6700;
}
/* 白色导航样式结束 */
index.html:
​
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>小米</title>
    <!-- 全局样式基本上所有文档都需要 
    正式开始开发网站的话就不能写内联样式的,需要使用外接,利用链接引入-->
    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/mi.css">
    <!-- 引用图标的界面 -->
    <link rel="stylesheet" href="css/iconfont/iconfont.css">
</head>
<body>
    <!-- 头部广告条开始 -->
    <div class="header">
        <a href="#">
            <img src="img/top.jpg" alt="顶部广告条">
        </a>
    </div>
    <!-- 头部广告条结束 -->
    <!-- 黑色导航部分开始 -->
    <!-- 1、黑色背景,主容器 
        2、内容部分要居中显示,容器进行处理
        3、左导航栏和右导航
        4、动画——有一个图片出现,右导航有个效果
    -->
    <div class="black-nav">
        <div class="wrap">
            <ul class="black-nav-left">
                <li><a href="#">小米商城</a><span>|</span></li>
                <li><a href="#">MIUI</a><span>|</span></li>
                <li><a href="#">Lot</a><span>|</span></li>
                <li><a href="#">云服务</a><span>|</span></li>
                <li><a href="#">天星数科</a><span>|</span></li>
                <li><a href="#">有品</a><span>|</span></li>
                <li><a href="#">小爱开放平台</a><span>|</span></li>
                <li><a href="#">企业团购</a><span>|</span></li>
                <li><a href="#">资质证照</a><span>|</span></li>
                <li><a href="#">协议规则</a><span>|</span></li>
                <li>
                    <a href="#">下载APP</a>
                    <span>|</span>
                    <!-- 点击下载APP会出现一个图案 -->
                    <div class="download">
                        <img src="img/download.png" alt="下载二维码">
                        <p>小米商城APP</p>
                    </div>
                    <!-- 点击下载APP出现的图框还有个箭头呢 -->
                    <div class="stri"></div>
                </li>
                <li><a href="#">智能生活</a><span>|</span></li>
                <li><a href="#">Select Location</a><span>|</span></li>
            </ul>
            <ul class="black-nav-right">
                <li><a href="#">登录</a><span>|</span></li>
                <li><a href="#">注册</a><span>|</span></li>
                <li><a href="#">消息通知</a><span>|</span></li>
                <li class="cart">
                    <a href="#">
                        <span class="iconfont">&#xe607;</span>
                        <i>购物车(0)</i>
                    </a>
                    <!-- 点击购物车会出现相应文字和效果 -->
                    <div class="cart-list">
                        购物车中还没有商品,赶紧选购吧
                    </div>
                </li>
            </ul>
        </div>
    </div>
    <!-- 黑色导航部分结束 -->
    <!-- 白色导航开始 -->
    <div class="white-nav">
        <div class="wrap">
            <div class="logo">
                <img src="./img/mi-home.png" alt="mi-home">
                <img src="./img/mi-logo.png" alt="mi-log">
            </div>
            <div class="nav-bar">
                <ul>
                    <li><a href="#"><img src="./img/zzxsh.gif" alt=""></a></li>
                    <li>
                        <a href="#">小米手机</a>
                        <div class="nav-bar-list">
                            <div class="wrap">
                                <ul>
                                    <li>
                                        <a href="#">
                                            <div class="img-box">
                                            <img src="./img/phone.png" alt="">
                                            </div>
                                            <p class="name1">小米10至尊纪念版</p>
                                            <p class="price1">5299元起</p>
                                        </a>
                                    </li>
                                    <li>
                                        <a href="#">
                                            <div class="img-box">
                                            <img src="./img/phone.png" alt="">
                                            </div>
                                            <p class="name1">小米10至尊纪念版</p>
                                            <p class="price1">5299元起</p>
                                        </a>
                                    </li>
                                    <li>
                                        <a href="#">
                                            <div class="img-box">
                                            <img src="./img/phone.png" alt="">
                                            </div>
                                            <p class="name1">小米10至尊纪念版</p>
                                            <p class="price1">5299元起</p>
                                        </a>
                                    </li>
                                    <li>
                                        <a href="#">
                                            <div class="img-box">
                                            <img src="./img/phone.png" alt="">
                                            </div>
                                            <p class="name1">小米10至尊纪念版</p>
                                            <p class="price1">5299元起</p>
                                        </a>
                                    </li>
                                </ul>
                            </div>
                        </div>
                    </li>
                    <li><a href="#">Redmi红米</a></li>
                    <li><a href="#">电视</a></li>
                    <li><a href="#">笔记本</a></li>
                    <li><a href="#">家电</a></li>
                    <li><a href="#">路由器</a></li>
                    <li><a href="#">智能硬件</a></li>
                    <li><a href="#">服务</a></li>
                    <li><a href="#">社区</a></li>
                </ul>
            </div>
            <div class="search">
                <input type="text" value="赢手机,分一亿">
                <!-- 插入放大镜也就是搜索的图标 -->
                <button class="iconfont">&#xe63d;</button>
                <div class="search-list"></div>
            </div>
        </div>
    </div>
    <!-- 白色导航结束 -->
</body>
</html> 

​
实现效果如下:

        本次界面实现是在Edge浏览器上,有关于小米logo的显示不够完全,大家可以放到Chrome浏览器和其他浏览器自主调试。

完整页面:

具体细节:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【图解面试】深入解析数据类型转换

将值从一种数据类型转换到另一种数据类型通常称为数据类型转换。在面试过程中大多数都是以代码输出题出现&#xff0c;但是要了解到具体的转换规则&#xff0c;彻底搞懂底层原理&#xff0c;才能应对变来变去的值类型~ 转布尔类型 Boolean类型有两个字面值&#xff1a; true …

调整Activation Function参数对神经网络的影响

目录 介绍&#xff1a; 数据集&#xff1a; 模型一&#xff08;tanh&#xff09; &#xff1a; 模型二&#xff08;relu&#xff09;&#xff1a; 模型三&#xff08;sigmoid&#xff09; &#xff1a; 模型四&#xff08;多层tanh&#xff09;&#xff1a; 模型五&am…

使用“快速开始”将数据传输到新的 iPhone 或 iPad

使用“快速开始”将数据传输到新的 iPhone 或 iPad 使用 iPhone 或 iPad 自动设置你的新 iOS 设备。 使用“快速开始”的过程会同时占用两台设备&#xff0c;因此请务必选择在几分钟内都不需要使用当前设备的时候进行设置。 确保你当前的设备已连接到无线局域网&#xff0c;并…

一篇带你彻底搞懂 Python 编程进阶之闭包

前言 在Python编程语言中&#xff0c;闭包是强大而灵活的语法&#xff0c;它为开发者提供了一种优雅而高效的方式来处理函数和代码结构。作为自动化测试和测试开发同学&#xff0c;弄懂它的作用及工作原理很有必要&#xff0c;面试中提及到的概率非常之大。 关于函数名的本质 …

APT攻击是什么?如何进行防护

随着网络技术的飞速发展&#xff0c;APT&#xff08;Advanced Persistent Threat&#xff09;攻击已经成为网络安全领域的一个重大问题。APT攻击是一种高度复杂的网络攻击&#xff0c;其目标是长期潜伏并逐步深入到目标网络中&#xff0c;以窃取敏感信息、破坏关键基础设施或制…

MyBatis 的注解实现方法

MyBatis 的注解实现方法 MyBatis 的注解实现方法引入依赖添加配置创建表创建实体类创建mapper接口InsertDeleteSelectResults和ResultMap通过配置文件解决 UpdateOptions MyBatis 的注解实现方法 引入依赖 在springBoot项目中下载了EditStarters插件的,可以直接在配置文件处右…

幻兽帕鲁怎么选择服务器

想要部署属于自己的幻兽帕鲁&#xff0c;首先需要拥有一台服务器&#xff0c;服务器是幻兽帕鲁运行的基础。游戏所需的服务器取决于游戏的规模、用户数量和功能需求。以下是一些通常需要考虑的服务器要求&#xff1a; 计算性能&#xff1a;包括cpu、内存、硬盘&#xff0c;cpu…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TextPicker组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之TextPicker组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、TextPicker组件 TextClock组件通过文本将当前系统时间显示在设备上。支持不…

C++基础语法学习笔记

C Tutorial 1.基础语法 C 应用&#xff1a;操作系统、图形用户界面和嵌入式系统 C和C区别&#xff1a;C支持类和对象 C语法 #include <iostream> using namespace std;int main(){cout << "hello world!";return 0; }int main () { cout << &q…

vue之elementUi的el-select同时获取value和label的两种方法

一、通过ref的形式&#xff08;推荐&#xff09; <template><div class"root"><el-selectref"optionRef"v-model"value"placeholder"请选择"style"width: 250px"><el-optionv-for"item in optio…

Kubernetes实战(二十三)-k8s event监控利器kube-eventer对接企微告警

1 背景 监控是保障系统稳定性的重要组成部分&#xff0c;在Kubernetes开源生态中&#xff0c;资源类的监控工具与组件监控比较多。 cAdvisor&#xff1a;kubelet内置的cAdvisor&#xff0c;监控容器资源&#xff0c;如容器cpu、内存&#xff1b;Kube-state-metrics&#xff1…

自动驾驶:Apollo如何塑造人类的未来出行

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言1. 什么是自定义指令&#xff1f;2. Apollo中的自定义指令2.1 查询中的自定…

JSON巨匠:FastJSON的序列化解析

Fastjson 简介 Fastjson 是一个 Java 库&#xff0c;可以将 Java 对象转换为 JSON 格式&#xff0c;当然它也可以将 JSON 字符串转换为 Java 对象。 Fastjson 可以操作任何 Java 对象&#xff0c;即使是一些预先存在的没有源码的对象。 Fastjson 源码地址&#xff1a;https://…

数据可视化 pycharts实现时间数据可视化

自用版 数据格式为&#xff1a; 运行效果为&#xff1a; from pyecharts import options as opts from pyecharts.charts import Polar, Page import csv filename "./hot-dog-places.csv" data_x [] data_y [] with open(filename) as f:reader csv.reade…

有向图查询所有环,非递归

图&#xff1a; 有向图查询所有环&#xff0c;非递归&#xff1a; import java.util.*;public class CycleTest {private final int V; // 顶点数private final List<List<Integer>> adjList; // 邻接表public CycleTest(int vertices) {this.V vertices;this.…

python基础——池

池的介绍&#xff1a; 提前创建进程池&#xff0c;防止创建的进程数量过多导致系统性能受到影响&#xff0c;在系统执行任务时&#xff0c;系统会使用池中已经创建进程/线程&#xff0c;从而防止资源的浪费&#xff0c;创建的进程/线程可以让多个进程使用&#xff0c;从而降低…

SW-LIMS实现化工企业危险化学品信息化管理

随着化工产业的不断发展,危险化学品的生产和使用在经济和社会发展中扮演着重要的角色。然而,危险化学品的安全隐患也同样日益突出,从危化品的生产到储存、运输和使用,如果控制不当,很容易造成安全事故,而一旦发生安全事故,不仅会造成巨大的经济损失,还将威胁到人类的生命健康与…

FFmpeg和Monibuka拉取rtsp(大华摄像头)视频流时未进行URLCode编码导致提示404等报错

场景 Monibucav4(开源流媒体服务器)在Windows上搭建rtmp服务器并实现拉取rtsp视频流以及转换flv播放&#xff1a; Monibucav4(开源流媒体服务器)在Windows上搭建rtmp服务器并实现拉取rtsp视频流以及转换flv播放_monibuca 搭建流媒体服务-CSDN博客 Nginx搭建RTMP服务器FFmpeg…

C++引用、内联函数、auto关键字介绍以及C++中无法使用NULL的原因

文章目录 一、引用1.1 引用概念1.2 引用特性1.3 常引用1.4 使用场景1.4.1 做参数1.4.2做返回值 1.5 引用和指针的区别1.6 小结一下 二、内联函数2.1 内联的概念2.2 内联的特性2.3 【面试题】 三、auto关键字(C11)3.1 类型别名思考3.2 auto简介 四、auto的使用细则4.1 基于范围的…

Aloudata 近期荣誉盘点!接连斩获技术创新、案例实践、投资价值等权威认可

近期&#xff0c;Aloudata 凭借持续的技术积累、丰富的产品与解决方案以及多样场景下的最佳实践案例&#xff0c;在数据智能技术创新、案例实践、投资价值等领域全面开花&#xff0c;接连荣获&#xff1a; 2023 金猿榜「大数据产业年度最具投资价值」企业&#xff0c;并携手首…