html - 如何将 LI 扩展到 DIV 的全宽

标签 html css

这是我的html代码:

<div id="menu">
 <ul>
  <li>Home</li>
  <li>My blah</li>
  <li>Lorem ipsum</li>
  <li>Dolor amet</li>
  <li>photogallery</li>
 </ul>
</div>

这是我的 CSS:

#menu li {
 display: inline;
 list-style-type: none;
}

#menu 位于 #header-wrap 中,宽度为 800px。我想将 UL 中的文本扩展为与 #menu 相同的大小,即 800px。我不能用 margin-leftmargin-right 来做到这一点,因为它会留下空格或将 li 移动到我不喜欢的另一行'想要。

那么是否有任何元素可以添加到 CSS 中并将文本扩展到 800 像素?

enter image description here

我不能使用 word-spacing 因为 li 中的某些东西有多个单词。

最佳答案

您已将 display 属性指定为 inline。内联元素将折叠到其内容的宽度。

如果您希望它设置宽度,请将 display 更改为 blockinline-block

#menu li {
 display: inline-block; /*compensate for spaces in the source if using this*/
 width: 20%; /* for 5 li's (100%/5)*/
 margin: 0;
 padding: 0;
 text-align: center; /* optional */
 list-style-type: none;
}



#menu li {
 display: block;
 float: left;
 width: 20%; /* for 5 li's (100%/5)*/
 margin: 0;
 padding: 0;
 text-align: center; /* optional */
 list-style-type: none;
}

编辑:对于 7 个 LI,将宽度百分比更改为 14.25%。这将为您在右侧留出一点空间,可以通过将列表容器居中对齐来进行调整。

编辑:正如 FAngel 所指出的,inline-block 元素有一个烦人的习惯,就是让格式化空格显示出来,因此 block + float 方法更可取。

关于html - 如何将 LI 扩展到 DIV 的全宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300764/

相关文章:

html - 如何将特定文本环绕在图像周围?

html - 如何在容器内的 div 中居中放置 div?

javascript - 通过原始 Javascript 获取 HTML 属性值

html - 浏览器比例不同时出现额外框

html - 如何关闭 html 输入表单字段建议?

jquery - 帮助创建子导航的 HTML 嵌套列表

ios - UIWebView 将WebDB 数据库保存在哪里?

html - 如何使用 CSS 隐藏搜索引擎中的重复内容?

Html/Css 博客文章垂直分类

jquery - 当 img 高度小于窗口高度时,CSS 或 jQuery 可缩放背景图像下方没有空白