HTML学习记录:使用HTML静态网页代码模仿新浪网导航栏

  • Post author:
  • Post category:其他


作为小白,我今天尝试使用HTML代码对新浪投资者关系网的导航栏进行模仿。

网站界面如图:

我今天想要模仿的是新浪网的导航栏部分:


我们可以先对此导航栏进行简单的分析:导航栏主要是使用list标签做出,中间加了下划线的,我们可以首先使用<ul>无序列表标签填充一些内容:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<ul>						<!--使用ul li实现导航栏-->
			<li>首页</a></li>		
			<li>公司概况</li>
			<li>股票资讯</li>
			<li>新浪动态</li>
			<li>财务信息</li>
			<li>投资者日</li>
			<li>联系我们</li>
		</ul>
	</body>
</html>

实现出的效果是这样的:

可以看到这暂时不是我们想要的效果,但是基本内容已经填充好了,所以我只需添加CSS样式改变导航栏的样式;

经过分析,我大概需要添加以下几种样式:

1.去掉无序列表之前的圆圈;

2.在每一行字下面添加一个下划线;

我们先添加第一个css样式,去掉无序列表之间的圆圈;要去掉无序列表的圆圈,我们需要使用css样式中list属性所包含的内容:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			ul{
			    list-style: none;	/*使Li上的效果全部消失*/	
			    }
        </style>
	</head>
	<body>
		<ul>						<!--使用ul li实现导航栏-->
			<li>首页</a></li>		
			<li>公司概况</li>
			<li>股票资讯</li>
			<li>新浪动态</li>
			<li>财务信息</li>
			<li>投资者日</li>
			<li>联系我们</li>
		</ul>
	</body>
</html>

在全局css上添加了list-style:none后,li上的效果就全部消失了;

下面我们继续添加css样式,使每一行下面都添加一个下划线:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			ul{
				list-style: none;			
			}
			li{
				border-bottom: 1px solid 			
			}


		</style>
	</head>
	<body>
		<ul>						<!--使用ul li实现导航栏-->
			<li>首页</a></li>		
			<li>公司概况</li>
			<li>股票资讯</li>
			<li>新浪动态</li>
			<li>财务信息</li>
			<li>投资者日</li>
			<li>联系我们</li>
		</ul>
	</body>
</html>

虽然下划线有了,但是我们发现,无论是下划线的颜色还是字体的间距都是有问题的;由于是模仿,我们可以调用新浪网的源代码查看一下具体的间距格式:

在源代码中我们找到了以下内容,上面清楚的设定了下划线的颜色和行高,我们就在CSS的标签选择器li中添加以下内容:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			ul{
				list-style: none;			
			}
			li{
				border-bottom: 1px solid #e1e3e5; 
                line-height:49px;			
			}


		</style>
	</head>
	<body>
		<ul>						<!--使用ul li实现导航栏-->
			<li>首页</a></li>		
			<li>公司概况</li>
			<li>股票资讯</li>
			<li>新浪动态</li>
			<li>财务信息</li>
			<li>投资者日</li>
			<li>联系我们</li>
		</ul>
	</body>
</html>

这样下划线就添加完成了。

目前的导航栏和我们想要的效果还是有一些出入的,所以现在我们要改变一下字体的格式:我们依旧去原网站代码寻找字体格式:

我们在代码中也添加此行;但尤其需要注意的是,font的简化写法不能与line-height共存,所以我们把line-height删去,把它写在font里,所以源代码中的font就需要改动:将22px改为49px,然后为了使文本垂直居中,再在前面添加一个height属性;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			ul{
				list-style: none;			
			}
			li{
				border-bottom: 1px solid #e1e3e5; 
              	height: 49px;
    			font: 12px/49px Arial, "Microsoft Yahei"		
			}


		</style>
	</head>
	<body>
		<ul>						<!--使用ul li实现导航栏-->
			<li>首页</a></li>		
			<li>公司概况</li>
			<li>股票资讯</li>
			<li>新浪动态</li>
			<li>财务信息</li>
			<li>投资者日</li>
			<li>联系我们</li>
		</ul>
	</body>
