Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.12.2012, 12:32
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Псевдо-элементы after и before для Internet Explorer 7
Привет All!

Начирикал тут по быстрому поддержу псевдо-элементов в ИЕ7, если кому надо, юзайте:
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>before</title>
  <style>
   li:before, li before {
     content: "¶ ";
   }

   li[data-test]:before, li[data-test] before {
     content: attr(data-test);
   }

   li:after, li after {
     content: ".";
   }

   li:hover:before, li:hover before {
     content: "= ";
   }

   li:hover:after, li:hover after {
     content: "|";
   }

   li {
     list-style: none;

     /* псевдоэлемент :before Для ИЕ 7 */
     before: expression(function(t,e,c){
       if(!e||!('__content'in e)||!t._before)
       e=t[e?'insertBefore':'appendChild'](t._before=t._before||document.createElement('before'),e);
       if(!('__content'in e)||e.currentStyle.content!==e.__content){
         c=(e.__content=e.currentStyle.content)||'';
         e.innerHTML=c.replace(/^(?:["'](.*)['"]|attr\\((.*)\\)|(.*))$/,
         function(a,b,c){return b||c&&t.getAttribute(c)||''})
       }
     }(this,this.firstChild));

     /* псевдоэлемент :after Для ИЕ 7 */
     after: expression(function(t,e,c){
       if(!e||!('__content'in e)||!t._after)
       t.appendChild(e=t._after=t._after||document.createElement('after'));
       if(!('__content'in e)||e.currentStyle.content!==e.__content){
         c=(e.__content=e.currentStyle.content)||'';
         e.innerHTML=c.replace(/^(?:["'](.*)['"]|attr\\((.*)\\)|(.*))$/,
         function(a,b,c){return b||c&&t.getAttribute(c)||''})
       }
     }(this,this.lastChild));
   }
  </style>
 </head>
 <body>
   <ul><li>Альфа</li><li data-test="Это крутая ">Бета</li><li>Гамма</li></ul>
 </body>
</html>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #2 (permalink)  
Старый 28.12.2012, 13:18
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Как можно писать код в тегах style? Ничего не понимаю, можете объяснить как это работает?
Ответить с цитированием
  #3 (permalink)  
Старый 28.12.2012, 13:45
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от zebra
Ничего не понимаю, можете объяснить как это работает?
Это работает только для ИЕ7 и ниже. Для других браузеров код работать не будет. Я же написал что эмуляция псевдо для ИЕ7 а в других браузерах есть нативная поддержка этих псевдо-элементов
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 28.12.2012, 14:33
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Вот это ие дает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
обработка onclick koks Events/DOM/Window 14 28.05.2009 12:16
Как узнать размеры изображения в internet explorer dark Общие вопросы Javascript 1 13.04.2009 16:24
Не отрабатывает opener.location.reload() для Internet Explorer nickstarnew Events/DOM/Window 0 06.03.2009 13:20