我正在用Tailwind做一个响应式布局。在大屏幕上,我有一个固定的标题和一个固定的侧边栏。在较小的分辨率上,侧边栏被隐藏,标题不再固定。内容将始终占据屏幕的最小部分。
感觉不是很好的线路是手动左右填充,因为它是固定的。有没有更好的解决方案?我不是特别喜欢它,因为如果我移除侧边栏,填充不会自动调整。
https://codepen.io/tingaloo/pen/qBWzVqP
<div class="App flex min-h-screen">
<div class="hidden lg:flex h-screen bg-green-300 fixed w-40">sidebar</div>
<div class="flex bg-gray-300 lg:pl-40 w-full flex-wrap">
<div class="flex h-20 w-full lg:pr-40 lg:fixed bg-red-300 justify-between">
<div class="">Header left</div>
<div class="">Header right</div>
</div>
<div class="bg-blue-400 pt-20 w-full">
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
</div>
</div>
</div>发布于 2019-12-19 13:20:19
使用粘性位置而不是固定位置,这样它仍然会占用空间。
为此,将fixed更改为sticky top-0,然后就可以去掉lg:pl-40和lg:pr-40
<link href="https://cdnjs.cloudflare.com/ajax/libs/tailwindcss/1.1.4/tailwind.min.css" rel="stylesheet"/>
<div class="App flex min-h-screen">
<div class="hidden lg:flex h-screen bg-green-300 sticky top-0 w-40">sidebar</div>
<div class="flex bg-gray-300 w-full flex-wrap">
<div class="flex h-20 w-full lg:fixed bg-red-300 justify-between">
<div class="">Header left</div>
<div class="">Header right</div>
</div>
<div class="bg-blue-400 pt-20 w-full">
<div class="h-20">First Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Content</div>
<div class="h-20">Last Content</div>
</div>
</div>
</div>
https://stackoverflow.com/questions/58176493
复制相似问题