创建扩展 Tailwind css 类的类

问题描述 投票:0回答:6
css sass tailwind-css
6个回答
14
投票

你可以这样做:

.app-btn {
@apply text-white rounded-full py-1 px-4 shadow hover:bg-blue-700.
}

10
投票

我找到了解决方案: 您需要使用

postcss-import
安装
npm install postcss-import
,并使用以下命令调整 postcss.config.js:

module.exports = {
  plugins: [
    require('postcss-import'),
    require('tailwindcss'),
    require('autoprefixer'),
  ]
}

然后您可以使用以下命令基于 lib 类创建类:

@import 'tailwindcss/utilities';
@import 'tailwindcss/base';
@import 'tailwindcss/components';

.app-btn {      
  @apply text-white;
  @apply rounded-full;
  @apply py-1;
  @apply px-4;
  @apply shadow;
  &:hover {
    @apply bg-blue-700;
  }
}

1
投票

如果您使用

laravel mix

const mix = require('laravel-mix');

您需要通过以下方式之一配置您的

webpack.mix.js

1]你可以像这样使用

postCss

mix.postCss('resources/css/app.css', 'public/css', [
    require('postcss-import'),
    require('tailwindcss'),
    require('autoprefixer'),
]);

2]或者,你可以像这样使用

sass

mix.sass("resources/css/app.scss", "public/css").options({
    postCss: [
        require('postcss-import'),
        require('tailwindcss'),
        require('autoprefixer'),
    ], });

1
投票

示例:

    .input {
        @apply p-2 text-center mb-2 border rounded focus:outline outline-2 focus:outline-blue-500;
    }

    .file-input {
      @apply input border-none text-slate-500 leading-10 file:block md:file:inline-block file:w-full md:file:w-auto file:btn file:h-min file:border-none file:cursor-pointer file:mx-3;
    }

无需 CSS 预处理器


0
投票

您必须转到包含 @component @utilities 和 @base 的文件,然后输入:

@layer component{
   .class-name{
      @apply your classes
   }
}

0
投票

是的,您可以扩展自己的 tailwind 类,而无需插件。只需在 tailwind 的

components
层中定义您的基类,然后在同一位置定义的另一个类中使用它即可。以下是我在主 css 文件中使用它的方法:

@layer components {
  /* my base class "button" */
  .button {
    @apply rounded p-1 bg-gray-200 text-black;
  }

  /* here, extending it with "button-red" */
  .button-red {
    @apply button text-red-500;
  }
}

并且可以在您的组件中使用:

<button class="button-red"> Button </button>
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.