Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   Перезагрузска одного стиля (параметра) CSS для конкретного браузера. (http://www.flasher.ru/forum/showthread.php?t=107496)

eternalko 03.02.2008 02:31

Перезагрузска одного стиля (параметра) CSS для конкретного браузера.
 
Добрый день.
У меня вопрос. У меня есть некоторый набор стилей для ВСЕХ броузеров. Допустим, я хочу, какой-то один или пару параметров подправить, допустим для IE7. Я не хочу весь стиль менять. Нет, хочу только, чтоб перезагрузился только вот какой-то один параметр. Как это без-болезненно сделать?

Писать ПОЛНЫЙ стиль для каждого броузера не хочеться, так как, хочеться свободно менять основной и не перебирать все остальные версии.....

Допустим у меня есть два файла:
1) "lorem_ipsum.css" который просто вписан в HTML и загружается в любом случае . Внутри есть такой класс :
Код HTML:

.contTitle
{
font-family: Impact, Verdana, Arial, Helvetica, sans-serif;
font-weight: 600;
color: #779613;
font-size: 15px;
}

2) "overload_for_IE7.css" который будет "дописываться" только, если мы узнаем("javaScript", "PHP","<!--[if IE 7]>") что пользователей к нам зашел с IE 7.
внутри:
Код HTML:

.contTitle
{
font-weight: 400;
}

Тоесть, для IE7 значение "font-weight" уменьшается. Как это реализовать???
И согласно всем веб стандартам конечно... какие есть идеи?

kotsie 03.02.2008 02:51

в случае IE всё очень удобно и замечательно.
Код:

<!--[if gte IE 7.]>
<style>...</style>
ну или инклюд оверрайденного цсс-класса
<![endif]-->

все, кроме IE 7 сочтут это комментарием, по-моему всё по стандарту должно остаться

eternalko 03.02.2008 03:37

Так я ж писал об этом(: <!--[if IE 7]>

В общем, уже придумал..


Решение для, задачи, которая выше.
Пишу псевдо-кодом.
Создаем файлы, как и говорилось, только в странице ввода

<style type="text/css">
<?php
$browser=get_browser_name(); // получаем имя нашего браузера. Можно самому написать, можно пользоваться get_browser(),
но для нее надо в php.ini ;browscap параметр настроить, что не всегда позволено... Есть класс, который как раз этим и занимается
http://garetjax.info/projects/browscap/

$class_file_path=get_class_file($browser); // тут нам нужно получить путь к файлу который будет обслуживать данный браузер.
В нашем случае это "./Styles/overload_for_IE7.css"

echo fread($class_file_path);
</style>

Все(: Теперь дизайнеры могут спокойно вставлять файлы в подпапки и редактировать их как ни в чем не бывало...

Сам же себе и ответил(:

etc 03.02.2008 14:20

eternalko, отредактируйте свой пост и оформите код тегами [code][/code].

kotsie 03.02.2008 16:56

я видел, просто разве это противоречит стандартам?

Йожег 06.02.2008 13:27

.contTitle
{
_font-weight: 400!important;
}
к сожелению это как для 7 так и для 6... но может пригодится


Часовой пояс GMT +4, время: 07:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.