Положение: исправлено для работы на IE 6/7/8 и Mozilla - PullRequest
0 голосов
/ 14 сентября 2010

Я хочу зафиксировать положение div в правом нижнем углу страницы ... (окно чата) ... как мне это сделать с помощью файла css, который будет работать на всех IE6 / 7/8 и mozilla .. ... сейчас у меня есть

# Chatbox { положение: фиксированное; низ: 0%; справа: 1%;} Это не работает в IE ... и мое ограничение заключается в том, что мне разрешено редактировать этот CSS-файл (поэтому я не могу установить html в строгом режиме). Обходные пути, которые я нашел в интернете, просто говорят о позиции w.r.t вверху страницы, а не внизу.

спасибо Mohan

1 Ответ

1 голос
/ 14 сентября 2010

Вы можете исправить IE с помощью CSS-выражений.Подайте следующее в IE с условными комментариями :

/* smooths out the IE expression scroll - foo doesn't need to exist */
body{
   background:url(foo) fixed;
}

/* fixed scrolling element */
#bottom-fixed-element {
   position: absolute;  
   right: 0;
   top: expression(
      document.body.scrollTop + document.body.clientHeight - this.clientHeight
   );
}

Если вы не можете изменить источник для включения условного комментария, вы можете обойти его с помощью CSS-хаков, ноне рекомендуется:

#bottom-fixed-element {
   position: fixed;
   bottom: 0;
   right: 0;

   _position: absolute;  
   _top: expression(
      document.body.scrollTop + document.body.clientHeight - this.clientHeight
   );
}

Редактировать

Если вам нужно поддерживать как причуды, так и режим стандартов, вы можете проверить это в выражении:

top: expression(
   (document.compatMode && document.compatMode == 'CSS1Compat') ?          
       (documentElement.scrollTop + documentElement.clientHeight - this.clientHeight) :
       (document.body.scrollTop + document.body.clientHeight - this.clientHeight)
);
...