前端基础学习-(1)京东顶部导航条
作为前端学习的小白,个人在学习过程中认知:京东导航条使用到了浮动(float)、定位(position)、垂直居中、图标引用等知识。
实现效果
代码实现
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/fontawesome-free-5.12.1-web/css/all.min.css">
<link rel="stylesheet" href="../CSS/京东顶部导航条.css">
</head>
<body>
<div class="wrapper">
<div class="outer">
<div class="left_top_nav">
<div class="current-city">
<i class="fas fa-map-marker-alt"></i>
<span>江苏</span>
</div>
<div class="city_list">
城市列表
</div>
</div>
<ul class="right_top_nav">
<li>手机京东</li>
<div class="vertical">|</div>
<li>
<div class="net_intro">网站导航<i class="fas fa-angle-down"></i></div>
<div class="net_intro_list">网站导航列表</div>
</li>
<div class="vertical">|</div>
<li>
<div class="customer">客户服务<i class="fas fa-angle-down"></i></div>
<div class="customer-list">
客户服务
</div>
</li>
<div class="vertical">|</div>
<li>
<div class="company">
<a href="#" class="font_red">企业采购</a><i class="fas fa-angle-down"></i>
</div>
<div class="company-list">
企业采购
</div>
</li>
<div class="vertical">|</div>
<li><a href="#">京东会员</a></li>
<div class="vertical">|</div>
<li>
<div class="myjd">
<a href="#">我的京东</a><i class="fas fa-angle-down"></i>
</div>
<div class="order">
订单...
</div>
</li>
<div class="vertical">|</div>
<li><a href="#">我的订单</a></li>
<div class="vertical">|</div>
<li><a href="#" class="font_red">免费注册</a></li>
<li><a href="#">你好,请登录</a></li>
</ul>
</div>
</div>
</body>
</html>
京东顶部导航条基本CSS样式
/* 整个顶部导航栏 */
.wrapper {
background-color: #E3E4E5;
height: 32px;
}
/* 导航栏中间部分 */
.outer {
width: 1200px;
margin: 0 auto;
height: 100%;
position: relative;
}
/* 左上方地点信息 */
.left_top_nav {
float: left;
}
/* 地点的当前信息 */
.left_top_nav .current-city {
height: 30px;
padding: 0 10px;
border: 1px solid transparent;
border-bottom: none;
z-index: 999;
position: relative;
}
/* 图标大小及颜色 */
.left_top_nav i {
color: #F10215;
font-size: 12px;
}
/* 地点文字信息大小、颜色、垂直居中显示 */
.left_top_nav span {
color: #999999;
font-size: 12px;
line-height: 30px;
}
/* 下拉城市列表 */
.left_top_nav .city_list {
/* 设置隐藏且不占位置 */
display: none;
position: absolute;
background-color: #ffffff;
text-align: center;
color: #999999;
line-height: 400px;
width: 300px;
border: 1px solid #CCCCCC;
/* 设置阴影 */
box-shadow: 1px 1px rgba(0, 0, 0, .1);
z-index: 99;
}
/* 设置位置信息移入时地点文字信息 */
.left_top_nav:hover .current-city{
cursor: pointer;
background-color: #ffffff;
border: 1px solid #CCCCCC;
border-bottom: none;
padding-bottom: 1px;
}
/* 设置文字信息移入时颜色切换 */
.current-city:hover span {
color: #E33333;
}
/* 设置城市列表显示 */
.left_top_nav:hover .city_list {
display: block;
top: 31px;
}
/* 右上方导航信息 */
.right_top_nav {
float: right;
width: 800px;
height: 32px;
position: relative;
}
/* 设置右侧详细信息浮动*/
.right_top_nav li {
float: right;
line-height: 32px;
color: #999999;
font-size: 12px;
}
/* 设置我的京东边框显示 */
.right_top_nav .myjd {
height: 30px;
line-height: 30px;
position: relative;
border: 1px solid transparent;
z-index: 999;
}
/* 设置图标与文字之间的间隔 */
.right_top_nav i {
margin: 0 8px;
}
/* 设置右侧列表中超链接的基本样式 */
.right_top_nav li a {
/* 取消下划线 */
text-decoration: none;
color: #999999;
padding-left: 7px;
}
/* 设置超链接移入时变成红色 */
.right_top_nav li a:hover {
color: #F10215;
}
/* 设置我的京东的下拉列表属性 */
.right_top_nav li:nth-of-type(6) .order {
display: none;
position: absolute;
line-height: 200px;
width: 150px;
text-align: center;
background-color: #ffffff;
border: 1px solid #CCCCCC;
z-index: 99;
}
/* 设置我的京东移入时字体背景相关属性 */
.right_top_nav li:nth-of-type(6):hover .myjd{
background-color: #ffffff;
border: 1px solid #CCCCCC;
border-bottom: none;
/* 在移入状态下设置下内边距增加,盖住下方显示列表的边框线 */
padding-bottom: 1px;
}
/* 设置我的京东移入时下拉列表显示 */
.right_top_nav li:nth-of-type(6):hover .order {
/* 设置隐藏的元素显示 */
display: block;
top: 31px;
}
/* 设置企业采购样式 */
.right_top_nav .company {
position: relative;
line-height: 30px;
height: 30px;
border: 1px solid transparent;
z-index: 999;
}
/* 设置企业采购列表样式 */
.right_top_nav .company-list {
display: none;
width: 150px;
height: 100px;
line-height: 100px;
text-align: center;
background-color: #ffffff;
position: absolute;
border: 1px solid #CCCCCC;
z-index: 99;
}
/* 设置企业采购移入时效果切换 */
.right_top_nav li:nth-of-type(6):hover .company{
background-color: #ffffff;
border: 1px solid #CCCCCC;
border-bottom: none;
padding-bottom: 1px;
}
/* 设置企业采购下拉列表样式切换 */
.right_top_nav li:nth-of-type(6):hover .company-list {
display: block;
top: 31px;
}
/* 设置客户服务相对定位 */
.right_top_nav li:nth-of-type(3) {
position: relative;
}
/* 设置客户服务样式 */
.right_top_nav .customer {
position: relative;
padding-left: 4px;
line-height: 30px;
height: 30px;
border: 1px solid transparent;
z-index: 999;
}
/* 设置客户服务列表样式 */
.right_top_nav .customer-list {
display: none;
width: 200px;
height: 300px;
line-height: 300px;
text-align: center;
background-color: #ffffff;
position: absolute;
border: 1px solid #CCCCCC;
z-index: 99;
}
/* 设置客户服务移入时的效果 */
.right_top_nav li:nth-of-type(3):hover .customer {
background-color: #ffffff;
border: 1px solid #CCCCCC;
border-bottom: none;
padding-bottom: 1px;
}
/* 设置客户服务移入时客户服务列表的样式 */
.right_top_nav li:nth-of-type(3):hover .customer-list {
display: block;
top: 31px;
right: 0px;
}
/* 设置网站导航绝对定位 */
.right_top_nav li:nth-of-type(2) {
position: relative;
}
/* 设置网站导航样式 */
.right_top_nav .net_intro {
position: relative;
padding-left: 4px;
line-height: 30px;
height: 30px;
border: 1px solid transparent;
z-index: 999;
}
/* 设置网站导航下拉列表样式 */
.right_top_nav .net_intro_list {
display: none;
width: 1200px;
height: 200px;
line-height: 200px;
text-align: center;
background-color: #ffffff;
position: absolute;
border: 1px solid #CCCCCC;
z-index: 99;
}
/* 设置网站导航移入时网站导航文字信息效果 */
.right_top_nav li:nth-of-type(2):hover .net_intro {
background-color: #ffffff;
border: 1px solid #CCCCCC;
border-bottom: none;
padding-bottom: 1px;
}
/* 设置网站导航移入时网站导航列表效果 */
.right_top_nav li:nth-of-type(2):hover .net_intro_list {
display: block;
top: 31px;
right: -60px;
}
/* 设置字体颜色为红色 */
.font_red {
color: #F10215 !important;
}
/* 设置垂直间隔样式 */
.vertical {
float: right;
color: #CCCCCC;
margin: 0 6px;
font-size: 1px;
/* 垂直居中显示 */
line-height: 32px;
}