You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Tailwind CSS在断点切换时将导航栏搜索容器改为放大镜图标

解决方案

用Tailwind的响应式类就能轻松实现这个切换效果,核心思路是两个搜索元素分别控制在不同屏幕尺寸下的显示/隐藏:

  1. 给完整的搜索容器添加hidden lg:flex类:移动端隐藏,桌面端(lg断点及以上)显示
  2. 新增一个仅包含放大镜图标的容器,添加flex lg:hidden类:移动端显示,桌面端隐藏

修改后的导航栏右侧代码如下:

<div class = "flex items-center justify-end">
    {/* 桌面端显示的完整搜索容器 */}
    <div class = "search hidden lg:flex items-center">
        <i id = "magnifing-icon" class="fa-solid fa-magnifying-glass"></i>
        <div class = "msg-search-nav">
            <div class = "msg-search-desc text-sm text-white pr-40">Type / for search</div>
        </div>
        <img class = "palette-icon w-5 p-1" src={command_palette} alt="" />
    </div>
    {/* 移动端显示的仅放大镜图标 */}
    <div class="flex items-center nav-link lg:hidden">
        <i id = "mobile-magnifing-icon" class="fa-solid fa-magnifying-glass"></i>
    </div>

    <div class = "flex nav-link items-center">
        <i id = "plus-icon" class="fa-solid fa-plus"></i>
        <select name="" id="select">
            <option></option>
        </select>
    </div>
    <div class = "nav-link">
        <i class="nav-link-icon fa-regular fa-circle-dot"></i>
    </div>
    <div class  = "nav-link">
        <i class="nav-link-icon fa-solid fa-code-pull-request"></i>
    </div>
    <div class ="nav-link">
        <i class="nav-link-icon fa-solid fa-envelope"></i>
    </div>
    <img class="face-nav" src="https://avatars.githubusercontent.com/u/76707560?s=80&amp;v=4"/>
</div>

关键说明:

  • hidden:默认隐藏元素,lg:flex表示屏幕宽度≥1024px(Tailwind默认lg断点)时,用flex布局显示
  • flex lg:hidden:默认用flex布局显示,屏幕到lg断点及以上时隐藏
  • 给移动端的放大镜容器加上nav-link类,保证和其他导航元素的样式(比如间距、颜色)一致,不用额外写样式

如果需要调整断点(比如想用md而不是lg),只需要把lg:换成md:即可,对应Tailwind的响应式断点规则。

内容的提问来源于stack exchange,提问作者Shashank Thapa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 22:03:24