- 此问题在此处已有答案**:
Flex / Grid layouts not working on button or fieldset elements(3个答案)
14小时前关门了。
在代码中:tailwind play,这两个元素之间唯一的变化是:
span
代替
button
我需要的是按钮填充所有的导航栏高度,像跨度之一(没有红色背景可见)。
为什么不呢?
<div class="top-0 flex h-20 w-full justify-between bg-white">
<span class="flex bg-red-400">
<a class="flex items-center bg-green-400 px-6">
<span>Hello</span>
</a>
</span>
<button class="flex bg-red-400">
<a class="flex items-center bg-green-400 px-6">
<span>Hello</span>
</a>
</button>
</div>
1条答案
按热度按时间z31licg01#
因为根据span和button的文档
HTML元素是一个用于描述内容的通用内联容器,它本身并不表示任何内容。它可用于对元素进行分组以实现样式化目的(使用class或id属性)
span
具有此处指定的属性flex
。尝试从span
中删除类flex
,您会发现跨度也仅使用a
标记所需的高度。flex
是推动span
以完成parent
高度的类没有
flex
类的输出范围:而在
button
中,它有自己的属性,并且不像span
那样完整,默认情况下,它只使用子对象所需的高度。溶液
在
<button>
的<a>
标记内使用:h-full
或
将
button
更改为div
输出:
代码: