<
?
$browser=$_SERVER['HTTP_USER_AGENT'];
if(ereg('MSIE',$browser)){
echo "/link href="[(site_url)]styles/styles_ie.css" media="all" rel="stylesheet" type="text/css"/\r\n";
}else{
echo "/link href="[(site_url)]styles/styles.css" media="all" rel="stylesheet" type="text/css"/\r\n";
}
?>
Сниппет заточен для использования в среде MODx, и является более иллюстрацией, чем материалом для копи-паста. Итак, немного разберемся в коде: сначала получаем значение суперглобального массива $_SERVER, и значение его параметра HTTP_USER_AGENT в частности, в котором хранится тип браузера. Далее - идет проверка на наличие в этом значении слова MSIE (MicroSoft Internet Explorer). Далее все просто - если есть, - вставляем линк на стиль styles_ie.css, если нет - соответственно. Во внутреннем тэге MODx [(site_url)] хранится корневой URL сайта (к примеру - http://example.com), и к нему приставляется остальная часть пути к CSS-файлу, в итоге получаем строку:
Для IE
<link href="http://example.com/styles/styles_ie.css" media="all" rel="stylesheet" type="text/css" />
Для других браузеров:
<link href="http://example.com/styles/styles.css" media="all" rel="stylesheet" type="text/css" />
Таким образом подвязка стилей будет происходить на лету, без использования хаков, с раздельными CSS-файлами, что, в свою очередь, поможет решить проблему валидности в кроссбраузерном коде.
Комментариев нет:
Отправить комментарий