Html “试图居中”;导航栏“;,但宽度自动设置为100%
我试图将导航栏居中放置在页面顶部,但导航栏的宽度已自动设置为100% 以下是我的HTML代码:Html “试图居中”;导航栏“;,但宽度自动设置为100%,html,css,Html,Css,我试图将导航栏居中放置在页面顶部,但导航栏的宽度已自动设置为100% 以下是我的HTML代码: <body> <div class="container"> <div class="navBar"> <li><a href="#">List Item #1</a></li> <li><a href="#">List I
<body>
<div class="container">
<div class="navBar">
<li><a href="#">List Item #1</a></li>
<li><a href="#">List Item #2</a></li>
<li><a href="#">List Item #3</a></li>
<li><a href="#">List Item #4</a></li>
<li><a href="#">List Item #5</a></li>
</div>
</div>
</body>
是否有其他方法可以使“navBar”div在主体的中心对齐?我怀疑当前。navBar是display:block,这意味着它将填充其容器的100%
尝试将.navBar设置为display:inline block或float:left首先,HTML无效
li
必须是ul
ul
和div
是块级元素,因此自动宽度为100%,因此必须进行收缩包装
一种方法是使用显示:内联块
然后父元素上的text align:center
将使内容居中。由于您已经在navBar
元素上设置了高度,因此我假设您希望在li
上设置相同的高度
.container{
宽度:75%;
高度:自动;
保证金:0自动;
文本对齐:居中;
}
navBar先生{
显示:内联块;
高度:35px;
}
李国宝先生{
显示:内联块;
列表样式类型:无;
}
-
-
-
-
-
使用边距:在具有宽度的对象上自动将其居中
给你:
.container{
宽度:75%;
高度:自动;
保证金:0自动;
背景色:红色;
}
navBar先生{
宽度:80%;
保证金:0自动;
背景色:白色;
}
李{
宽度:18%;
保证金:自动;
显示:块;
浮动:左;
文本对齐:居中;
}
-
-
-
-
-
正确的标记
.navBar
必须是ul
而不是div
,作为li
的父项才能成为有效标记:)
问题
div
和ul
元素的默认显示为display:block
。具有display:block
的元素将是其父元素宽度的100%,从而使margin:auto
无效。您可以将元素的宽度设置为允许居中,但如果/当内容更改时,该宽度将中断
修理
一个简单的解决方法是使用display:table
,因为这将允许您使用margin:auto
来居中元素,而无需指定宽度,从而使代码更加健壮
注意:确保从ul
中删除默认填充,否则它将无法正确居中
示例如下:
.container{
宽度:75%;
保证金:自动;
}
navBar先生{
高度:35px;
保证金:0自动;
显示:表格;
填充:0;
}
李国宝先生{
显示:内联块;
填充:0 10px;
列表样式:无;
}
.container{
width:75%;
height:auto;
margin:0 auto;
}
.navBar{
width:auto;
height:35px;
margin:0 auto;
}