focus:outline-none 无法在 Laravel 中使用 Tailwind CSS

Tho*_*ead 49 css laravel tailwind-css

我在 Laravel 应用程序中使用 Tailwind CSS,并且想要删除输入框上的焦点边框。根据文档,focus:outline-none应该实现这一点,尽管它对我不起作用并且边框仍然出现在焦点上。

看起来我瞄准了错误的目标,就好像我瞄准了错误的目标一样focus:outline-black,我可以看到黑色轮廓以及焦点上的标准蓝色轮廓。

focus:border-none也不能解决问题。

有任何想法吗?

<input class="text-input" placeholder="Your Name" />

.text-input {
    @apply focus:outline:none;
}
Run Code Online (Sandbox Code Playgroud)

tailwind.config.js

const defaultTheme = require('tailwindcss/defaultTheme');
const colors = require('tailwindcss/colors');

module.exports = {
    mode: 'jit',
    purge: [
        './vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php',
        './vendor/laravel/jetstream/**/*.blade.php',
        './storage/framework/views/*.php',
        './resources/views/**/*.blade.php',
    ],

    theme: {
        extend: {
            fontFamily: {
                sans: ['Nunito', ...defaultTheme.fontFamily.sans],
            },            
        },
        colors: {                      
            black: colors.black,
            white: colors.white,
            gray: colors.trueGray,
            indigo: colors.indigo,
            red: colors.rose,
            yellow: colors.amber,
            blue: colors.blue,
        },
    },

    plugins: [require('@tailwindcss/forms'), require('@tailwindcss/typography')],
};
Run Code Online (Sandbox Code Playgroud)

webpack.mix.js

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

/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel applications. By default, we are compiling the CSS
 | file for the application as well as bundling up all the JS files.
 |
 */

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

if (mix.inProduction()) {
    mix.version();
}
Run Code Online (Sandbox Code Playgroud)

Fre*_*ini 104

现在有同样的问题,Laravel 8、Inertia、Breeze 和 Tailwind:当我设置outline-none一个元素时,它会被忽略。其他一切似乎都工作正常。

border-transparent focus:border-transparent focus:ring-0解决这个问题的唯一方法是在元素本身上添加 css: 。

  • 谢谢 - 我的输入的底部边缘有一个边框,所以没有使用“border-transparent”,但“focus:ring-0”似乎本身就可以正常工作。然而,它改变了我的底部边框的颜色,但我只是通过将焦点边框颜色设置为与非焦点颜色相同来解决这个问题......如果这有意义的话! (3认同)

Rob*_*ina 46

!outline-none
Run Code Online (Sandbox Code Playgroud)

这为我解决了这个问题。

  • 有用!其他的都没有! (2认同)

小智 28

也许你可以尝试focus:outline-none直接在你的班级中添加。

演示: https: //jsfiddle.net/p73xfy1h/

  • 这很完美。 (3认同)

小智 25

正确的方法:border-none focus:ring-0如果边框不存在,则无需费心使其透明。

  • 两种解决方案都有效 - 这个似乎更干净、更合乎逻辑:) (2认同)

skw*_*wFE 15

只需同时使用 focus:ring-0 focus:ring-offset-0 即可。

focus:ring-0 focus:ring-offset-0
Run Code Online (Sandbox Code Playgroud)


小智 11

处理这个问题的正确方法是在 Tailwind 3 中focus:ring-transparent

  • 通过额外的支持信息可以改进您的答案。请[编辑]添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以[在帮助中心](/help/how-to-answer)找到有关如何写出好的答案的更多信息。 (2认同)

小智 5

有一个简单的方法可以解决这个问题:使用outline

outline:none
Run Code Online (Sandbox Code Playgroud)

  • `outline-none` 是 tailwindcss 中的正确答案 (3认同)