如何仅使用 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 将绝对元素自动居中在相对父级内?

仅使用 CSS 和 HTML 垂直和水平居中可变大小的图像放大(在 div 中)

[android]如何使LinearLayout布局从右向左水平排列,而不是从左向右排列

css如何使背景图片水平居中