Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: позиция div'a  (Прочитано 11340 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Mfcer__
Команда клуба

ru
Offline Offline

« : 15-09-2006 20:07 » 

Какие свойства надо указать div'у, чтобы он находился все время слева вверху страницы даже при скроллинге?

с учетом

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
...
 С ума сойти...
« Последнее редактирование: 14-12-2007 16:03 от Алексей1153++ » Записан
Chuda
Гость
« Ответ #1 : 16-09-2006 05:53 » new

ээээ..... а при чём тут некрософт?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 16-09-2006 12:02 » 

Mfcer__, Чуда тебе указывает, что xmlns:v="urn:schemas-microsoft-com:vml" - лишнее и не совместимое решение.

Кстати, именно благодамя MS ты не можешь осуществить желаемое - эти чудаки не реализовали CSS свойство "position: fixed;", которое исправно работает на других браузерах. Как решение - установка обработчика на скролирование и корректировка положения элемента (ему придется установить "position: absolute;").

Еще рекомендую заменить схему strict на transition - будет намного легче.


Итог:
position: absolute;
z-index: 1; (выше основной страницы)
И обработчик onscroll элемента body.

Этот пример работает на IE6 и Mozilla 1.7.
Код: (HTML)
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1251" />
<style>
body
{
        margin:0;
        padding:0;
}
.fixed
{
        border: 1px solid red;
        top: 0;
        left: 0;
        width: 100%;
        background-color: gold;
        font-weight: bold;
        text-align: center;
        opacity: 0.7;
        filter:progid:DXImageTransform.Microsoft.BasicImage(opacity=0.7);
}
</style>
</head>
<body>
<div class="fixed" id="div1">фиксированная строка</div>
<span ID="out"></span>

<script type="text/javascript">

var isIE = (navigator.appName.indexOf('Internet Explorer') != -1) ? true : false;

function show_obj_recurs(obj,deep) // for debugging
{
    var i;
    var t = "<ul>";

    deep--;
    for (i in obj)
    {
        if (i=="ownerDocument") continue;
        if (i=="parentNode") continue;
        if (i=="domConfig") continue;
        t += "<li>" + typeof(obj[i]) + "&nbsp;" + i;
        switch (typeof(obj[i]))
        {
        case "number":
        case "string":
        case "boolean":
            t += "&nbsp;=&nbsp;\"" + obj[i] + "\"";
            break;
        case "object":
            t += "{";
            if (deep)
                t += show_obj_recurs(obj[i], deep);
            t += "}";
            break;
        case "function":
            t += "()";
            break;
        }
        t += "</li>";
    }
    t += "</ul>";
    return t;
}

var out = document.getElementById('out');
var div1 = document.getElementById('div1');

div1.style.zIndex = 1;

if (isIE)
{
        div1.style.position = 'absolute';
        window.onscroll = function ()
                {
                        div1.style.top = (window.pageYOffset ? window.pageYOffset : document.body.scrollTop);
                }
}
else div1.style.position = 'fixed';

out.innerHTML = show_obj_recurs(div1,2);

</script>

</body>
</html>
« Последнее редактирование: 14-12-2007 16:04 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Mfcer__
Команда клуба

ru
Offline Offline

« Ответ #3 : 16-09-2006 18:56 » 

вот с таким заголовком уже не работает

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

а если отключить этот заголовок то не работает мой код Жаль
Записан
Mfcer__
Команда клуба

ru
Offline Offline

« Ответ #4 : 16-09-2006 19:30 » 

Нашел, спасибо за помощь Ж)

может быть кому нибудь пригодиться
document.documentElement.scrollTop

вместо
document.body.scrollTop
« Последнее редактирование: 16-09-2006 19:32 от Mfcer__ » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 16-09-2006 20:36 » 

Mfcer__, дык ты же используешь strict (зачем только?) - там все соотв. строже.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines