我从这篇文章中学到,总是使用<a>
标签或<button>
标签来制作按钮。现在,我正在尝试使用<a>
标签。我的问题是:有什么办法可以增加标签的可点击区域?假设我<a>
在div框中使用。我希望整个div框成为一个按钮。我可以将点击区域更改为整个div框吗?感谢您的帮助。
Answers:
编辑:
@ t1m0thy的回答比我的回答更优雅,请更好地遵循他的建议。
另外,@ aldemarcalazans在评论中建议的漂亮链接:https : //davidwalsh.name/html5-buttons。
原始答案:
使用<a />
时,你需要一个连接(一个的锚)。<button />
需要按钮时使用。
也就是说,如果您确实需要扩展一个<a />
,请display: block;
在其上添加CSS属性。然后,您可以指定宽度和/或高度(即,好像是一个<div />
)。
display:block
的两个容器<a />
,也是<a />
。然后,您应该使用padding
而<a />
不是的容器<a />
。
要增加文本链接的区域,可以使用以下CSS;
a {
display: inline-block;
position: relative;
z-index: 1;
padding: 2em;
margin: -2em;
}
padding: 0 2em; margin: 0 -2em;
防止可点击区域被按下。
box-sizing: content-box
重置border-box
的位置
是的,如果您使用的是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
只有在创建链接块级别元素之后,您才能应用。
display
CSS属性早在HTML5规范开始之前就已经存在。
<a href="#foo"><div>.......</div></a>
如div
内a
是有效的HTML5。
只是做锚display: block
和width/height: 100%
。例如:
.button a {
display: block;
width: 100%;
height: 100%;
}
jsFiddle:http : //jsfiddle.net/4mHTa/
您可以尝试使用display:block或display:inline-block。一个很好的教程可以在这里找到:http : //robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/
使用位置css属性并将top,right,bottom和left设置为零。如果我需要,在我使用text-indent的情况下,请设置z-index,因为我不想显示链接“ text”,但是如果要显示链接“文字”,只是不要使用文字缩进
display:block;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
text-indent: -99999px;
非常感谢这里的答案提供者,它为我指明了正确的方向。
对于那里的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>