我从这个post学到了总是使用<a>
标签或<button>
标签来制作按钮。现在我正在尝试使用<a>
标记。我的问题是:有没有办法增加标签可点击区域?假设我在div框中使用<a>
。我希望整个div框成为一个按钮。我可以将点击区域更改为整个div框吗?
谢谢你的帮助。
答案 0 :(得分:98)
要增加文本链接的区域,可以使用以下css;
a {
display: inline-block;
position: relative;
z-index: 1;
padding: 2em;
margin: -2em;
}
答案 1 :(得分:48)
修改强>
@t1m0thy's answer比我更优雅,更好地遵循他的建议。
另外,@aldemarcalazans在评论中提出了很好的链接:https://davidwalsh.name/html5-buttons。
原始回答:
当您需要链接( 锚)时使用<a />
。需要按钮时使用<button />
。
也就是说,如果您确实需要展开{{1}},请在其上添加CSS属性<a />
。然后,您就可以指定宽度和/或高度(即好像它是display: block;
)。
答案 2 :(得分:17)
是的,如果您使用的是 HTML5 ,则此代码有效,否则:
<a href="#foo"><div>.......</div></a>
如果您不使用HTML5,则可以建立链接block
:
<a href="#foo" id="link">Click Here</a>
<强> CSS:强>
#link {
display : block;
width:100px;
height:40px;
}
请注意,只有在制作链接块级元素后才能应用width
,height
。
答案 3 :(得分:8)
如果您使用的是HTML 5,即doctype
<!doctype html>
然后你可以使用block-level links。
<a href="google.com">
<div class="hello">
..
</div>
</a>
答案 4 :(得分:8)
只需制作主播display: block
和width/height: 100%
即可。例如:
.button a {
display: block;
width: 100%;
height: 100%;
}
jsFiddle:http://jsfiddle.net/4mHTa/
答案 5 :(得分:7)
将padding
添加到锚标记的CSS类中。如果需要,请根据您想要的可点击区域单独添加padding-top
,padding-bottom
,....它对我有用。
答案 6 :(得分:3)
您可以尝试使用display:block或display:inline-block。可以在这里找到一个很好的教程:http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/
答案 7 :(得分:3)
对我来说,填充解决方案不好,因为我在按钮上使用了边框,因此很难修改标记以为触摸区域创建覆盖。
所以我所做的是,我只是使用了:before伪标记,并创建了一个叠加层,对于我来说,这是完美的,因为click事件以相同的方式传播。
button.my-button:before {
content: '';
position: absolute;
width: 26px;
height: 26px;
top: -6px;
left: -5px;
}
答案 8 :(得分:0)
使用位置css属性并将top,right,bottom和left设置为零。如果需要,设置z-index 就我而言,我使用了text-indent,因为我不想显示链接“ text”,但是如果您想显示链接“ text”,那就不要使用text-indent
display:block;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
text-indent: -99999px;
答案 9 :(得分:0)
非常感谢这里提供答案的作者,它为我指明了正确的方向。
对于在那里的Bootstrap4用户来说,这对我有用。将链接(点击目标)设置为正确大小,以通过手机上的Lighthouse Site Audit。
<span class="small">
<a class="d-inline position-relative p-3 m-n3" style="z-index: 1;" href="/AdvancedSearch" title="Advanced Site Search using extra optional filters">Advanced Site Search</a>
</span>
答案 10 :(得分:0)
我发现的简单方法: 在“ a” 标签列表项的右侧添加“ li” 标签
<li></span><a><span id="expand1"></span></a></li>
在CSS文件上,在下面创建此文件
#expand1 {
padding-left: 40px;
}