Каждому браузеру свой CSS
Каждому браузеру свой CSS
Много людей при создании своего шаблона задаются вопросом, почему при просмотре сайта в различных браузерах он выглядит по-разному.
Это случается из-за того, что все браузеры написаны не одинаково и каждый браузер трактует css по-своему.
В последнее время много сообщений на форуме о том, что в различных браузерах сайт отображается по-другому.
Обычно это решается функцией @import, но если она не может быть использована, для поддержки большего количества браузеров можно доработать код:
<?php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); ?>
<?php $iso = split( '=', _ISO );
echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php mosShowHead(); ?>
<link rel="stylesheet" type="text/css" href="<?php echo $mosConfig_live_site;?>/templates/
<?php
$nav = ( isset( $_SERVER['HTTP_USER_AGENT'] ) ) ? strtolower( $_SERVER['HTTP_USER_AGENT'] ) : '';
// checks if browser is Internet Explorer
if (stristr($nav, "msie"))
{
echo "ie-css.css";
}
// checks if browser is Mozilla
elseif (stristr($nav, "moz"))
{
echo "mozilla-cssfile.css";
}
// checks if browser is Netscape
elseif (stristr($nav, "ns"))
{
echo "netscape-css.css";
}
// If browser is a different one
else
{
echo "templatecss.css";
}
?>
/>
</head>
<body>
<h1>The Body Text For Your Site</h1>
</body>
</html>
На некоторых страницах шаблон "разваливается". Почему и как это исправить?
Причина Часто шаблоны бывают сверстаны на слоях (DIV) с использованием "плавающих" элементов-блоков.
Ширина этих элементов фиксированна и, в соответствии со стандартом, не должна меняться ни в коем случае.
Т.к. Internet Explorer "самый умный" браузер и ему закон не писан , то он все же расширяет блоки, которые,
не вмещаясь в отведенные для них места, перемещаются вниз. Проще говоря - они просто выталкиваются соседними элементами.
FF и Опера, когда содержимое блока не влазит в него, просто накладывают блоки друг на друга.
При этом содержимое блоков часто вылазит за их границы.
Очень часто подобное проявляется на страницах с таблицами и с различными фильтрами, выбором отображения и т.п.
Этот "косяк" будет проявляться на ВСЕХ шаблонах, где используются слои (DIV) и ширина табличек слишком большая.
Если бы шаблон был сверстан на таблицах, то его просто расперло бы в ширину.
Как решить проблему? Сейчас несложно догадаться, что надо сделать - надо уменьшить ширину содержимого блоков.
Необходимо отключить фильтры, поля сортировки, лишние столбцы в таблице со списком статей.
Идем например в Меню - mainmenu - ссылка на News - Latest и настраиваем страницу, пока все не будет ok.
Также блоки может распирать контент, содержащий неразрывные пробелы -
Обновлено (04.09.2010 19:12)



