背景色延伸到ul的整个宽度
时间:2020-03-06 14:30:55 来源:igfitidea点击:
我有一个用于水平菜单的简单列表:
<ul> <h1>Menu</h1> <li> <a href="/" class="selected">Home</a> </li> <li> <a href="/Home">Forum</a> </li> </ul>
当我将背景色添加到选定的类时,只有文本才获得该颜色,我希望它可以拉伸该部分的整个距离。
希望这是有道理的。
解决方案
a元素是一个内联元素,这意味着它仅适用于其包含的文本。如果希望背景颜色水平延伸,请将选定的类应用于块级元素。将类应用于li元素应该可以正常工作。
或者,我们可以将其添加到所选类的CSS中:
display: block;
这将使一个元素显示为块元素。
这样的事情会起作用吗?
.selected { display: block; width: 100%; background: #BEBEBE; }
将选定的类放在<li>
上,而不是<a>
默认情况下,<a>元素是内联的。这意味着它们不会建立自己的块,它们只是文本的一部分。我们希望他们建立自己的块,因此应使用a {display:block; }
和适当的上下文。这也使我们能够向<a>
元素而不是<li>
元素添加填充,从而使它们的可点击区域更大,从而更易于使用。
每个人都是正确的,问题是锚点是内联元素,但我想也值得一提的是,列表中也有一个H1. 禁止在此处使用H1,应将其从UL中拉出或者放入LI标签中。