</html>

这样就和我们想要的导航栏更加相似了;

下面我们对导航中每一个元素添加超链接,使他们能够跳转到其他界面,为了方便起见,这些导航我就只添加一个相同的超链接:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			ul{
					
			    list-style: none;			
			}
			li{
				border-bottom: 1px solid #e1e3e5;
				height: 49px;
    			font: 12px/49px Arial, "Microsoft Yahei"
				
			}

		</style>
	</head>
	<body>
		<ul>						<!--使用ul li实现导航栏-->
			<li ><a href="http://www.baidu.com">首页</a></li>		
			<li><a href="http://www.baidu.com">公司概况</a></li>
			<li><a href="http://www.baidu.com">股票咨询</a></li>
			<li><a href="http://www.baidu.com">新浪动态</a></li>
			<li><a href="http://www.baidu.com">财务信息</a></li>
			<li><a href="http://www.baidu.com">投资者日</a></li>
			<li><a href="http://www.baidu.com">联系我们</a></li>
		</ul>
	</body>
</html>

执行出来的效果是这样的,我们发现a标签的样式把之前的字体样式全部覆盖了,因为a标签不能继承父标签的属性,所以我们要单独设置a标签属性,所以我们要把a标签的下划线去掉,然后再重新设置一下字体颜色:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			ul {
				list-style: none;
			}
			
			li {
				border-bottom: 1px solid #e1e3e5;
				height: 49px;
				font: 12px/49px Arial, "Microsoft Yahei"
			}
			
			a {
				/*a标签不能继承父标签的属性,所以要单独写属性*/
				text-decoration: none;
				color: rgb(51, 51, 51);
			}
			
		</style>
	</head>

	<body>
		<ul>
			<!--使用ul li实现导航栏-->
			<li>
				<a href="http://www.baidu.com">首页</a>
			</li>
			<li>
				<a href="http://www.baidu.com">公司概况</a>
			</li>
			<li>
				<a href="http://www.baidu.com">股票咨询</a>
			</li>
			<li>
				<a href="http://www.baidu.com">新浪动态</a>
			</li>
			<li>
				<a href="http://www.baidu.com">财务信息</a>
			</li>
			<li>
				<a href="http://www.baidu.com">投资者日</a>
			</li>
			<li>
				<a href="http://www.baidu.com">联系我们</a>
			</li>
		</ul>
	</body>

</html>

基本上和导航栏一模一样了,我们最后再在首页元素上改变颜色就可以了,我们添加一个id选择器,更改一下颜色:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			ul {
				list-style: none;
			}
			
			li {
				border-bottom: 1px solid #e1e3e5;
				height: 49px;
				font: 12px/49px Arial, "Microsoft Yahei"
			}
			
			a {
				/*a标签不能继承父标签的属性,所以要单独写属*/
				text-decoration: none;
				color: rgb(51, 51, 51);
			}
			
			#first {
				color: #4c92fc;
			}
		</style>
	</head>

	<body>
		<ul>
			<!--使用ul li实现导航栏-->
			<li>
				<a id="first" href="http://www.baidu.com">首页</a>
			</li>
			<li>
				<a href="http://www.baidu.com">公司概况</a>
			</li>
			<li>
				<a href="http://www.baidu.com">股票咨询</a>
			</li>
			<li>
				<a href="http://www.baidu.com">新浪动态</a>
			</li>
			<li>
				<a href="http://www.baidu.com">财务信息</a>
			</li>
			<li>
				<a href="http://www.baidu.com">投资者日</a>
			</li>
			<li>
				<a href="http://www.baidu.com">联系我们</a>
			</li>
		</ul>
	</body>

</html>

这样就一模一样了。




版权声明:本文为toytoytelecar原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。