【问题标题】:Is there some way to use Blade inside a .css file in Laravel to generate a "CSS" view?有没有办法在 Laravel 的 .css 文件中使用 Blade 来生成“CSS”视图?
【发布时间】:2019-08-22 13:32:55
【问题描述】:

我只是猜测这是否可能。 在预处理 css 并提供可重用性和模块化时,Sass 和 Less 非常有用。 Blade 对 HTML/PHP 视图做同样的事情。 这将大大减少构建 CSS 所需的时间,并完全避免(如果开发人员愿意)Sass/Less。

我尝试在官方文档中搜索,但没有找到与此主题相关的任何内容。所以我猜是否有办法通过扩展 Blade 来做类似的事情:

mystyle.blade.css

@if (dimension('xs') === 1)
 .myclass { color: {$primary-color} }
@else
 .myclass { ... }
@endif

并在 CSS 输出中将其提供给浏览器。

我希望它能够以某种方式工作,或者至少能够通过扩展 Blade/Laravel 组件来实现它。

提前谢谢你。

【问题讨论】:

标签: php css laravel


【解决方案1】:

您可以尝试根据您可以包含所需样式来检测用户代理。

有一个package 用于轻松检测代理

使用作曲家安装:

composer require jenssegers/agent

如果需要,在config/app.php中添加服务提供者:

Jenssegers\Agent\AgentServiceProvider::class

并将 Agent 门面别名添加到 config/app.php:

'Agent' => Jenssegers\Agent\Facades\Agent::class,

安装后,将用户代理变量从您的控制器传递到所需的视图。

$agent = new Agent();
return view('some.view', compact('agent'));

最后,在你的视图中,你可以检查用户代理并根据它加载样式:

@if($agent->isMobile())
 .myclass { color: {$primary-color} }
@else
 .myclass { ... }
@endif

【讨论】:

    猜你喜欢
    • 2016-05-22
    • 2011-11-19
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 2014-06-18
    • 2013-12-10
    相关资源
    最近更新 更多