如何仅使用 CSS 使 HTML 列表水平显示而不是垂直显示?
Posted
技术标签:
【中文标题】如何仅使用 CSS 使 HTML 列表水平显示而不是垂直显示?【英文标题】:How to make a HTML list appear horizontally instead of vertically using CSS only? 【发布时间】:2011-01-09 20:27:11 【问题描述】:我需要这个,因为我想让一个菜单(由 html 列表组成)水平显示。
我不喜欢使用绝对定位,因为当我开始更改页面布局时它可能会变得混乱。
我还想删除子列表的缩进。有可能吗?
【问题讨论】:
【参考方案1】:你必须使用类似下面的东西
#menu ul
list-style: none;
#menu li
display: inline;
<div id="menu">
<ul>
<li>First menu item</li>
<li>Second menu item</li>
<li>Third menu item</li>
</ul>
</div>
【讨论】:
会 (display:inline;) 删除子列表的缩进吗? 没有。为此,您需要#menu li limargin-left: 0; padding-left: 0;
就像一个魅力必须为我的用例稍微调整它,但一个可靠的答案。【参考方案2】:
使用display: inline-flex
#menu ul
list-style: none;
margin: 0;
padding: 0;
display: inline-flex
<div id="menu">
<ul>
<li>1 menu item</li>
<li>2 menu item</li>
<li>3 menu item</li>
</ul>
</div>
使用display: inline-block
#menu ul
list-style: none;
margin: 0;
padding: 0;
#menu li
display: inline-block;
<div id="menu">
<ul>
<li>1 menu item</li>
<li>2 menu item</li>
<li>3 menu item</li>
</ul>
</div>
【讨论】:
【参考方案3】:很简单:
ul.yourlist li float:left;
或
ul.yourlist li display:inline;
【讨论】:
【参考方案4】:你可以直接使用类似这样的内联样式
<ul style="list-style: none; margin: 0; padding: 0;">
<li style="display: inline">A</li>
<li style="display: inline">B</li>
<li style="display: inline">C</li>
<li style="display: inline">D</li>
</ul>
【讨论】:
以上是关于如何仅使用 CSS 使 HTML 列表水平显示而不是垂直显示?的主要内容,如果未能解决你的问题,请参考以下文章
如何仅使用 html 和 css 使 <options> 显示在 <select> 下拉标题下方
如何仅搜索 HTML 列表中的特定跨度标记而不搜索所有列表项? (jQuery)
仅使用 CSS 和 HTML 垂直和水平居中可变大小的图像放大(在 div 中)