如何创建一个像链接一样的HTML按钮?
我想创建一个HTML按钮,就像链接一样。 所以,当你点击按钮时,它会重定向到一个页面。 我希望它尽可能地可以访问。
我也喜欢它,所以URL中没有任何额外的字符或参数。
我怎样才能做到这一点?
根据迄今发布的答案,我目前正在这样做:
<form method="get" action="/page2">
<button type="submit">Continue</button>
</form>
但问题在于,在Safari和Internet Explorer中,它在URL的末尾添加了一个问号字符。 我需要找到一个解决方案,不会在URL的末尾添加任何字符。
还有其他两种解决方案可以做到这一点:使用JavaScript或将链接样式化为按钮。
使用JavaScript:
<button onclick="window.location.href='/page2'">Continue</button>
但是,这显然需要JavaScript,因此屏幕阅读器无法访问。 链接的一点是转到另一页。 所以试图让按钮像链接一样行事是错误的解决方案。 我的建议是,你应该使用一个链接并将其设置为一个按钮。
<a href="/link/to/page2">Continue</a>
HTML
纯HTML方式是将它放在<form>
其中您在action
属性中指定了所需的目标URL。
<form action="http://google.com">
<input type="submit" value="Go to Google" />
</form>
如有必要,请设置CSS display: inline;
在形式上保持与周围文本的流动。 在上面的例子中,不是<input type="submit">
,你也可以使用<button type="submit">
。 唯一的区别是<button>
元素允许孩子。
您可以直观地预期能够使用类似于<a>
元素的<button href="http://google.com">
,但不幸的是,根据HTML规范,该属性不存在。
CSS
如果允许使用CSS,只需使用样式为<a>
外观类似按钮的appearance
属性(目前仅支持Internet Explorer(2015年7月)仍然很差)。
<a href="http://google.com" class="button">Go to Google</a>
a.button {
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
text-decoration: none;
color: initial;
}
或者选择一个像Bootstrap这样的CSS库。
<a href="http://google.com" class="btn btn-default">Go to Google</a>
JavaScript的
如果允许使用JavaScript,请设置window.location.href
。
<input type="button" onclick="location.href='http://google.com';" value="Go to Google" />
<button onclick="location.href='http://www.example.com'" type="button">
www.example.com</button>
如果这是您在基本HTML定位标记中查找的按钮的外观,那么您可以使用Twitter Bootstrap框架将任何以下常见HTML类型链接/按钮设置为按钮形式。 请注意框架版本2,3或4之间的视觉差异:
<a class="btn" href="">Link</a>
<button class="btn" type="submit">Button</button>
<input class="btn" type="button" value="Input">
<input class="btn" type="submit" value="Submit">
Bootstrap(v4)示例外观:
Bootstrap(v3)示例外观:
Bootstrap(v2)示例外观:
链接地址: http://www.djcxy.com/p/87367.html