使用<a>元素在没有javascript的情况下使整个<li>可点击

But*_*kus 19 html css

有什么办法吗?

我有<ul>一些<li>内部元素.它是下拉菜单的一部分.每个都<li>变成一个框,其大小<li>与组中最大元素的大小(其中包含最多文本的元素)相同.

问题是我希望人们能够在每个<li>框内的任何位置单击并使链接工作,而不是文本所在的位置.如果可能的话,我想要一个非JavaScript的解决方案.

这是一些示例HTML.内部<li>元素是具有链接的元素.

<li class="parent Glass" style=" float: left;">

Glass
    <ul class="child" style="float: left; position: absolute; z-index: 999; display: none;">
    <li style=" float: left;">
                <a href="http://example.com/path/to/somehwere.html?glass=25">Brown       (13)</a>

    </li>
    <li style=" float: left;">
                <a href="http://example.com/path/to/somehwere.html?glass=112">Crystal       (93)</a>

    </li>
    <li style=" float: left;">
                <a href="http://example.com/path/to/somehwere.html?glass=99">Gray       (1)</a>

    </li>
    <li style=" float: left;">
                <a href="http://example.com/path/to/somehwere.html?glass=42">Latte       (12)</a>

    </li>
    <li style=" float: left;">
                <a href="http://example.com/path/to/somehwere.html?glass=72">White       (15)</a>

    </li>
    </ul>

</li>
Run Code Online (Sandbox Code Playgroud)

mpe*_*pen 50

您需要添加display:block到您的<a>标签,然后您可以设置宽度和高度或填充[在<a>]上,如果您想使可点击区域更大.

  • @ButtleButkus:块级元素自然填充其父级的宽度.虽然他们不会填补高度.这就是为什么我喜欢在`<a>`上设置大小调整属性,然后让`li`"崩溃",以便通过在`li`上设置`padding:0`来紧紧围绕"a". (4认同)
  • 在不知道父元素到底有多大的情况下,如何使可点击区域填充父元素? (3认同)