html - 如何在 li 中将文本居中?

标签 html css web html-lists

我试图在四个不同的 li 之间设置相等的间距元素,但我最终得到了这个:

enter image description here

HTML:

<ul><li>Inbox</li></li><li>Drafts</li></li><li>Sent</li></li><li>Trash</li></ul>

CSS:

ul li { 
     width: 25%;
     display: inline-block;
     text-align: center;
}

我已经测试了 CSS,它可以正常工作。我认为问题在于 li的字母数量不尽相同,因此您最终会得到一些奇怪的视觉效果。我相信这一点的理由:

enter image description here

(等间距)

最佳答案

我解决这个问题的方法是将 li 置于 ul 的中心,因为 ul 自然会与父级宽度相同。

ul {
    /* Use flex boxes to align li items */
    display: flex;
    justify-content: space-around;
    /* Remove default padding from major browsers */
    padding: 0;
    /* Hide the default decorations for li items */
    list-style: none;
}
ul > li {
    /* Display the elements in one line */
    display: inline-block;
}

查看 this JSFiddle看到它的工作。

关于html - 如何在 li 中将文本居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33049010/

相关文章:

html - 提交按钮中心问题

javascript - 为什么我的 <p> 文本不会改变?

javascript:上传图像文件并将其绘制到 Canvas 中

html - 绝对位置的内嵌文本

css - HTML & CSS 如何防止 div 扩展到窗口的高度?

javascript - IE 中的 CSS 3 文本阴影

javascript - 当我在 jquery 中修改 HTML 时如何刷新对象?

CSS子网格容器不继承父网格

php - Laravel htmlspecialchars() 期望参数 1 是字符串,我的项目中给出的对象?

web-scraping - 如何保护我的网站免受 HTTrack 或其他软件的翻录?