2011-05-30 57 views
0

我想为IE加载另一个CSS。我正在使用Symfony 1.2。什么是最快的方法?我宁愿不使用“view.yml”技术。我想有这样的事情在我的脑海节:有条件即CSS包含在Symfony 1.2中

<link rel="stylesheet" href="css/screen.css" type="text/css" media="screen" /> 
     <!--[if lte IE 7]> 
     <link rel="stylesheet" href="css/ie6.css" type="text/css" media="screen" /> 
<![endif]--> 

目前,我有这个代码在包括样式表我layout.php中的文件。

<?php include_http_metas() ?> 
<?php include_metas() ?> 
<?php use_stylesheet('style.css') ?> 

你们是否知道任何快速解决方案吗?

回答

4

我看不出有什么问题。只需将此代码放入您的layout.php

<?php include_http_metas() ?> 
<?php include_metas() ?> 
<?php use_stylesheet('style.css') ?> 
<!--[if lte IE 7]> 
    <?php echo stylesheet_tag('ie6'); ?> 
<![endif]--> 

将ie6.css放入样式表目录中。

这种方式非常简单,因为您不必将路径硬编码到您的css目录。

+0

看起来不错..我稍后再试一试。 – Jojje 2011-05-30 12:24:18

+0

Thanks :) that works – Jojje 2011-05-30 18:56:30

0

Symfony不支持条件注释。

将它完全放入布局文件中的最简单的方法是使用public_path帮助程序,而不是硬编码href属性。

+0

?对不起,你能举个例子吗? – Jojje 2011-05-30 11:04:50

+0

@Jojje你得到了另一个答案,我的意思几乎没有。 – Maerlyn 2011-05-30 14:27:00

6

Symfony的支持有条件的CSS和JS,我看不出理由不使用的view.yml - 这是不够的view.yml文件写的(如应用程序/前端/配置/的view.yml)

CSS:

stylesheets: 
- ie6.css: { condition: IE 6 } 

JS:

javascripts: 
- myiescript.js: { condition: IE 6 } 
+0

It works。谢谢 – Mikhail 2012-09-01 09:34:12

1

另一种选择是使用方法addStylesheet的行动。 例如:

$response->addStylesheet('ie8.css', '', array('condition' => 'IE 8'));