【发布时间】:2016-01-14 18:13:11
【问题描述】:
我想这样做,以便标签上的可点击区域是LI 的大小。
我的 html 看起来像:
<li>
<a href="#">Link</a>
</li>
【问题讨论】:
-
表格单元格相同,明确要求高度填充:stackoverflow.com/questions/3966027/…
我想这样做,以便标签上的可点击区域是LI 的大小。
我的 html 看起来像:
<li>
<a href="#">Link</a>
</li>
【问题讨论】:
正如其他人所说的
li a { display: block; }
应该实现你所追求的。 但是您还必须从
li { padding: 0; }
li a { display: block; padding: 1em; }
【讨论】:
calc 来计算全高:height: calc(100% - 4px) - 假设您在该元素上有padding: 2px。
在 CSS 中:
li a {
display: block;
}
当然,您会希望选择器比这更具体。
<ul>
<li class="myClass">
<a href="#">Link</a>
</li>
</ul>
li.myClass a {
display: block;
background-color: #fdd; /* Demo only */
}
【讨论】:
A 标签包装您的LI 内容,具体取决于详细信息。但是,如果没有看到这个细节,就很难说。
这将使整个区域都可以点击。
li a { display: block; }
【讨论】:
li a{
display: inline-table;
height:95%;
width: 95%;
}
95 预测任何 li 边距或填充
【讨论】:
试试这个css
li{
border:1px solid black;
height:40px;
}
li a{
border:1px solid red;
display:block;
height:100%;
}
【讨论】:
height:100%; 和display:block; 对我有用。谢谢+1!
如果您目前有同样的问题,您可以简单地将填充添加到正确的位置:
li {
//remove any padding or margin attributes from here
}
li a {
display: block;
padding: 20px; //or however big you want the clickable area to be
}
锚标签默认是内联元素,所以你必须明确地将它们更改为显示为块元素,然后才能弄乱填充或边距。
希望这会有所帮助!
【讨论】:
display: inline-block; 使它们像块一样工作,但同时与其他元素保持一致。
我使用的另一个选项是在 Photoshop 中创建一个透明的 png 图像并将其放在锚标签内,使其位置为绝对并增加其尺寸以适合您想要的父 div,并且您可以拥有一个大的可点击区域。
<a href="test.html" />
<img id="cover_img" src="cover.png" />
</a>
#cover_img {
display: block;
height: 200px;
width: 193px;
position: absolute;
}
在某些情况下可能有用。
【讨论】: