css - 使“a”元素适合按钮大小
问题描述
好吧,我有两个按钮(西班牙语),这些按钮位于“a”(链接标签)内,因此:
<div class="MB789">
<a href="#"><button class="B121">Ya soy miembro</button></a>
<a href="#"><button class="B122">Quiero unirme</button></a>
</div>
'a' 的目的显然是将用户重定向到相应的页面,并且按钮用于样式(是的,我希望用户看到按钮而不是链接)
在 CSS 中,我写了以下内容:
.MB789{
display: table;
padding: 10px;
text-align: center;
}
.MB789 button{
border: none;
border: 1px solid black;
padding: 10px 20px;
margin: 10px;
cursor: pointer;
}
.MB789 a{
margin: 10px;
background: red; /*Debug: to visualize the elements 'a'*/
}
这是结果:
这就是问题所在,“a”元素从按钮中脱颖而出。
这就是当我告诉元素以表格形式显示自己时发生的情况。
.MB789 a{
display: table;
background: red; /*Debug: to visualize the elements 'a'*/
}
然后这就是发生的事情:
我想要的是“a”元素不会从按钮中突出,但是当用户单击按钮时,会被重定向到相应的链接。
注意:我知道 Javascript 可以被重定向,但我避免使用该语言执行此操作,因为用户可以从浏览器设置中禁用 Javascript。
解决方案
首先,您不能在标签<button></button>
内嵌套元素<a>
,这是无效标记。请在此处查看原因:我可以使用 HTML5 在 <a> 中嵌套 <button> 元素吗?
<a>
其次,您可以像按钮一样设置标签的样式,这将解决您的问题。
您的 HTML 标记需要如下所示:
<div class="MB789">
<a href="#">Ya soy miembro</a>
<a href="#">Quiero unirme</a>
</div>
你的 CSS 看起来像这样:
.MB789{
display: inline-block;
padding: 10px;
text-align: center;
}
.MB789 a{
display: inline-block;
border: 1px solid black;
padding: 10px 20px;
margin: 10px;
cursor: pointer;
}
推荐阅读
- fabricjs - 更改由 fabric.util.groupSVGElements 生成的对象类型
- c# - 将 .txt 文件读入列表 C#
- c++ - 为什么我会收到未定义的参考错误?
- node.js - 这里使用 NodeJS 映射 API 请求令牌
- html - G Suite 帐户的自定义 HTML 对话框中的 google.script.run 问题(但不是个人 Google 帐户)
- sql - 带有特殊字符(ñ 和重音)的 RTF 到 SQL
- asp.net-core - 有没有办法将任何 IDistributedCache 用作 .net 核心中的 ResponseCache?
- c# - 将 GetInt64/SetInt64 添加到 ASP.NET Core 会话
- python - 使用 Flask 上传文件时,我应该如何处理重复的文件名
- amazon-web-services - 如果在扫描时在 DynamoDB 中修改项目会发生什么