php - 有没有办法在 Laravel 的 .css 文件中使用 Blade 来生成“CSS”视图?
问题描述
我只是在猜测这是否可能。在预处理 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 组件来实现它。
先感谢您。
解决方案
您可以尝试根据您可以包含所需样式来检测用户代理。
有一个用于轻松检测代理的软件包
使用作曲家安装:
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
推荐阅读
- git - 如果之前的 CI 构建失败,如何阻止当前 PR 的合并,如果之前的构建成功,它应该通过 PR?
- scala - 比较两个计数
- php - 如何在incinga2中运行sql自定义查询?
- javascript - JavaScript - 返回两个对象之间的差异?
- git - 错误用户的 git ssh 权限被拒绝
- python - 默认情况下 __eq__() 方法里面有什么
- flutter - 我有一个关于 RenderBox 没有布局的问题:ChartContainerRenderObject
#84b56 需要油漆 - scala - 使用 Spark 和 Scala 清理大小约为 40GB 的 CSV/Dataframe
- spring-batch - Spring批处理Gemfire 9.6连接错误 - 原因:java.io.IOException:无法写入部署目录
- python - 编辑表格内容并将更改发送到数据库