html - 有没有一种简单的方法可以将列表项宽度设置为文本长度?

标签 html css html-lists

我正在尝试创建一个简单的导航栏,其中的列表项会在您将鼠标悬停在它们上方时突出显示。但是,默认情况下,列表项占我页面宽度的 100%,因此将鼠标悬停在空白处也会突出显示列表项。

在不单独调整每个元素的宽度的情况下,是否可以应用整体样式来使列表项的宽度等于其文本的大小?

这是我的导航栏和样式表:

<div id="navbar">
    <ul>
        <li>Bio</li>
        <li>News</li>
        <li>Music</li>
        <li>Tour</li>
        <li>Video</li>
        <li>Contact</li>
        <li>Press</li>
        <br>
        <li>Facebook</li>
        <li>Twitter</li>
        <li>Tumblr</li>
        <li>Instagram</li>
    </ul>
</div>

CSS:

#navbar{
font-family: "Helvetica", "Sans-Serif";
}

#navbar ul li {
list-style-type: none;
}

#navbar ul li:hover {
background-color:#B2322B;
color: #FFFFFF;
}

最佳答案

display: inline-block 应该可以工作

关于html - 有没有一种简单的方法可以将列表项宽度设置为文本长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21502492/

相关文章:

html - 如何通过 Bootstrap 响应让 Center Div 堆栈在顶部?

html - 制作导航栏的元素html

javascript - 如何将具有特定 css 样式的所有 li 元素移动到另一个 ul?

html - 如何反转垂直条形图方向?

javascript - 选择时从输入字段中检索值,在表 TD 内

java - 限制 html JLabel 中的行数

javascript - 在悬停菜单上,子菜单弹出而不是淡入

javascript - jquery 没有正确附加计数

javascript - 是否有原因导致括号运算符 [] 可能无法在 React 组件中与 getElementsByClassName() 一起使用?

html - 格式化 HTML 列表