是无效的HTML并且具有未定义的行为.请参阅http://stackoverflow.com/questions/6393827/can-i-nest-a-button-element-inside-an-a-using-html5这里的详细答案.如果它有效,那只是巧合.
@Dean_Wilson尝试不得不迎合ie6 :(
3> Raul Luna..:
恕我直言,有一个更好,更优雅的解决方案.如果您的链接是这样的:
Click me!!!
相应的按钮应为:
这种方法更简单,因为它使用简单的html元素,因此它可以在所有浏览器中使用而无需更改任何内容.此外,如果您的按钮有样式,此解决方案将免费为您的新按钮应用相同的样式.
好的,我今天测试了这个...并且..如果你没有使用ASP.NET webforms,它会很有用.ASP.NET webforms将整个页面包装在一个表单标记中,嵌套表单似乎根本不起作用 - 它在ASP.NET表单标记之外工作,但这限制了对顶部和底部链接的使用.
简单有效.您可能希望将display:inline样式添加到表单元素.否则,它被视为与按钮/锚点/输入不同的块.
4> Kevin Leary..:
CSS3 appearance
属性提供了一种使用浏览器内置样式设置任何元素(包括锚点)样式的简单方法
:
a.btn {
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
}
CSS Button
5> Ólafur Waage..:
a {
display: block;
height: 20px;
width: auto;
border: 1px solid #000;
}
如果你给它们块显示,你可以使用这样的标签.您可以调整边框以产生类似阴影效果和该按钮的背景颜色感觉:)
6> 小智..:
如果你想要带圆角的漂亮按钮,那么使用这个类:
.link_button {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: solid 1px #20538D;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
background: #4479BA;
color: #FFF;
padding: 8px 12px;
text-decoration: none;
}
Example