Html 如何使用css将菜单栏居中。(我正在使用Microsoft Expression Web 4)
我对html和css有点陌生。我的菜单栏居中有很大困难。有人能告诉我该拿哪个标签吗? 我试图在这里读更多的帖子,但我无法解决它,我做错了什么 这是我的密码:Html 如何使用css将菜单栏居中。(我正在使用Microsoft Expression Web 4),html,css,Html,Css,我对html和css有点陌生。我的菜单栏居中有很大困难。有人能告诉我该拿哪个标签吗? 我试图在这里读更多的帖子,但我无法解决它,我做错了什么 这是我的密码: <!DOCTYPE html> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <title>Untitled 2</title> <style
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Untitled 2</title>
<style type="text/css">
body {
background-color: #dfe3ee;
}
.wrapper {
border: 1px solid;
width: 75%;
height: 90%;
margin: 0 auto;
}
.header {
border-bottom: 1px solid;
padding:10px;
text-align:center;
font-size: 40px;
font-family: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;
}
#menu {
margin:0 auto;
display: inline-block;
list-style:none;
padding:0;
border-top:1 solid #ccc;
border-left:1 solid #ccc;
border-bottom:1 solid #ccc;
}
#menu ul {
margin: 0px;
padding: 0px;
list-style-type: none;
}
#menu a {
display: block;
width: 8em;
color:white;
background-color: blue;
text-decoration: none;
text-align: center;
}
#menu a:hover {
background-color: #6666AA;
}
#menu li {
float: left;
margin-right: 0.5em;
font-family:"Bookman Old Style"
}
#menu a {
text-decoration: none;
}
#menu ul ul {
display:none;
}
#menu ul li: hover > ul {
display:block;
}
#menu {
display:inline-block;
}
</style>
</head>
<body>
<div class="wrapper" style="height: 558px">
<div class="header">
Cotton
</div>
<div id="menu">
<ul style="width: 699px">
<li><a href="index.html"><span style="font-family: Impact">Home</span></a></li>
<li><a href="collections.html"><span style="font-family: Impact">Our Collections</span></a></li>
<li><a href="about.html"><span style="font-family: Impact">About Us</span></a></li>
<li><a href="contact.html"><span style="font-family: Impact">Contact Us</span></a></li>
</ul>
</div>
</div>
</body>
</html>
无标题2
身体{
背景色:#dfe3ee;
}
.包装纸{
边框:1px实心;
宽度:75%;
身高:90%;
保证金:0自动;
}
.标题{
边框底部:1px实心;
填充:10px;
文本对齐:居中;
字体大小:40px;
字体系列:“Gill Sans”,“Gill Sans MT”,Calibri,“投石机MS”,无衬线;
}
#菜单{
保证金:0自动;
显示:内联块;
列表样式:无;
填充:0;
边框顶部:1个实心#ccc;
左边框:1个实心#ccc;
边框底部:1个实心#ccc;
}
#菜单ul{
边际:0px;
填充:0px;
列表样式类型:无;
}
#菜单a{
显示:块;
宽度:8em;
颜色:白色;
背景颜色:蓝色;
文字装饰:无;
文本对齐:居中;
}
#菜单a:悬停{
背景色:#6666AA;
}
#菜单里{
浮动:左;
右边距:0.5em;
字体系列:“书商旧式”
}
#菜单a{
文字装饰:无;
}
#菜单{
显示:无;
}
#菜单ul li:悬停>ul{
显示:块;
}
#菜单{
显示:内联块;
}
棉
宽度:699px>
去掉#菜单
的内联宽度,也去掉(两次声明的)显示:内联块
,实际定义#菜单
的宽度,以便边距:0自动
工作。我重新计算了px
中的宽度,因为在我看来,em
在试图计算这些宽度时很痛苦
注意:如果将包装宽度指定为75%,我的解决方案可能无法在较小的屏幕上运行,因为所有菜单项的总宽度都将大于包装宽度
以下是我的想法:
正文{
背景色:#dfe3ee;
}
.包装纸{
边框:1px实心#000;
宽度:75%;
身高:90%;
保证金:0自动;
}
.标题{
边框底部:1px实心;
填充:10px;
文本对齐:居中;
字体大小:40px;
字体系列:“Gill Sans”,“Gill Sans MT”,Calibri,“投石机MS”,无衬线;
}
#菜单{
保证金:0自动;
宽度:536px;
高度:20px;
列表样式:无;
填充:0;
边框顶部:1px实心#ccc;
左边框:1px实心#ccc;
边框底部:1px实心#ccc;
}
#菜单ul{
边际:0px;
填充:0px;
列表样式类型:无;
}
#菜单a{
显示:块;
宽度:128px;
颜色:白色;
背景颜色:蓝色;
文字装饰:无;
文本对齐:居中;
}
#菜单a:悬停{
背景色:#6666AA;
}
#菜单里{
浮动:左;
右边距:8px;
字体系列:“书商旧式”
}
#菜单李:最后一个孩子{
右边距:0
}
#菜单a{
文字装饰:无;
}
#菜单{
显示:无;
}
#菜单ul li:悬停>ul{
显示:块;
}
棉
-
-
-
-
进行以下更改
编辑:
#menu {
margin-left:225px; /*changed*/
display: inline-block;
list-style:none;
padding:0;
border-top:1 solid #ccc;
border-left:1 solid #ccc;
border-bottom:1 solid #ccc;
}
#menu li:last-child{
margin-right:0; /*not required*/
}
此外,还从ul
中删除了width:699px
这不是问题的原因,但菜单的
边框
属性需要在1之后使用单位,可能是px。CSS验证器是你的朋友:也许我遗漏了什么…但菜单栏根本没有居中显示…也许我误解了这个问题。也许你是,考虑到你的答案…:)啊,我知道怎么回事:我们的两种解决方案在很大程度上取决于屏幕宽度。在更大的屏幕上尝试这两种方法,您将看到我在说什么!我相信。。。我分别测试了你的解决方案。我就是不明白。(嗯,可能想把px
放在边框-
属性中的1之后。)@BobBrown更正了px
,谢谢!显然,我还没有检查所有内容……我仍然很难区分padding和marginI刚刚编辑了我的答案。设置边框时,内容中不排除边距,而内容中包含填充。希望你能理解其中的区别:)所以边距会移动内容的实际边框,而填充只会移动内容?对。这是一个直观的演示:顺便说一下,如果我的答案在某种程度上对你有所帮助,你可以通过投票我的答案来感谢我:)是的,它有@theScorpion。不幸的是,它说我需要15名代表投票。因此,一旦我得到它们,我将投票表决这两个答案,因为它们都对我有帮助。再次感谢你!