如何在laravel中将CSS嵌入到HTML中?

cyt*_*nny 2 css php html-email laravel laravel-4

首先,为了清楚起见,我知道我可以包含我的css文件

{{ HTML::style('css/myStyle.css') }}
Run Code Online (Sandbox Code Playgroud)

要生成的html将是:

<link rel="stylesheet" type="text/css" href="http://myhost/public/css/myStyle.css">
Run Code Online (Sandbox Code Playgroud)

问题是我的视图文件用于电子邮件,许多电子邮件客户端不加载外部css文件.所以我需要做到这样的事情:

<style>
    .content-of-my-css {
        //content of my css
    }
    // more css
</style>
Run Code Online (Sandbox Code Playgroud)

由于css设置将用于多个电子邮件模板,我不想硬编码.在纯PHP中,这可以通过(参考)来完成

<style><?php include "path/to/my/css";?></style>
Run Code Online (Sandbox Code Playgroud)

然而,当我用laravel这样做时,它说:

ErrorException(E_ERROR)include():http://在服务器配置中通过allow_url_include = 0禁用包装器

那么,有没有办法将css嵌入laravel?(我正在使用laravel 4.2)

小智 6

您似乎使用的是URL而不是本地文件路径.

例如

include('http://example.com/css/styles.css');
Run Code Online (Sandbox Code Playgroud)

将产生您的错误,但以下不应该

include(public_path().'css/styles.css');
Run Code Online (Sandbox Code Playgroud)