TailwindCSS 固定宽度 属性 不适用于分辨率更改
TailwindCSS fixed width property not working on resolution change
我有这个 div 应该代表输入旁边的按钮。理想情况下,在分辨率发生变化时,输入元素的宽度会缩小,但按钮的高度和宽度保持不变。
<div className="flex flex-row rounded-lg border border-white border-solid hover:cursor-pointer py-2 px-2 w-28">
<AddIcon></AddIcon>
<div className="flex font-sans text-base font-medium">Add site</div>
</div>
我设置了w-28
属性以为可以实现这个。但是,如果我缩小 window 或它出现的屏幕,按钮会改变宽度,我不确定为什么。
这是完整的组件:
<div id="settings" className="w-3/4 h-5/6 bg-blue-300 self-center">
<div id="settings-content" className="flex flex-col self-center mx-5">
<div id="header" className="flex flex-col mt-5">
<div id="title" className="font-sans font-bold text-3xl">Block Sites</div>
</div>
<div id="subtitle" className="font-sans text-base font-medium text-neutral-600">Visiting these sites will stop point acquisition until you reset the timer</div>
<div id="block-site-add-list" className="flex flex-row mt-16 justify-between bg-amber-400 shrink-0">
<div className="flex flex-row rounded-lg border border-white border-solid hover:cursor-pointer py-2 px-2 w-28">
<AddIcon></AddIcon>
<div className="flex font-sans text-base font-medium">Add site</div>
</div>
<input className="ml-5 flex-grow bg-red-500"></input>
</div>
</div>
</div>
这是按钮在较小屏幕上的样子,此时两个词应在同一行:
您可以尝试将 whitespace-nowrap
添加到您的标签 div 以确保文本不会换行。由于您将元素(按钮和输入)包裹在另一个 flex 中,因此您可以将 shrink-0
添加到包装器 div 以保持其大小。
例如:
<div id="block-site-add-list" className="flex flex-row ...">
<div className="shrink-0 flex flex-row ...">
<AddIcon></AddIcon>
<div className="whitespace-nowrap font-sans text-base font-medium">Add site</div>
</div>
<input className="ml-5 grow bg-red-500"></input>
</div>
我有这个 div 应该代表输入旁边的按钮。理想情况下,在分辨率发生变化时,输入元素的宽度会缩小,但按钮的高度和宽度保持不变。
<div className="flex flex-row rounded-lg border border-white border-solid hover:cursor-pointer py-2 px-2 w-28">
<AddIcon></AddIcon>
<div className="flex font-sans text-base font-medium">Add site</div>
</div>
我设置了w-28
属性以为可以实现这个。但是,如果我缩小 window 或它出现的屏幕,按钮会改变宽度,我不确定为什么。
这是完整的组件:
<div id="settings" className="w-3/4 h-5/6 bg-blue-300 self-center">
<div id="settings-content" className="flex flex-col self-center mx-5">
<div id="header" className="flex flex-col mt-5">
<div id="title" className="font-sans font-bold text-3xl">Block Sites</div>
</div>
<div id="subtitle" className="font-sans text-base font-medium text-neutral-600">Visiting these sites will stop point acquisition until you reset the timer</div>
<div id="block-site-add-list" className="flex flex-row mt-16 justify-between bg-amber-400 shrink-0">
<div className="flex flex-row rounded-lg border border-white border-solid hover:cursor-pointer py-2 px-2 w-28">
<AddIcon></AddIcon>
<div className="flex font-sans text-base font-medium">Add site</div>
</div>
<input className="ml-5 flex-grow bg-red-500"></input>
</div>
</div>
</div>
这是按钮在较小屏幕上的样子,此时两个词应在同一行:
您可以尝试将 whitespace-nowrap
添加到您的标签 div 以确保文本不会换行。由于您将元素(按钮和输入)包裹在另一个 flex 中,因此您可以将 shrink-0
添加到包装器 div 以保持其大小。
例如:
<div id="block-site-add-list" className="flex flex-row ...">
<div className="shrink-0 flex flex-row ...">
<AddIcon></AddIcon>
<div className="whitespace-nowrap font-sans text-base font-medium">Add site</div>
</div>
<input className="ml-5 grow bg-red-500"></input>
</div>