当前位置: 首页 > 面试题库 >

如何居中对齐水平菜单?

易成双
2023-03-14
问题内容

我需要居中对齐水平菜单。
我尝试了各种解决方案,包括inline-block/ block/ center-align等等的组合,但是没有成功。

这是我的代码:

<div class="topmenu-design">
    <!-- Top menu content: START -->
    <ul id="topmenu firstlevel">                                                                                       
      <li class="firstli" id="node_id_64"><div><a href="#"><span>Om kampanjen</span></a></div></li>
      <li id="node_id_65"><div><a href="#"><span>Fakta om inneklima</span></a></div></li>
      <li class="lastli" id="node_id_66"><div><a href="#"><span>Statistikk</span></a></div></li>
    </ul>
    <!-- Top menu content: END -->
</div>

更新

我知道如何中心对齐的ul内部div。可以使用Sarfraz的建议来完成。但是列表项仍然浮动在内ul

我需要Java语言来完成此操作吗?


问题答案:

前提很简单,基本上只涉及一个无宽度的浮动包装,该浮动包装浮动到左侧,然后从屏幕上移到左侧的宽度位置。左:-50%。接下来,将嵌套的内部元素反转,并应用+50%的相对位置。这样可以将元素固定在中心位置。相对定位可保持流量,并允许其他内容在下方流动。

#buttons{

    float:right;

    position:relative;

    left:-50%;

    text-align:left;

}

#buttons ul{

    list-style:none;

    position:relative;

    left:50%;

}



#buttons li{float:left;position:relative;}/* ie needs position:relative here*/



#buttons a{

    text-decoration:none;

    margin:10px;

    background:red;

    float:left;

    border:2px outset blue;

    color:#fff;

    padding:2px 5px;

    text-align:center;

    white-space:nowrap;

}

#buttons a:hover{ border:2px inset blue;color:red;background:#f2f2f2;}

#content{overflow:hidden}/* hide horizontal scrollbar*/


<div id="buttons">

    <ul>

        <li><a href="#">Button 1</a></li>

        <li><a href="#">Button 2's a bit longer</a></li>

        <li><a href="#">Butt 3</a></li>

        <li><a href="#">Button 4</a></li>

    </ul>

</div>


 类似资料:
  • 在这个页面上,有一些员工的照片。 在肖像模式的iPad上,员工照片在右手边被切断。 我不介意他们被切断,但我希望他们对齐中心,而不是左对齐。 注意,我希望图像的尺寸是相同的,只是对齐向左移动,变成中心,这样脸就显示在图像边界的中间。 我尝试了以下解决这个问题的方法: 和 和 但这些都不起作用。

  • 问题内容: 由于某些原因,我的div不会在包含div的水平居中: 有时有一个行div,其中只有一个块div。我究竟做错了什么? 问题答案: 要实现您想要做的事情: 考虑使用代替。

  • 我有个问题快把我逼疯了。 我有一个包装器,其中包含一个带有一些文本的div和一个图像。图像和div的大小各不相同。包装器div将调整为较大包装器的大小。 它们都应该垂直对齐,如下所示: 我偶然发现了这个帖子: http://www.jakpsatweb.cz/css/css-vertical-center-solution.html 正如你在小提琴上看到的: http://jsfiddle.net

  • text-align-last属性用于定义块级容器中,行内元素的最后一行内容的水平对齐方式,可选值有 auto | left | center | right | justify | start | end | start | end,默认值为 auto。 除 auto外,其它取值与 text-align 属性取值的含义相同。auto 表示使用 text-align 的设定(例外情况,text-a

  • 在一个块级容器中,当一行中的行内级框的总宽度,小于容器的宽度时,通过 text-align属性来指定这些行内级框在行中的水平分布。 事实上,text-align属性是通过指定行框与哪个点对齐,来决定行内级框在行中如何进行水平分布。可选值有 left | center | right | justify | start | end,默认值为start。不同取值的含义见表 3‑3: 表 3-3 tex

  • 问题内容: 我需要将两个div彼此对齐,以便每个都包含一个标题和一个项目列表,类似于: 使用表非常容易,但是我不想使用表。我该如何实现? 问题答案: 将div浮动到父容器中,并设置其样式如下: