我有一个div
,它有一个设定的宽度,并且它包裹着一个链接。我希望内部链接填充div
的整个空间,这样当我点击div
内部的任何地方(我的样式看起来像一个按钮)时,它会转到链接。这是我尝试过的,但是.link_class
没有做我想要的。有什么建议吗?
HTML:
<div class="button_class">
<a class="link_class" href="http://www.my_link.com>My Link</a>
</div>
CSS:
.button_class {
width:150px;
padding:5px 7px;
color:#fff;
text-align:center;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
}
.link_class {
width:100%;
height:100%;
}
答案 0 :(得分:53)
这应该可以解决问题: -
默认情况下,a
是内联元素,宽度不会影响它们。因此,将其更改为内联块以使其获取您指定的宽度。
.link_class {
display:inline-block;
width:100%;
height:100%;
}
答案 1 :(得分:6)
这是Solution。
HTML:
<div class="button_class">
<a class="link_class" href="http://www.my_link.com">My Link</a>
</div>
CSS:
.button_class {
width:150px;
color:#fff;
text-align:center;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
background:blue;
}
.link_class {
display:block;
color:#ffffff;
overflow:auto;
padding:5px 7px;
}
希望这有帮助。
答案 2 :(得分:2)
这很有用。关键是明确设置div
高度,然后在链接上使用line-height
。
.button_class {
width:150px;
height:30px;
color:#fff;
text-align:center;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
}
.link_class {
display:inline-block;
width:100%;
line-height:30px;
}
答案 3 :(得分:2)
为什么首先使用外部div?写下链接的所有代码,并将链接显示为按钮。这将简化您的问题。
.link_class{width:150px;height:30px;color:#fff;text-align:center;display: block;
-webkit-border-radius:3px; -moz-border-radius:3px; border-radius:3px;
/*some other styles*/}
查看此演示:Fiddle
答案 4 :(得分:0)
您需要将链接设置为块级元素。
.link_class {
display: block;
}
答案 5 :(得分:0)
我知道这是一个老问题,但HTML5有更好的方法。
今天的答案是:
HTML:
<a class="link_class" href="http://www.my_link.com>
<div class="button_class">My Link</div>
</a>
CSS保持不变,除了你不再需要.link_class。
答案 6 :(得分:-1)
您可以在元素中使用引导程序class="stretched-link"
,它将扩展到div。