html利用ul及float制作导航栏

1. ul li纵向列表

ul  li本身是一个列表,有自己的样式,是纵向排列的,只是他的样式我们不知道他在哪里设置的,打开html文件,在浏览器中可以通过F12查看(他是不能删除了只能重新设置新的样式,来改变样式)

在列表中ul  li自带样式,样式如下

ul, menu, dir {
    display: block;
    list-style-type: disc;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 40px;
}
li {
    display: list-item;
    text-align: -webkit-match-parent;
}

没有作任更改时的样式,如图:

 

 可消除列表前的符号,及至顶

ul,li{
    margin: 0;
    padding: 0;
    font-family: "微软雅黑";
    font-size:16px;
    list-style: none;        /*列表符号样式,里面有可选三个参数*/
}

作更改后的样式,如图:

 

注:这个方式可用于清除所有的样式(例 :body的、a标签、h1标签的字体样式等),这里还用选择器(群组选择器,用     “ ,”隔开),表示这些标签下的样式,具体在选择器这章介绍

2. 横向列表

纵向变为横向,利用float(浮动)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>导航栏</title>
		<style type="text/css">			
			.nav{						/*设置列表标签的父元素,这里只是为了作介绍使用*/
				border: 1px solid black;
				width:400px;
				height: 100px;
			}
			ul,li{						/*清除列表样式*/
    			margin: 0;
    			padding: 0;
    			font-family: "微软雅黑";
    			font-size:16px;
    			list-style: none;		/*列表符号样式,里面有可选三个参数*/
			}
			.nav ul li{					/*设置列表样式*/
				border: 1px solid red;		
				width: 100px;			/*设置列宽100*/
				float:left;
				line-height: 50px;		/*设置行高50*/			
			}
			
		</style>
	</head>
	<body>
		<div class="nav">
			<ul>
				<li><a href="#">111</a></li>
				<li><a href="#">222</a></li>
				<li><a href="#">333</a></li>			
			</ul>
		</div>
	</body>
</html>

浮动后的样式,如图:

3. 更改链接样式、鼠循停样式、点击后的样式、正在点击时的样式

a的属性:link(对a标签做更改) 、visited(原来样式) 、hover(鼠标悬停时样式) 、 active(点击后的样式)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">			
			.nav{						/*设置列表标签的父元素,这里只是为了作介绍使用*/
				border: 1px solid black;
				width:400px;
				height: 100px;
			}
			ul,li{						/*清除列表样式*/
    			margin: 0;
    			padding: 0;
    			font-family: "微软雅黑";
    			font-size:16px;
    			list-style: none;		/*列表符号样式,里面有可选三个参数*/
			}
			.nav ul li{					/*设置列表样式*/
				border: 1px solid red;		
				width: 100px;			/*设置列宽100*/
				float:left;
				line-height: 50px;		/*设置行高50*/			
			}
			.nav ul li a:link{			/*设置a标签本身样式(在没有点击的样式)*/
				display: block;			/*设置为行内块,使其作用域更大,在这里可以使其不只是点击文字,也可以链接*/
				height: 45px;
				border-bottom:4px solid black;/*为了更好看这里设置的一个下边框黑色*/
				background-color: darkcyan;
			}
			.nav ul li a:visited{		/*这个与上面一样,也是没有点击时的样式,但如果有了该样式,会覆盖上面这这个样式*/
				/*display: block;		*/	
				/*border-bottom:4px solid red;  /*有的话会覆盖边框黑色替换成红色*/
				background-color: palegreen;
			}
			.nav ul li a:hover{			/*设置a标签悬停时的样式*/
				/*display: block;	*/		
				background-color: pink;
			}
			.nav ul li a:active{		/*设置a标签点击后的样式*/
				border-bottom:4px solid black;
				background-color: aqua;
			}
			
		</style>
	</head>
	<body>
		<div class="nav">
			<ul>
				<li><a href="">111</a></li>
				<li><a href="">222</a></li>
				<li><a href="">333</a></li>			
			</ul>
		</div>
	</body>
</html>

link(对a标签做更改)

设置块状元素(只能在这里设置,也最先认识他),可以设置没有操作时的本身样式

visited(原来样式)

设置没有操作时的本身样式,这里设置的样式会覆盖上面link中的样式

hover(鼠标悬停时样式)

这里只作了对111鼠标时的样式

active(点击后的样式)

这里是对111点击后的样式

注:这里的顺序不更改link>visited>hover>active ,依次从上往下执行,可以没后面的,但不能没有前面的

4. 点击后链接抖动

通过以上方式设置点击后对上边框和下边框的大小

.nav ul li a:active{		/*设置a标签点击后的样式*/
    border-top: 20px solid greenyellow;
    border-bottom:4px solid black;
    background-color: aqua;
}

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要把图片当作导航,可以使用HTML中的`<img>`标签,并使用CSS设置其样式,比如设置宽高、边框等。然后将图片放置在导航的位置即可。 以下是CSS利用一张背景图制作导航菜单的实现思路及代码: 1. 首先,需要一个包含导航菜单的HTML结构,比如一个无序列表。每个导航菜单项可以用`<li>`标签表示。 2. 然后,使用CSS设置导航菜单的样式,包括宽度、高度、背景颜色等。这里需要注意的是,不要设置导航菜单项的背景颜色。 3. 接着,在CSS中设置背景图,并设置其重复方式为水平平铺。这里的背景图就是导航菜单项的背景图。 4. 最后,设置每个导航菜单项的样式,包括字体颜色、大小、对齐方式等。同时,设置每个导航菜单项的左、右边距为背景图的宽度,使其能够覆盖背景图。 下面是代码示例: HTML: ``` <ul class="nav-menu"> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Services</a></li> <li><a href="#">Contact</a></li> </ul> ``` CSS: ``` .nav-menu { width: 800px; height: 50px; background-color: #333; background-image: url(nav-bg.png); background-repeat: repeat-x; list-style: none; margin: 0; padding: 0; } .nav-menu li { float: left; margin: 0 20px; } .nav-menu li a { display: block; color: #fff; font-size: 16px; line-height: 50px; text-align: center; text-decoration: none; width: 100%; height: 100%; padding: 0 20px; } .nav-menu li a:hover { background-color: #666; } ``` 在上面的代码中,`nav-bg.png`是背景图的文件名,可以替换成其他文件名。通过设置`background-repeat: repeat-x;`,可以让背景图在水平方向上平铺。同时,通过设置每个导航菜单项的左、右边距为`20px`,可以使其覆盖背景图。最后,当鼠标悬停在导航菜单项上时,可以显示出不同的背景色。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值