Tailwind CSS - 作为组件的响应式断点

ait*_*tor 14 media-queries responsive scss-mixins tailwind-css

我应该如何处理作为 Tailwind 组件的响应式断点?

没有 Tailwind,我曾经将断点声明为 scss mixins:

@mixin tablet-portrait {
  @media (min-width: 700px) {
    @content;
  }
}
Run Code Online (Sandbox Code Playgroud)

然后:

@include tablet-portrait {
  // whatever
}
Run Code Online (Sandbox Code Playgroud)

我知道 Tailwind 具有响应式实用程序类来内联使用它,md:color-red但我需要将此断点抽象为组件,如上例所示。

我应该如何从 Tailwind 配置文件中提取 Tailwind 断点?

ait*_*tor 37

我找到了 @screen 指令,它解决了这个问题:

https://tailwindcss.com/docs/functions-and-directives/#screen

一样容易

@screen md {
  // whatever
}
Run Code Online (Sandbox Code Playgroud)

  • 注意:在我的默认 laravel vite 设置中,第一个(`@screen md`)工作得很好。另一种则不起作用。 (2认同)

kis*_*ssu 10

@screen md使用 SCSS 时不起作用。同时,如果您在 中设置了
断点(键) ,则可以使用此screenstailwind.config.js

.your-selector {
  // your usual CSS
  @media (min-width: theme('screens.xl.min')) {
    // your media-queried CSS when > xl breakpoint
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 我发现 @screen md 在我的设置中的 SCSS 中工作正常,但这个解决方案值得注意,因为它可以用于设置“max-width”断点,而无需更改默认断点设置:“@media (max-width: theme("screens.md")) { ... }` (请注意,这与完美有 1px 的差距,但应该可以在 99.9% 的情况下工作)。 (3认同)