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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не совпадают расстояния между дивами, в FF, IE и Opere 
:(
    Опции темы
Tyrone
Дата 22.11.2006, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброе время суток!
В общем, проблема такая: никак не могу добиться одинакового отображения страницы в FF IE6 и Opere! smile 
Вот код:
Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>test</title>
<style type="text/css">
<!--
.menu {
    font-family: Arial, Helvetica, sans-serif;
    width: 200px;
    position: relative;
    font-size: 12px;
    color: #FFCC99;
}
.menu .level1 {
    position: relative;
    width: 190px;
    z-index: 10;
}
.menu .level2, .menu .level3 {
    position: relative;
    width: 190px;
    margin-bottom: -74px;
    z-index: 20;
    top: -25px;
    left: 160px;
}
.menu .level3 {
    z-index: 30;
}
.menu .level2#cell3_0 {
    margin-bottom: -111px;
}
.menu .cell{
    height: 30px;
    cursor: hand;
    border: 1px solid #000000;
    position: relative;
    background-color: #666666;
    width: 100%;
    margin-bottom: 5px;
    padding-left: 10px;
}
-->
</style>
</head>

<body>
<div class="menu">
    <div class="level1" id="cell0">
        <div class="cell" id="cell1">cell1</div>
            <div class="level2" id="cell1_0">
                <div class="cell" id="cell1_1">cell1_1</div>
                <div class="cell" id="cell1_2">cell1_2</div>
            </div>
        <div class="cell" id="cell2">cell2</div>
        <div class="cell" id="cell3">cell3</div>
            <div class="level2" id="cell3_0">
                <div class="cell" id="cell3_1">cell3_1</div>
                <div class="cell" id="cell3_2">cell3_2</div>
                <div class="cell" id="cell3_3">cell3_3</div>
                    <div class="level3" id="cell3_3_0">
                        <div class="cell" id="cell3_3_1">cell3_3_1</div>
                        <div class="cell" id="cell3_3_2">cell3_3_2</div></div></div>                
        <div class="cell" id="cell4">cell4</div></div>
</div>
</body>
</html>

Расстояние между самой нижней ячейкой (cell4) и предыдущей (cell3) отличается от остальных в FF и Opere.
Я когда это заметил, задал диву cell3_0 высоту:
Код

.menu .level2#cell3_0 {
    margin-bottom: -111px;
    height: 111px;
}

Так, конечно правильней и лучше, но в Opere расстояние, все равно больше, чем надо.
Что подскажете?
PM MAIL WWW   Вверх
Bangladesh
Дата 22.11.2006, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AsBest
***


Профиль
Группа: Завсегдатай
Сообщений: 1089
Регистрация: 4.9.2004
Где: Калининград

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



попробуй написать в цсс

Код

* { padding: 0px;
      margin: 0px; }




--------------------
ок
PM MAIL WWW ICQ Skype   Вверх
Tyrone
Дата 23.11.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нет. Здесь что-то другое.
PM MAIL WWW   Вверх
SelenIT
Дата 23.11.2006, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Tyrone, так нужно было?
Код

.menu {
    font-family: Arial, Helvetica, sans-serif;
    width: 200px;
    position: relative;
    font-size: 12px;
    color: #FFCC99;
}

.menu div {
    position: relative;
}

.menu .level1 {
    width: 190px;
    z-index: 1;
}
.menu .level2, .menu .level3 {
    width: 190px;
    z-index: 2;
    top: -25px;
    left: 160px;
    height: 30px;
    margin-bottom: -30px; /* для всех */
    margin-bottom: expression(-this.offsetHeight+'px'); /* для IE */
}

.menu .level3 {
    z-index: 3;
}
.menu .cell{
    height: 30px;
    cursor: hand; cursor: pointer; /* первый - для IE5, второй - для прочих */
    border: 1px solid #000000;
    background-color: #666666;
    width: 180px; /* для всех, отсчитывающих padding наружу */
    _width: 190px; /* для IE, отсчитывающего padding внутрь */
    margin-bottom: 5px;
    padding-left: 10px;
}


P.S. Исправил баг - сначало было expression(-35*this.childNodes.length+'px'), что не учитывало вложенных подуровней (сейчас учитывает все). Заодно добавил комменты к хакам.

Это сообщение отредактировал(а) SelenIT - 24.11.2006, 00:40


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Tyrone
Дата 27.11.2006, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



SelenIT
Стало ещё инересней. IE и FF выдавют то, что и нужно.
В Opere же расстояние между самой нижней ячейкой (cell4) и предыдущей (cell3) было больше, чем надо. 
Теперь в OPERE проблеммы с объектами, имеющими вложения.
 smile  smile  smile 
З.Ы. А, вообще, спасибо за хаки. Где-нить пригодятся. smile  


Это сообщение отредактировал(а) Tyrone - 28.11.2006, 23:22

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  var3.jpg 9,38 Kb
PM MAIL WWW   Вверх
SelenIT
Дата 28.11.2006, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Tyrone, попробуйте добавить padding-bottom: 5px; к .menu .level2, .menu .level3, а margin-bottom для них же увеличить до 35px.
Кстати, проблема только в 8-й Опере (возможно и в еще более старых), в актуальной 9-й и без этого все нормально (как в FF).


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Tyrone
Дата 28.11.2006, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, SelenIT. Вопрос для себя считаю решённым.
З.ы. Наверное, поставлю 9-ю Оперу (давненько собираюсь) и вернусь к первоначальному варианту, а то у меня пара скриптиков работать не будут - переделать лень.smile 

PM MAIL WWW   Вверх
Tyrone
Дата 29.11.2006, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Хм... А скрипты то у меня и раньше не работали (проглядел smile ). Они на onMouseOver реагировали, а из-за margin-ов и padding-ов появлялись глюки (правда только в Опере smile ).
Короче вышел из положения так:
Вместо
Код

.menu .level2#cell3_0 {    
    margin-bottom: -111px;    
    height: 111px;    
}

(см. изначальный код)
Поставил
Код

.menu #cell4 {
    top: -111px; /*для всех*/
    <!--[if IE]>top: -37px;<![endif]-->/*для IE*/
}

Стало отображаться корректно, причем ВЕЗДЕ!

Это сообщение отредактировал(а) Tyrone - 30.11.2006, 00:08
PM MAIL WWW   Вверх
SelenIT
Дата 29.11.2006, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Tyrone, Вы уверены, что это будет нормально себя вести, если в подменю будет не 3, а 4-5 пунктов?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Tyrone
Дата 30.11.2006, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да. С одной поправкой: прийдется варьировать величину top, в зависимости от колличества пунктов меню. Кончно, это не совсем правильно. Хотелось бы универсального решения, но по-другому я что-то придумать не могу smile .

Добавлено @ 00:32 
И вот ещё что: поделитесь кот- нибудь ссылочками на инфу по применению expression (что-то никак ничего дельного найти не могу). Буду очень благодарен. 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




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


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

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