html - 如何使 html 菜单文本从头到尾跨度 100%

标签 html css menu flexbox

我正在尝试创建一个导航菜单,其中总共有 5 个链接到其他页面。 我不知道如何让文本从一端跨越到另一端,所以它占据了页面的整个宽度,同时又很灵活。

结构很简单:

ul {
    display: flex;
    justify-content: center;
    width: 100%;
}
ul li {
    display: inline-block;
    text-align: center;
    flex: 1;
    justify-content: space-between;
}
ul li a {
    display: inline-block;
    width: 100%;
    font-size: 16px;
    font-weight: 300;
    color: #070707;
}
<ul>
    <li><a href="">Contact us</a></li>
    <li><a href="">Delivery</a></li>
    <li><a href="">About us</a></li>
    <li><a href="">Terms &amp; Conditions</a></li>
    <li><a href="">Returns</a></li>
</ul>

这行得通,但由于文本在每个 li 元素内居中,因此左右两边都有一些空间。我正在尝试使文本“接触”ul 元素的边缘(占据父元素的 100% 宽度)。因此,如果 ul 元素的宽度为 1240px,我会尝试使文本从头到尾占用 1240px。

这是我在 photoshop 中制作页面模型时的样子:

enter image description here

蓝线是边缘(其中一条表示中间)。

当我使用我写的flexbox代码时,它看起来是这样的:

enter image description here

有没有办法让它看起来像我最初想要的那样?

最佳答案

li 中删除 flex: 1。您不希望元素增长,因为这会阻止文本到达四肢。

justify-content: space-between; 添加到 ul。您当前正在使元素居中,这将使它们聚集在一起。

您还需要删除默认的 ul 填充,但假设您已经这样做了。

body {
    outline: 1px dashed lightBlue;
}

ul {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0;
}
ul li {
    display: inline-block;
    outline: 1px solid orange;
}
ul li a {
    display: inline-block;
    width: 100%;
    font-size: 16px;
    font-weight: 300;
    color: #070707;
}
<ul>
    <li><a href="">Contact us</a></li>
    <li><a href="">Delivery</a></li>
    <li><a href="">About us</a></li>
    <li><a href="">Terms &amp; Conditions</a></li>
    <li><a href="">Returns</a></li>
</ul>

关于html - 如何使 html 菜单文本从头到尾跨度 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58488366/

相关文章:

javascript - 如何在保持其功能的同时更改字体按钮的外观?

html - 如何在 Safari 上自动溢出

c# - 如何在 C# 中禁用某些 TextBox 项?

html - <br> 标签是否占用一些水平空间?

javascript - jVectorMap 渲染太小

Android - 菜单项未显示在 ActionBar 中以启动应用程序

CSS 二级菜单 - 二级菜单没有出现在正确的位置

javascript - 当插入符进入 contenteditable div 中的 span 元素时触发事件

html - Flex 内容溢出容器

javascript - 使用基础 Accordion 列表时如何格式化图像和 vcard