#css #symfony1
#css #symfony1
Вопрос:
Я хотел бы загрузить другой css для IE. Я использую Symfony 1.2. Какой самый быстрый способ? Я бы предпочел не использовать метод «view.yml». Я хотел бы иметь что-то подобное в моем заголовочном разделе:
<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') ?>
Ребята, вы знаете какие-нибудь быстрые решения?
Ответ №1:
Symfony поддерживает условные CSS и JS, я не вижу причин не использовать view.yml — достаточно написать в view.yml (например, apps/frontend/config/view.yml)
CSS:
stylesheets:
- ie6.css: { condition: IE 6 }
JS:
javascripts:
- myiescript.js: { condition: IE 6 }
Ответ №2:
Я не вижу в этом проблемы. Просто поместите этот код в свой 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.
Ответ №3:
Другой вариант — использовать метод addStylesheet
в действии. Пример:
$response->addStylesheet('ie8.css', '', array('condition' => 'IE 8'));
Ответ №4:
Symfony не поддерживает условные комментарии.
Самый простой способ поместить именно это в ваш файл макета, но вместо жесткого кодирования атрибута href используйте public_path
помощник.
Комментарии:
1. ? Извините, не могли бы вы, пожалуйста, привести пример?
2. @Jojje вы получили еще один ответ, который в значительной степени соответствует тому, что я имел в виду.