Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 将特定内联li与ul中心对齐_Html_Css_Alignment_Centering - Fatal编程技术网

Html 将特定内联li与ul中心对齐

Html 将特定内联li与ul中心对齐,html,css,alignment,centering,Html,Css,Alignment,Centering,我有这个html结构 <div class="top_menu"> <ul> <li class="left"><a href="" class="family-filter">asdas</a></li> <li class="welcome">Welcome <span class="username">Guest</span></li&g

我有这个html结构

<div class="top_menu">
    <ul>
        <li class="left"><a href="" class="family-filter">asdas</a></li>
        <li class="welcome">Welcome <span class="username">Guest</span></li>
        <li class="right"><a href="#">Login</a></li>
    </ul>
</div>
我正在尝试对齐。欢迎来到中间。顶部菜单>ul。我已经尝试了上述方法和以下方法:

.中心{ 左边距:自动; 右边距:自动; 显示:块; 明确:两者皆有; }

但是没有成功,有什么想法吗

文本对齐:居中;需要设置为父级。因此,请将其从。欢迎使用。顶部菜单ul:

文本对齐:居中;需要设置为父级。因此,请将其从。欢迎使用。顶部菜单ul:

您正在定义。请在定义li的全局样式之前使用。这意味着.top_菜单中的任何样式都将覆盖.welcome display:block;中的样式;。如下所示:

.top_menu ul { margin: 0; padding: 0; line-height: 0; }
.top_menu ul li { display: inline; margin: 0; padding: 0; border: 1px solid red; }
.top_menu ul .welcome { text-align:center; display: block; margin: 0 auto; }
.top_menu ul li a { font-size: 14px; }
.top_menu ul { position: relative; }
.top_menu ul .left { float: left; }
.top_menu ul .welcome { text-align:center; display: block; position: absolute; left: 50%; margin-left: -100px; width: 200px; }
.top_menu ul .right { float: right; }
更新

通过绝对定位外部li标记,可以防止它们将中心li推离中心

像这样,为了清晰起见,我只添加了其他样式:

.top_menu ul { position: relative; }
.top_menu ul .left { position: absolute; left: 0; }
.top_menu ul .welcome { text-align:center; display: block; margin: 0 auto; }
.top_menu ul .right { position: absolute; right: 0; }
或者,您可以将.left和.right与它们的浮动保持一致,只需将中心元素的位置完全如下所示:

.top_menu ul { margin: 0; padding: 0; line-height: 0; }
.top_menu ul li { display: inline; margin: 0; padding: 0; border: 1px solid red; }
.top_menu ul .welcome { text-align:center; display: block; margin: 0 auto; }
.top_menu ul li a { font-size: 14px; }
.top_menu ul { position: relative; }
.top_menu ul .left { float: left; }
.top_menu ul .welcome { text-align:center; display: block; position: absolute; left: 50%; margin-left: -100px; width: 200px; }
.top_menu ul .right { float: right; }
如果使用上述方法,请确保左边距为宽度的一半。必须为此方法指定宽度。如果您只是将其设置为大于内容,它将使内容居中,因为文本“align:center”(对齐:居中),因此这应该不是您正在定义的问题。在定义li的全局样式之前,欢迎使用。这意味着.top_菜单中的任何样式都将覆盖.welcome display:block;中的样式;。如下所示:

.top_menu ul { margin: 0; padding: 0; line-height: 0; }
.top_menu ul li { display: inline; margin: 0; padding: 0; border: 1px solid red; }
.top_menu ul .welcome { text-align:center; display: block; margin: 0 auto; }
.top_menu ul li a { font-size: 14px; }
.top_menu ul { position: relative; }
.top_menu ul .left { float: left; }
.top_menu ul .welcome { text-align:center; display: block; position: absolute; left: 50%; margin-left: -100px; width: 200px; }
.top_menu ul .right { float: right; }
更新

通过绝对定位外部li标记,可以防止它们将中心li推离中心

像这样,为了清晰起见,我只添加了其他样式:

.top_menu ul { position: relative; }
.top_menu ul .left { position: absolute; left: 0; }
.top_menu ul .welcome { text-align:center; display: block; margin: 0 auto; }
.top_menu ul .right { position: absolute; right: 0; }
或者,您可以将.left和.right与它们的浮动保持一致,只需将中心元素的位置完全如下所示:

.top_menu ul { margin: 0; padding: 0; line-height: 0; }
.top_menu ul li { display: inline; margin: 0; padding: 0; border: 1px solid red; }
.top_menu ul .welcome { text-align:center; display: block; margin: 0 auto; }
.top_menu ul li a { font-size: 14px; }
.top_menu ul { position: relative; }
.top_menu ul .left { float: left; }
.top_menu ul .welcome { text-align:center; display: block; position: absolute; left: 50%; margin-left: -100px; width: 200px; }
.top_menu ul .right { float: right; }

如果使用上述方法,请确保左边距为宽度的一半。必须为此方法指定宽度。如果您只是将其设置为大于内容,它将使内容居中,因为文本“align:center”(对齐:居中),所以这应该不是问题

尝试显示:块;保证金:0自动!重要的谢谢你,本,但那也不行;保证金:0自动!重要的谢谢Ben,但那也不行。那只是一个测试,无论哪种方式都不行。将内联块更改为只编辑blockAnswer,它不在中间的原因是与左浮动有关。向所有元素添加边框,并尝试从此处调试它。现在我来看看,我把它拿回去,我想你已经给盒子设置了一个宽度,没有把它和中心对齐。请尝试对齐的文本。欢迎使用“居中”并查看是否有差异。使浮动元素绝对位于顶部:0和左侧:0/右侧:0。确保ul处于相对位置,这只是一个测试,无论哪种方式它都不会去。将内联块更改为仅块应答编辑,它不在中间的原因与左侧浮动有关。向所有元素添加边框,并尝试从此处调试它。现在我来看看,我把它拿回去,我想你已经给盒子设置了一个宽度,没有把它和中心对齐。请尝试对齐的文本。欢迎使用“居中”并查看是否有差异。使浮动元素绝对位于顶部:0和左侧:0/右侧:0。确保ul相对位置正确。它似乎将项目置于可用空间的中心。因此,如果左浮动元素比右浮动元素宽,则居中的元素将移到右侧:您能想到任何可能的解决方案吗?您是正确的。它似乎将项目置于可用空间的中心。因此,如果左浮动元素比右浮动元素宽,则居中元素将移到右侧:您能想到任何可能的解决方案吗?