为了账号安全,请及时绑定邮箱和手机立即绑定

如何让导航条居中?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>导航菜单</title>

<style type="text/css">

*{margin:0 ; padding:0; font-size:14px;}

.a{margin:0 auto;width:100%;}

ul{ list-style:none;}

a{color:#333;text-decoration:none}

.nav{margin:0 auto;width:800px;}

.nav li{ float:left;}

.nav li a{ display:block; text-align:center; height:30px; line-height:30px; width:100px; background-color:#efefef; margin-left:1px;}

.nav li a:hover{ background-color:#F60; color:#fff}

</style>


</head>

<body>


<ul class="nav">

    <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>


</body>

</html>


正在回答

4 回答

两种方法,定宽:

<style type="text/css">
*{margin:0 ; padding:0; font-size:14px;}
a{color:#333;text-decoration:none}
ul.nav {
    list-style: none;
    width: 500px;
    margin: 0 auto;
    }
.nav li{ 
    float:left;
    }
.nav li a{ display:block; text-align:center; height:30px; line-height:30px; width:100px; background-color:#efefef;}
.nav li a:hover{ background-color:#F60; color:#fff}
</style>

不定宽:

<style type="text/css">
*{margin:0 ; padding:0; font-size:14px;}
a{color:#333;text-decoration:none}
ul.nav {
    list-style: none;
    float: left;
    position: relative;
    left: 50%;
}
.nav li{ 
    float:left;
    position: relative;
    left: -50%;
}
.nav li a{ display:block; text-align:center; height:30px; line-height:30px; width:100px; background-color:#efefef;}
.nav li a:hover{ background-color:#F60; color:#fff}
</style>

你的代码里 .a{margin:0 auto;width:100%;} 这一行没作用,虽然 a 设置为 block 了,但 a 的父元素是 li ,这样设置最多让 a 在 li 中居中,而不是 ul 整体居中。

至于你问为什么 800px 不行,其实 800px 是可以的,你的代码其实是有居中效果的,只是 ul 的宽度为 800px,而 li 总共宽度只有 505px,所以最右边的 295px 是透明的,看不见,你可以给 ul 设置一个高度,再设置一个背景色,你就能看出来,ul 其实已经居中了。


3 回复 有任何疑惑可以回复我~
#1

慕先生8224389 提问者

谢谢谢谢
2016-09-27 回复 有任何疑惑可以回复我~
#2

慕粉3951534 回复 慕先生8224389 提问者

求采纳~~
2016-09-27 回复 有任何疑惑可以回复我~
#3

慕先生8224389 提问者

非常感谢!
2016-09-27 回复 有任何疑惑可以回复我~
#4

慕粉3951534 回复 慕先生8224389 提问者

共勉,哈哈
2016-09-27 回复 有任何疑惑可以回复我~
#5

慕仰0608257

谢谢谢谢谢谢
2017-02-13 回复 有任何疑惑可以回复我~
查看2条回复

先将ul设置成块状元素,定宽;然后用margin:auto进行居中

0 回复 有任何疑惑可以回复我~

实现网页自动居中一列布局的关键代码是margin:0 auto;width:XXpx;

width自己看着设计

0 回复 有任何疑惑可以回复我~
#1

慕先生8224389 提问者

。。。
2016-09-19 回复 有任何疑惑可以回复我~

.nav  其实已经居中了的。  只是 li 从左往右 排列,排列完 右边还有多余而已,你要是强迫症牛逼。

你可以设置  .nav{margin:0 auto;width:505px;}  这样就居中了

0 回复 有任何疑惑可以回复我~
#1

慕先生8224389 提问者

800px为什么不行啊
2016-09-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
导航条菜单的制作
  • 参与学习       123899    人
  • 解答问题       813    个

水平、垂直、圆角导航条菜单,让您的技术探索之路更高效

进入课程

如何让导航条居中?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信