【发布时间】:2025-12-20 01:30:06
【问题描述】:
前历史
我正在构建 html 表单,其中的元素具有多个选项....,但我不想将其显示为下拉列表,而是希望在不使用任何 js 的情况下将它们显示为按钮,我删除了带有指向输入复选框的标签的按钮。
问题
我需要label(或anchor或div)标签的行为与button标签完全一样,没有任何额外的包装标签,我在谷歌上搜索了所有变体不提供与原生标签按钮相同的结果。
<button class="button">
Text
<div>Small Text</div>
</button>
解决方案不起作用
line-height, padding 不提供相同的功能,因为按钮的高度/宽度和文本长度可能会有所不同。我尝试了特殊的 webkit 样式 -webkit-appearance: button; 没有变化。
Mustery Flex
我试过弹性
.button {
flex-wrap: wrap;
align-items: center;
justify-content: center;
display: inline-flex;
}
<div class="button">
Text
<div>Small Text</div>
</div>
但子 div 内部按钮不会中断/扭曲到新行。
p.s 环境测试,谷歌浏览器,Safari
【问题讨论】:
-
你能提供你的代码的jsfiddle吗?
-
看起来像XY problem,如果您需要复制它的功能,为什么不直接使用
button? -
@LazarLjubenović 我正在制作 html 表单,我在其中使用多个选择输入,但外观将是按钮而不是选项,而不是按钮,我将使用带标签的输入复选框,复选框将被隐藏
-
<button>s 不能包含 div...这是无效的 HTMl。