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

使用Tailwind复刻Instagram时主图样式不生效问题求助

问题

我用Tailwind CSS复刻Instagram登录页面,页面内其他元素及图片的Tailwind样式均正常生效,但唯独主图完全不显示,看起来像是样式未生效。以下是我编写的代码:

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link href="./output.css" rel="stylesheet" />
    <title>Tailwind</title>
  </head>
  <body>
    <div class="h-screen w-screen grid grid-cols-1 md:grid-cols-2 grid-rows-6">

      <!-- Main image-->
      <div class="row-span-5 md:flex justify-end hidden">
        <img class="max-w-96" src="./img/insta-img (1).png"/>
      </div>

      <!-- Form-->

      <div class="row-span-5 flex flex-col justify-center items-center grid-cols-1">
        <form class="w-80 flex flex-col justify-center items-center border rounded-sm px-10 py-4 gap-5 ">
          <img class="w-52" src="./img/insta-logo.png" alt="insta-logo" />

          <input class="bg-slate-50 h-9 w-full pl-3 border rounded-sm " type="text" placeholder="Phone Number, username, e-mail" />
          <input class="bg-slate-50 h-9 w-full pl-3 border rounded-sm " type="password" placeholder="Password"/>

          <button class="bg-blue-400 w-full rounded-md h-8 text-slate-50 hover:bg-slate-300">Entrar</button>

          <a class="text-blue-800 font-bold cursor-pointer" href="#">Log in with Facebook</a>
          <a class="text-blue-800 text-sm cursor-pointer" href="#">Forgot password?</a>
        </form>

        <div class="border w-80 my-4 text-center py-4">
          <p>Don't have an account?<a class="text-blue-400 font-bold" href="#"> Sign up</a></p>
        </div>

        <p>Get the app</p>

        <div class="flex gap-2 mt-4">
          <img class="h-10" src="./img/microsoft.png" alt="microsoft" />
          <img class="h-10" src="./img/google.png" alt="google" />
        </div>
      </div>

      <!-- footer -->

      <footer class="row-span-1 col-span-2">
        <ul class="flex flex-wrap gap-5 justify-center">
          <li class="text-slate-800 text-sm">Meta</li>
          <li class="text-slate-800 text-sm">About</li>
          <li class="text-slate-800 text-sm">Blog</li>
          <li class="text-slate-800 text-sm">Jobs</li>
          <li class="text-slate-800 text-sm">Help</li>
          <li class="text-slate-800 text-sm">API</li>
          <li class="text-slate-800 text-sm">Privacy</li>
          <li class="text-slate-800 text-sm">Terms</li>
          <li class="text-slate-800 text-sm">Locations</li>
          <li class="text-slate-800 text-sm">Instagram Lite</li>
          <li class="text-slate-800 text-sm">Threads</li>
          <li class="text-slate-800 text-sm">Contact Uploading & Non-Users</li>
          <li>Meta Verified</li>
        </ul>

        <ul class="flex flex-wrap gap-5 justify-center mt-6">
          <li class="text-slate-800">English</li>
          <li class="text-slate-800">© 2024 Instagram from Meta</li>
        </ul>
      </footer>
    </div>
  </body>
</html>

页面左侧主图区域为空,图片完全未显示。

解决方案

问题根源在于主图容器的类顺序错误:
Tailwind CSS的类优先级遵循后声明的类覆盖先声明的类规则,你给主图容器写的md:flex justify-end hidden中,hidden在最后,会覆盖前面的md:flex,导致无论屏幕尺寸多大,容器都会被隐藏,自然看不到主图。

只需调整类的顺序,把hidden放到md:flex前面,让大屏断点下的md:flex能覆盖默认的hidden:

修改后的主图容器代码:

<!-- Main image-->
<div class="row-span-5 hidden md:flex justify-end">
  <img class="max-w-96" src="./img/insta-img (1).png"/>
</div>

调整后,屏幕宽度≥768px(md断点)时,容器会以flex布局显示主图;小屏幕下则隐藏主图,完全符合Instagram的响应式设计逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 09:44:52