Разный показ для разных браузеров

Статус
В этой теме нельзя размещать новые ответы.

zsaz

Старатель
Регистрация
6 Авг 2007
Сообщения
251
Реакции
11
Можно ли сделать средствами CSS или хоть как-нибудь, чтобы для ФФ отображалось одно, а для ИЕ другое, например:

Если ИЕ
margin:5px;
Иначе
margin:0px;

нечто подобное только на правильном языке если таковой имеется для CSS
 
Код:
<style type="text/css">
  #div1 { margin:0px; }
</style>

<!--[if IE]>
<style type="text/css">
 #div1 { margin:5px; }
</style>
<![endif]-->

также можно и инклюдить css файлы.
 
  • Нравится
Реакции: zsaz
Блин... че-то не работает:(
}
ul.menu li {
margin-left:2px;

}
<!--[if IE]>
ul.menu li {
margin-left:20px;

}

<![endif]-->

вот такой вот у меня код, но он не работает...


и такой тоже не работает
ul.menu li {
margin-left:2px;
<!--[if IE]>
margin-left:20px;
<![endif]-->
}

все это в CSS'e
 
Не совсем наверно в тему, но как привязать файл css'a ( один из нескольких ) к клику по кнопке допустим?


 
у меня предложение через PHP.
передаем какую-нить глобальную переменную и проверяем,

if $var = 1
echo "style1.css";
else
echo "style2.css";

что-то типа такого
 
у меня предложение через PHP.
передаем какую-нить глобальную переменную и проверяем,
Ужасное решение, лучше так не делайте. Вы не правильно используете решение предложенное выше. Вот пример:

HTML:
<doctype .. >
<html>
<head>
<title>anytitle</title>

<!-- Для всех браузеров -->
<link rel="stylesheet" href="/default_styles.css" type="text/css" />

<!-- Только для осла ниже 7й версии -->
<!--[if lt IE 7]>
<link href="ie5-6.css" rel="stylesheet" type="text/css" media="all" />
<![endif]-->

<!-- Только для осла 7й и ниже версии -->
<!--[if lte IE 7]>
<link href="ie5-6-7.css" rel="stylesheet" type="text/css" media="all" />
<![endif]-->

<!-- Просто только для осла, любых версий -->
<!--[if IE]>
<link href="iehacks.css" rel="stylesheet" type="text/css" media="all" />
<![endif]-->

</head>

<body>
...
</body>

</html>

Также есть еще один трюк, если Вас не заботит валидация.

Код:
/* main.css */

.any_style {
  margin: 0; /* это увидят все браузеры */
  _margin: 10px; /* а вот это увидит только осел */
}

/* но будьте аккуратны, в этом случае все браузеры,
 кроме осла, стиль не отработают, поскольку вылетят 
на первой некорректной записи в строке ("_margin") , с ошибкой */
.test { _margin: 10px; margin: 0; }
 
Не совсем наверно в тему, но как привязать файл css'a ( один из нескольких ) к клику по кнопке допустим?


*** скрытое содержание ***
как-как, через DHTML. Создаёшь структуру DOM, загоняешь в отдельный файлй javascript, реализующий разные оформления и выводишь на главную страницу обработчик.
 
bork1234, я как погляжу ты понимаешь по КССу, может поможешь в решении моей проблемы... буду очень признателен... самый первый пост..
 
Не совсем наверно в тему, но как привязать файл css'a ( один из нескольких ) к клику по кнопке допустим?

Пример подключения css файлов "на лету" (кроссбраузерное решение:(

HTML:
<!doctype .. >
<html>
<head>
<title>titlepage</title>
<script type="text/javascript">

function AppendCss(sCssHref) {
var node = document.createElement("link");
node.setAttribute('href', sCssHref);
node.setAttribute('rel', 'stylesheet');
node.setAttribute('media', 'screen');
node.setAttribute('type', 'text/css');
document.getElementsByTagName('head')[0].appendChild(node);
}
</script>
</head>

<body>

<input type="button" onclick="AppendCss('/css_file1.css');" value="Подключить файл css_file1.css" />

<input type="button" onclick="AppendCss('/css_file2.css');" value="Подключить файл css_file2.css" />

</body>
</html>


Добавлено через 2 минуты
bork1234, я как погляжу ты понимаешь по КССу, может поможешь в решении моей проблемы... буду очень признателен... самый первый пост..

Ну, собственно, я уже Вам помог в одном из сообщений выше :)

В Вашем случае может помочь это:
.any_style {
margin: 0; /* это увидят все браузеры */
_margin: 10px; /* а вот это увидит только осел */
}
 
че-то ниче не помогает.. а может ли это быть связано с тем, что у меня сайт на cms основан??
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху