如何在 laravel 中的 .css 文件中使用配置文件值

how to use config file values in .css file in laravel

我想在我的 .css 文件中使用 Laravel 配置文件值来自定义一些颜色,我该怎么做? 或许这是不可能的。 我希望我的问题很清楚 谢谢。

我的配置文件

return [
'custom' => [
    'mainLayoutType' => 'horizontal',
    'theme' => 'light',
    'sidebarCollapsed' => false,
    'navbarColor' => '',
    'navbarTextColor' => '#ffffff',
],

];

我的css

.header-navbar .navbar-container ul.nav li > a.nav-link {
  color: #ffffff;
  padding: 1.6rem 1rem 1.35rem 0.5rem;
}

我想做的是这样的

.header-navbar .navbar-container ul.nav li > a.nav-link {
  color: config('custom.navbarTextColor');
  padding: 1.6rem 1rem 1.35rem 0.5rem;
}

您不能将它添加到 CSS 文件甚至 SCSS 文件中。它必须是 PHP 一个。

想到了两个解决方案

最简单的方法是在 blade 文件的 <style> 标签中的配置中添加 css。

困难的方法是通过路由 (/style.css) return 一个 css 文件。类似于:

blade 文件 (css.blade.php)

.header-navbar .navbar-container ul.nav li > a.nav-link {
    color: {{config('custom.navbarTextColor')}};
    padding: 1.6rem 1rem 1.35rem 0.5rem;
}

路线

Route::get('/style.css', function() {
    return View::response('css')->header('Content-Type', 'text/css');
});

您可以通过 php 将 class 动态添加到您的根 html 元素,然后根据该元素在您的 css 中编写样式。

示例:

<body>
  <main class="{{ config('theme') }}">
     ...
  </main>
</body>