如何使用Tailwind为现有布局添加通顶header且不修改原有主容器
需求实现方案
这个需求完全可以实现,不需要修改现有主容器的任何配置,推荐使用固定定位方案实现,对原有代码侵入性为零。
实现思路
- 新增通栏header元素,设置固定定位吸附在视口顶部,宽度100%撑满整屏
- 给body设置对应高度的上内边距,避免原有页面内容被header遮挡
- 给header设置足够高的层级,避免被原有元素覆盖
完整可运行代码
<link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"/> <!-- 新增通栏header 原有代码无任何改动 --> <header class="fixed top-0 left-0 w-full h-16 bg-white shadow flex items-center px-4 z-50"> <span class="text-lg font-bold">通栏Header示例内容</span> </header> <!-- 以下为原有代码 未做任何修改 --> <body class="pt-16"> <div class="h-screen"> <div class="h-full"> <div class="flex flex-auto overflow-x-auto overflow-y-hidden bg-gray-50 h-full"> <div class="relative flex flex-col ml-2 my-2 overflow-hidden bg-white rounded-lg shadow bg-gray-200" style="width:300px;min-width: 300px;" > <div class="text-center font-semibold bg-gray-200 h-4 p-2 text-2xl" style="min-height:3rem" >Stuff</div> <div class="flex flex-col overflow-x-hidden overflow-y-auto bg-gray-200 p-2 h-full"></div> </div> <div class="relative flex flex-col ml-2 my-2 overflow-hidden bg-white rounded-lg shadow bg-gray-200" style="width: 300px; min-width: 300px;" > <div class="text-center font-semibold bg-gray-200 h-4 p-2 text-2xl" style="min-height:3rem" >More Stuff</div> <div class="flex flex-col h-full"></div> </div> </div> </div> </div> </body>
注意事项
如果你的页面有锚点跳转需求,可以额外给html添加scroll-padding-top: 4rem属性,抵消header高度导致的锚点偏移问题。
内容的提问来源于stack exchange,提问作者Kevon
相关产品推荐
相关产品推荐

