【问题标题】:Tailwind makes images squareTailwind 使图像呈方形
【发布时间】:2020-07-28 07:02:32
【问题描述】:

我尝试用网格放置照片,使它们看起来像正方形。

<link href="https://unpkg.com/tailwindcss@^1.0/dist/tailwind.min.css" rel="stylesheet" />

<div class="container my-12 mx-auto">
  <div class="flex flex-wrap -mx-2">
    <div class="w-1/3 px-2 my-2">
      <div class="bg-gray-400">
        <img class="" src="https://lh3.googleusercontent.com/proxy/XTJmiQ_8JSKjnjQHij4OKDLe_achY1O7fUqOR2a-V27JZJxVBnNIfMcl5T_H0xeF7Jfd29u81QaofpZewSst1WhP40eCn-eh-KUjPfXczI162XUrWByvyR-qESrUoJshXQ" alt="">
      </div>
    </div>
    <div class="w-1/3 px-2 my-2">
      <div class="bg-gray-500">2</div>
    </div>
    <div class="w-1/3 px-2 my-2">
      <div class="bg-gray-400">3</div>
    </div>
    <div class="w-1/3 px-2 my-2">
      <div class="bg-gray-400">4</div>
    </div>
    <div class="w-1/3 px-2 my-2">
      <div class="bg-gray-500">5</div>
    </div>
    <div class="w-1/3 px-2 my-2">
      <div class="bg-gray-400">6</div>
    </div>
  </div>
</div>

如何使用顺风使图像看起来像正方形?是的,我可以使用object-fit: cover;,但我需要为此硬设置宽度和高度。

【问题讨论】:

  • 你解决了吗?怎么样?

标签: css tailwind-css


【解决方案1】:

我刚刚为需要的类添加了自定义样式:

 width: 50vw;
 height: 50vw;

也许您可以使用这些样式创建自定义 Tailwind 类。

【讨论】:

    【解决方案2】:

    这样的事情应该可以工作:

    <ul class="grid grid-cols-2 gap-6 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6 w-screen h-screen">
      <li class="col-span-1 flex flex-col text-center bg-white">
        <div class="pb-full relative">
          <div class="absolute inset-0 h-full w-full">
            <img class="h-full w-full object-cover object-center" src="https://unsplash.it/400/400" />
          </div>
        </div>
      </li>
    </ul>
    

    没有单独对其进行全面测试,从我的代码库中复制了它...

    【讨论】:

      【解决方案3】:

      您可以使用tailwind w-xh-y 实用程序类来硬设置图像的宽度和高度,或者如果您想要的xy 值不存在,请扩展您的顺风配置文件以包含它们,然后使用它们。

      对于不存在的高度,只需像这样扩展您的配置:

      theme: {
      // ? this makes Tailwind merge the configuration w/o overriding it.
      extend: {
        height: theme => ({
          "screen/2": "50vh",
          "screen/3": "calc(100vh / 3)",
          "screen/4": "calc(100vh / 4)",
          "screen/5": "calc(100vh / 5)",
        }),
      },
      

      或者你可以用简单的 %'s 做同样的事情

      您可以使用任何顺风固定或流体宽度类,在您的评论中提到想要响应行为,因此请查看流体宽度实用程序或在您需要特定内容时扩展它们。

      https://tailwindcss.com/docs/width/#fluid-width

      【讨论】:

      • 但是如果我硬设置宽度和高度,它如何响应?
      • 如果您希望它具有响应性,请将宽度和高度设置为分数或百分比。所以使用流体宽度之一,例如 1/5 表示 20%(这都在宽度下的顺风文档中)
      • @dougajmcdonald 您可以将宽度设置为百分比,但不能将高度设置为百分比。
      • 正如我在答案中所说的“如果您想要的值不存在,请扩展您的顺风配置文件以包含它们”
      • 您使用calc(100vhvh 与身高有关?因此,如果宽度设置为w-3/4 表示vw/3,那么高度为hv/3 将是不同的长度,因此不是正方形?
      猜你喜欢
      • 1970-01-01
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-27
      相关资源
      最近更新 更多