Symfony2设置css媒体类型(全部、打印、屏幕、手持)

Symfony2设置css媒体类型(全部、打印、屏幕、手持),css,symfony-2.2,handheld,Css,Symfony 2.2,Handheld,我想我到处找,但没有成功。我正在学习Symfony2,所以我可能忽略了一些东西 下面是我加载css的方式(工作正常): {%stylesheets-filter='cssrewite' “@MyHomeBundle/Resources/public/css/*.css” “@MyAuthBundle/Resources/public/css/*.css” “@MyUserBundle/Resources/public/css/*.css” {%endstylesheets%} 问题是我如何区分

我想我到处找,但没有成功。我正在学习Symfony2,所以我可能忽略了一些东西

下面是我加载css的方式(工作正常):

{%stylesheets-filter='cssrewite'
“@MyHomeBundle/Resources/public/css/*.css”
“@MyAuthBundle/Resources/public/css/*.css”
“@MyUserBundle/Resources/public/css/*.css”
{%endstylesheets%}
问题是我如何区分媒体:手持、打印、屏幕

发现在旧的Symfony版本中,有一个文件view.yml,其中可以标记“mobile.css”将仅用于小型设备等。到那时,我发现讨论中Symfony2中的新方法要大得多,删除这个view.yml是一个很好的步骤。然而,它没有解决我的问题

所以问题是:如何为mobile.css指定media=“掌上型”或为可打印版本指定media=“print”,以便从我的捆绑包中提取

我猜这可能是某种情况,在细枝中测试名称,并取决于名称,例如home_mobile.css或home_print.css将相应地加载media=“handled”或media=“print”,默认情况下加载media=“screen”-但这是否是正确的方向,如何实现


感谢您的帮助

这不是一个真正的答案,而是一个替代解决方案

根据您网站的规模,我可能会将它们全部保存在一个CSS文件中,以便更快地加载页面,并对打印和设备进行媒体查询。然后您可以将上面的代码更改为media=“all”


链接相关-

我也找不到正式的答案,但使用两组样式表标签是有效的

{% stylesheets filter='less,cssembed,cssrewrite,?yui_css' output='css/screen.css'
    'bundles/wolproject/css/main.less'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="all" />
{% endstylesheets %}

{% stylesheets filter='less,cssembed,cssrewrite,?yui_css' output='css/print.css'
    'bundles/wolproject/css/print.less'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="print" />
{% endstylesheets %}
{%stylesheets-filter='less,cssembed,cssrewite,?yui_-css'output='css/screen.css'
'bundles/wolproject/css/main.less'
%}
{%endstylesheets%}
{%stylesheets-filter='less,cssembed,cssrewite,?yui_-css'output='css/print.css'
'bundles/wolproject/css/print.less'
%}
{%endstylesheets%}

有人吗?真不敢相信以前没有人遇到过这个问题。谢谢你的提示。问题是,正如我所写的——我现在正在学习Symfony,所以我想避免一些技巧,并真正理解正确的方法。此外,正如你所看到的——我正在加载多个样式表,每个样式表负责页面的特定部分(例如Auth只包含登录表单,home包含主页样式,我省略了主布局样式)。尽管如此,再次感谢。我非常惊讶,这个问题在这里挂了这么久,实际上没有人有明确而直接的解决方案。奇怪的是,它可能没有实现?没问题,如果你被卡住了,这可能是一个解决办法。不幸的是,我对Symphony没有经验。可能的答案如下:[代码]样式表:-screen.css-print.css:{media:print}-mobile.css:{media:'handled,screen'}-ie7.css:{condition:IE 7}-ie6.css:{condition:IE 6}
{% stylesheets filter='less,cssembed,cssrewrite,?yui_css' output='css/screen.css'
    'bundles/wolproject/css/main.less'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="all" />
{% endstylesheets %}

{% stylesheets filter='less,cssembed,cssrewrite,?yui_css' output='css/print.css'
    'bundles/wolproject/css/print.less'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="print" />
{% endstylesheets %}