Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> мультикласс в ie6, заставить работать 
:(
    Опции темы
svoloch
Дата 23.1.2010, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.5.2008

Репутация: нет
Всего: нет



на всякий случай мультикласс class="class1 class2" и соответсвенно в css .class1.class2
однако всеми нами горячо любимый и уважаемый ИЕ6 не воспринимает подобные вещи и работает только по последнему классу в последовательности. 
очень, очень надо его победить, но без участия хтмл. я думаю, скрипт наверняка есть какой-нибудь, но по за просу мультикласс ie6 ни яндекс ни гугль практически ничего не выдают. вообщем кто, что знает. 
P.S. doctype - strict
PM MAIL   Вверх
WebMast
Дата 23.1.2010, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Front-end developer
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 1.1.2009
Где: Беларусь

Репутация: 2
Всего: 2



Покажите css подробнее.. Как вы выбираете селекторы?
--------------------
Личный Блог Евгения ЖлобоРасширение vkleaner для Google Chrome
PM MAIL WWW Skype   Вверх
svoloch
Дата 24.1.2010, 02:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.5.2008

Репутация: нет
Всего: нет



ну например для 

<div class="cl1 cl2"></div>

в css пропищу

div.cl1.cl2 {/*.....*/}
PM MAIL   Вверх
WebMast
Дата 24.1.2010, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Front-end developer
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 1.1.2009
Где: Беларусь

Репутация: 2
Всего: 2



Попытаюсь объяснить вашу цепочку в css:
div  - родительский элемент
.cl1 - с классом cl1
.cl2 - и с классом cl2.

То есть div имеет у себя два класса, которые явно прописаны в css. Прописав div.cl1{} или div.cl2{} получаем одинаковый эффект.

Дальше я думаю ваша путаница получается из-за того, что вы используете много div'ов с разными мультиклассами. И пытаетесь как-то прописать ваши css стили вот так: div.cl1.cl2.cl3 или подобным образом. Я не прав?
--------------------
Личный Блог Евгения ЖлобоРасширение vkleaner для Google Chrome
PM MAIL WWW Skype   Вверх
svoloch
Дата 25.1.2010, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.5.2008

Репутация: нет
Всего: нет



ну в принципе я действительно уже дошел до 3-х классов на теге. вообще вы сказали, то о чем я не подумал. после непродолжительно анализа я понял, что подобный поход меня не спасет. конечные свойства элемента должны быть суммой 3-х классов и скажем так .cl1 в зависимости от того с кем объединяется cl2 или cl3 дает необходимые свойства. а cl2 и cl3 сами по себе используются и в других местах и поэтому связки .cl1.cl2 и .cl1.cl3 отличаются от просто cl2 или cl3. кароче может уже просто перейти на конкретику? если удастся решить проблему только для данного случая мне этого хватит, хотя бы пока...
PM MAIL   Вверх
mcTep
Дата 25.1.2010, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 3
Всего: 6



У меня этот пример в IE6 работает:

Код

<style>
    .c1 {
        background: red;
    }
    
    .c2 {
        border: 1px solid green;
    }
    
    .c3 {
        font-weight: bold;
    }
    
    div.c1.c2.c3 {
        font-size: 36px;
    }
</style>
<div class="c1 c2 c3">
    Hello World!
</div>


Это сообщение отредактировал(а) mcTep - 25.1.2010, 12:03
PM MAIL   Вверх
svoloch
Дата 25.1.2010, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.5.2008

Репутация: нет
Всего: нет



работает потому что ИЕ6 воспринимает по последнему классу. размер шрифта применился потому что в div.c1.c2.c3 воспринимается как div.c3.
возьму то, с чем у меня возникла проблема
Код

  <style>
    .elem.pas {color: Red;}
    .elem.pas.first {color: Blue;}
    .elem.act {color: Fuchsia;}
    .elem.act.first {color: Green;}
  </style>
  <div class="elem pas first">PAS FIRST</div>
  <div class="elem pas">PAS</div>  
  <div class="elem act first">ACT FIRST</div>  
  <div class="elem act">ACT</div>



PM MAIL   Вверх
comcon1
Дата 25.1.2010, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: нет
Всего: 17



То, что ты хочешь сделать противоречит семантике классов. Много классов нужны тогда, когда все элементы, содержащие first в списке классов имеют общие свойства. Если это не так, просто пиши
<div class="elemfirst"> - и т.д.


--------------------
PM MAIL   Вверх
mcTep
Дата 25.1.2010, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 3
Всего: 6



Ну в конкретном случае можно объединить pas и act в отдельные контейнеры, а там уже распихать по классам.. Но это я так понял не решение на 100%, косяк IE..


Код

<style>
    .pas .elem {color: Red;}
    .pas .elem.first {color: Blue}
    .act .elem {color: Fuchsia;}
    .act .elem.first {color: Green}
  </style>
  <div class="pas">
    <div class="elem first">PAS FIRST</div>
    <div class="elem">PAS</div>  
  </div>
  <div class="act">
    <div class="elem first">ACT FIRST</div>  
    <div class="elem">ACT</div>
  </div>


PM MAIL   Вверх
svoloch
Дата 25.1.2010, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.5.2008

Репутация: нет
Всего: нет



> comcon1: в данном случае есть свойства у всех кто .elem, в том числе и .elem.first. если сделать .elemfirst получится он будет в большинстве дублировать .elem, смысл .first в том, что-бы редактировать .elem как некий "особенный" элемент. у .first есть свойства только для него и некоторые свойства зависят от того с каким классом он идет .act или .pas, поэтому мне и надо работоспособность конструкций .act.first и .pas.first

>mcTep: да, это решение. ИЕ6 понимает контекстные селекторы, в принципе я даже нашел это решение в интернете. НО! как я изначально писал необходимо что-бы хтмл остался без изменений. тем более, что в данном случае увеличивается вложенность и без того глубокого дерева тегов. конечно можно пойти по пути написания скрипта, который бы только в ИЕ6 сам делал подобные преобразования, но честно говоря мне кажется это слишком масштабным решением для себя, в принципе почему я писал сразу о готовых скриптах.
PM MAIL   Вверх
mcTep
Дата 25.1.2010, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 3
Всего: 6



Ну если говорить о скрипте, то я думаю, можно написать что-нибудь при помощи jquery (селекторы там работают нормально вроде).. Я подобного не встречал. 
С наскоку можно предложить что то в этом роде:

Код

function setStyles(arr) {
    for (var i = 0; i < arr.length; i++) {
        $(arr[i].selector).css(arr[i].styles);
    }
}

setStyles(
    [{selector: '.elem.pas', 
        styles: {color: 'red'}},
    {selector: '.elem.pas.first',
        styles: {color: 'green'}}]);


PM MAIL   Вверх
svoloch
Дата 25.1.2010, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.5.2008

Репутация: нет
Всего: нет



блин. ну это уж совсем конечно получает заточка. но и тут есть еще один ньюанс. классы планируется на ходу менять javascript'ом. а в данная конструкция пригодится только для разовой инициализации. а нормальный скрипт конечно хотелось-бы отгородить от "только для ИЕ6". если только была бы возможность обработать событие смены класса отдельно. честно говоря я мало знаком с jquery
PM MAIL   Вверх
mcTep
Дата 25.1.2010, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 3
Всего: 6



Цитата(svoloch @  25.1.2010,  15:59 Найти цитируемый пост)
ну это уж совсем конечно получает заточка

Ну а как ты хотел.. Я не нашел фикса для этого бага.. В основном предлагают менять структуру HTML. По идее должно быть более изящное решение. Можно попробовать javascript'ом прочитать CSS файл и применить все стили "насильно" через DOM. Но опять же изврат..  как и IE6 впрочем =)
Цитата(svoloch @  25.1.2010,  15:59 Найти цитируемый пост)
 классы планируется на ходу менять javascript'ом. а в данная конструкция пригодится только для разовой инициализации

Ну а в чем проблема? Применил один раз, а дальше меняй сколько душе угодно.
Цитата(svoloch @  25.1.2010,  15:59 Найти цитируемый пост)
 а нормальный скрипт конечно хотелось-бы отгородить от "только для ИЕ6"

А это вообще не составляет никакого труда.

Цитата(svoloch @  25.1.2010,  15:59 Найти цитируемый пост)
честно говоря я мало знаком с jquery

Да там не сложно.. =)

Ну а вообще, в этом случае я думаю лучше всего поменять названия классов.... 

Это сообщение отредактировал(а) mcTep - 25.1.2010, 21:30
PM MAIL   Вверх
svoloch
Дата 26.1.2010, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 8.5.2008

Репутация: нет
Всего: нет



Цитата(mcTep @  25.1.2010,  21:07 Найти цитируемый пост)
Ну а в чем проблема? Применил один раз, а дальше меняй сколько душе угодно.

ну дык получается в обработке переключения появляется код "только для ИЕ6", или вы имеет ввиду просто сделать другую версию, которую и скармливать уже только ему.
Цитата(mcTep @  25.1.2010,  21:07 Найти цитируемый пост)
Ну а вообще, в этом случае я думаю лучше всего поменять названия классов.... 

честно говоря не понял идею. можно поподробнее
PM MAIL   Вверх
mcTep
Дата 27.1.2010, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 25.2.2009

Репутация: 3
Всего: 6



Цитата(svoloch @  26.1.2010,  21:15 Найти цитируемый пост)
 вы имеет ввиду просто сделать другую версию, которую и скармливать уже только ему.

Да.

Цитата(svoloch @  26.1.2010,  21:15 Найти цитируемый пост)
честно говоря не понял идею. можно поподробнее 

Вот так:
Код

  <style>
    .elem.pas {color: Red;}
    .elem.pasfirst {color: Blue;}
    .elem.act {color: Fuchsia;}
    .elem.actfirst {color: Green;}
  </style>
  <div class="elem pasfirst">PAS FIRST</div>
  <div class="elem pas">PAS</div>  
  <div class="elem actfirst">ACT FIRST</div>  
  <div class="elem act">ACT</div>



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.0866 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.