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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DIV-вы в FireFox, IE, Opera 
:(
    Опции темы
Enya
  Дата 21.11.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я не много делаю div-вами, но порой приходиться к ним прибегать.
Вот сейчас мне нужно поле для бокового меню. я делаю в CSS
Код

div.NavBar{
    border: 1px solid #337935;
    background-color: White;
    width: 15%;
    height: 15%;
}
в html-е пишу так
Код

<div class="NavBar">
                  <li><a href="" class="NavBarItem">Статьи</a>
                    <li><a href="" class="NavBarItem">Форум</a>
                    <li><a href="" class="NavBarItem">F. A. Q. </a>
                    <li><a href="" class="NavBarItem">Помощь</a>
                    <li><a href="" class="NavBarItem">О нас</a>
                </div>
В IE хотя бы за границы не вылазит содержимое, а в FireFox вообще свиста-пляска. Что делать? нужно же чтобы во всех браузерах одинаково показывало.


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
S.A.P.
Дата 21.11.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Enya, не забываем заключать элементы списков в контейнеры. Например
Код

<div class="NavBar">
    <ul>
        <li><a href="" class="NavBarItem">Статьи</a>
        <li><a href="" class="NavBarItem">Форум</a>
        <li><a href="" class="NavBarItem">F. A. Q. </a>
        <li><a href="" class="NavBarItem">Помощь</a>
        <li><a href="" class="NavBarItem">О нас</a>
    </ul>
</div>


Это сообщение отредактировал(а) S.A.P. - 21.11.2006, 16:59
PM MAIL   Вверх
alergi
Дата 21.11.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 14.8.2006
Где: МОСКВА

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



попробуй так
Код

<ul class="NavBar">
                    <li><a href="" class="NavBarItem">Статьи</a>
                    <li><a href="" class="NavBarItem">Форум</a>
                    <li><a href="" class="NavBarItem">F. A. Q. </a>
                    <li><a href="" class="NavBarItem">Помощь</a>
                    <li><a href="" class="NavBarItem">О нас</a>
</ul>

Хотя в блочной вёрстке многое зависит от соседних элементов...
PM MAIL WWW ICQ   Вверх
Nuxx
Дата 28.11.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Решение простое: использовать разметку, которую подсказал нам 
S.A.P., так как списки обычно оформляются вкупе с 'обертывающими' тегами <ul> или <ol> - к которым и применяются стили списка,
а для придания формы списку (размеров) пользуйтесь внешним блоком-контейнером. Тогда у вас текст будет вмещаться в размеры этого блока.
PM MAIL   Вверх
Panoramix
Дата 17.3.2007, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Зравствуйте, господа Винградчане! Первый мой пост здесь, ура!)
Ну, ближе к делу. Не стал создавать новую тему, так как моя проблема относится тоже к различному отображению DIV'ов разными браузерами.
Есть код меню:
Код
<div class="menu">
    <div class="menu_item" style="margin-top:0px;" onmouseover="this.className='menu_item-hover';" onmouseout="this.className='menu_item';" onclick="window.location.href='#';"><a class="menu_link" href="#">Главная</a></div>
    <div class="menu_item" style="margin-top:3px;" onmouseover="this.className='menu_item-hover';" onmouseout="this.className='menu_item';" onclick="window.location.href='#';"><a class="menu_link" href="#">Форум</a></div>
    <div class="menu_group" style="margin-top:3px;" onmouseover="this.className='menu_item-hover';" onmouseout="this.className='menu_group';" onclick="window.location.href='#';"><a class="menu_link" href="#">События</a></div>
    <div class="menu_subitem" style="margin-top:0px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subitem';" onclick="window.location.href='#';"><a class="menu_link" href="#">Новости портала</a></div>
    <div class="menu_subgroup" style="margin-top:0px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subgroup';" onclick="window.location.href='#';"><a class="menu_link" href="#">Новости проекта</a></div>
        <div class="menu_subitem" style="margin-top:0px; margin-left:15px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subitem';" onclick="window.location.href='#';"><img src="./img/dot.gif" width="5" height="5" style="margin-right:5px; margin-bottom:2px;"><a class="menu_link" href="#">Subitem1</a></div>
        <div class="menu_subgroup" style="margin-top:0px; margin-left:15px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subgroup';" onclick="window.location.href='#';"><img src="./img/dot.gif" width="5" height="5" style="margin-right:5px; margin-bottom:2px;"><a class="menu_link" href="#">Subitem2</a></div>
            <div class="menu_subitem" style="margin-top:0px; margin-left:30px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subitem';" onclick="window.location.href='#';"><img src="./img/dot.gif" width="5" height="5" style="margin-right:5px; margin-bottom:2px;"><a class="menu_link" href="#">Subitem1</a></div>
            <div class="menu_subitem" style="margin-top:0px; margin-left:30px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subitem';" onclick="window.location.href='#';"><img src="./img/dot.gif" width="5" height="5" style="margin-right:5px; margin-bottom:2px;"><a class="menu_link" href="#">Subitem2</a></div>
    <div class="menu_item" style="margin-top:3px;" onmouseover="this.className='menu_item-hover';" onmouseout="this.className='menu_item';" onclick="window.location.href='#';"><a class="menu_link" href="#">Контакты</a></div>
</div>


Вот стили к нему:
Код
body
{
    font-size:12pt;
}
.menu
{
    background-color:#FBFBFB;
    width:150px;
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:3px;
}
.menu_link
{
    color:black;
    text-decoration:none;
}
.menu_item
{
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:1px;
    padding-left:8px;
    background-color:#E0E0E0;
    margin:0px;
    width:100%;
    cursor:pointer;
}
.menu_item-hover
{
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:1px;
    padding-left:10px;
    background-color:#F3F3E0;
    margin:0px;
    width:100%;
    cursor:pointer;
}
.menu_group
{
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:1px;
    padding-left:8px;
    background-color:#EFEFEF;
    margin:0px;
    width:100%;
    cursor:pointer;
}
.menu_subitem
{
    padding:0px;
    padding-left:5px;
}
.menu_subitem-hover
{
    padding:0px;
    padding-left:7px;
    text-decoration:underline;
}
.menu_subgroup
{
    padding:0px;
    padding-left:5px;
}


Проблема в следующем.
IE, как ни удивительно, воспринимает все правильно:
user posted image

А вот Opera/Firefox ведут себя странно - дивы выскакивают за пределы своего родителя, причем сам родительский DIV больше, чем должен быть.
user posted image

Полный код страницы в html:
Код
<html>
<head>
<style>
body
{
    font-size:12pt;
}
.menu
{
    background-color:#FBFBFB;
    width:150px;
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:3px;
}
.menu_link
{
    color:black;
    text-decoration:none;
}
.menu_item
{
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:1px;
    padding-left:8px;
    background-color:#E0E0E0;
    margin:0px;
    width:100%;
    cursor:pointer;
}
.menu_item-hover
{
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:1px;
    padding-left:10px;
    background-color:#F3F3E0;
    margin:0px;
    width:100%;
    cursor:pointer;
}
.menu_group
{
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:1px;
    padding-left:8px;
    background-color:#EFEFEF;
    margin:0px;
    width:100%;
    cursor:pointer;
}
.menu_subitem
{
    padding:0px;
    padding-left:5px;
}
.menu_subitem-hover
{
    padding:0px;
    padding-left:7px;
    text-decoration:underline;
}
.menu_subgroup
{
    padding:0px;
    padding-left:5px;
}
</style>
</head>
<body>
<div class="menu">
    <div class="menu_item" style="margin-top:0px;" onmouseover="this.className='menu_item-hover';" onmouseout="this.className='menu_item';" onclick="window.location.href='#';"><a class="menu_link" href="#">Главная</a></div>
    <div class="menu_item" style="margin-top:3px;" onmouseover="this.className='menu_item-hover';" onmouseout="this.className='menu_item';" onclick="window.location.href='#';"><a class="menu_link" href="#">Форум</a></div>
    <div class="menu_group" style="margin-top:3px;" onmouseover="this.className='menu_item-hover';" onmouseout="this.className='menu_group';" onclick="window.location.href='#';"><a class="menu_link" href="#">События</a></div>
    <div class="menu_subitem" style="margin-top:0px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subitem';" onclick="window.location.href='#';"><a class="menu_link" href="#">Новости портала</a></div>
    <div class="menu_subgroup" style="margin-top:0px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subgroup';" onclick="window.location.href='#';"><a class="menu_link" href="#">Новости проекта</a></div>
        <div class="menu_subitem" style="margin-top:0px; margin-left:15px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subitem';" onclick="window.location.href='#';"><img src="./img/dot.gif" width="5" height="5" style="margin-right:5px; margin-bottom:2px;"><a class="menu_link" href="#">Subitem1</a></div>
        <div class="menu_subgroup" style="margin-top:0px; margin-left:15px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subgroup';" onclick="window.location.href='#';"><img src="./img/dot.gif" width="5" height="5" style="margin-right:5px; margin-bottom:2px;"><a class="menu_link" href="#">Subitem2</a></div>
            <div class="menu_subitem" style="margin-top:0px; margin-left:30px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subitem';" onclick="window.location.href='#';"><img src="./img/dot.gif" width="5" height="5" style="margin-right:5px; margin-bottom:2px;"><a class="menu_link" href="#">Subitem1</a></div>
            <div class="menu_subitem" style="margin-top:0px; margin-left:30px;" onmouseover="this.className='menu_subitem-hover';" onmouseout="this.className='menu_subitem';" onclick="window.location.href='#';"><img src="./img/dot.gif" width="5" height="5" style="margin-right:5px; margin-bottom:2px;"><a class="menu_link" href="#">Subitem2</a></div>
    <div class="menu_item" style="margin-top:3px;" onmouseover="this.className='menu_item-hover';" onmouseout="this.className='menu_item';" onclick="window.location.href='#';"><a class="menu_link" href="#">Контакты</a></div>
</div>
</body>
</html>


Посмотреть страницу можно тут - js_menu.html


Помогите, пожалуйста, исправить это безобразие! smile

Это сообщение отредактировал(а) Panoramix - 17.3.2007, 23:08
PM MAIL   Вверх
Georgio
Дата 18.3.2007, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



а по-моему очень даже неплохо смотрится! Советую второй вариант оставить )))
PM MAIL WWW ICQ Skype   Вверх
Mymik
Дата 18.3.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

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



Panoramix, убери в классах .menu_item и .menu_group width:100%; дело в том, что padding как бы увеличивает размеры div'а т.е. если ты задашь четкие размеры div'a  и после этого поставишь padding то размеры данного блока увеличатся на параметры padding.

когда у div'а нет размера он всегда по ширине растягивается до максимальных размеров. только если у него float не указан.

Добавлено @ 12:52 
Georgio,  smile  smile 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 18.3.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Panoramix, дело в странной для многих боксовой модели от WWW-консорциума - паддинги и бордеры плюсуются к ширние/высоте. IE в режиме совместимости со стандартом (при соответствующем DOCTYPE) ведет себя так же.

А javascript тут совершенно не нужен, раз уж дивы и CSS в ход пошли. Делайте нужные ссылки блоковыми и все дела. Как-то так:
Код

<div class="menu">
    <div class="menu_item"><a class="menu_link" href="#">Главная</a></div>
    <div class="menu_item"><a class="menu_link" href="#">Форум</a></div>
    <div class="menu_group"><a class="menu_link" href="#">События</a></div>
    <div class="menu_subitem"><a class="menu_link" href="#">Новости портала</a></div>
    <div class="menu_subgroup"><a class="menu_link" href="#">Новости проекта</a></div>
        <div class="menu_subitem margin30"><img src="./img/dot.gif" width="5" height="5"><a class="menu_link" href="#">Subitem1</a></div>
        <div class="menu_subgroup margin30"><img src="./img/dot.gif" width="5" height="5"><a class="menu_link" href="#">Subitem2</a></div>
            <div class="menu_subitem margin30"><img src="./img/dot.gif" width="5" height="5"><a class="menu_link" href="#">Subitem1</a></div>
            <div class="menu_subitem margin30"><img src="./img/dot.gif" width="5" height="5"><a class="menu_link" href="#">Subitem2</a></div>
    <div class="menu_item"><a class="menu_link" href="#">Контакты</a></div>
</div>

Код

.menu
{
    background-color:#FBFBFB;
    width:150px;
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding: 0 3px;
}
.menu_link
{
    color:black;
    text-decoration:none;
}
.menu_item a
{
    display: block;
    margin: 3px 0;
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:1px;
    padding-left:8px;
    background-color:#E0E0E0;
    cursor:pointer;
}
.menu_item a:hover
{
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:1px;
    padding-left:10px;
    background-color:#F3F3E0;
    cursor:pointer;
}
.menu_group a
{
    display: block;
    border-width:1px;
    border-style:solid;
    border-color:black;
    padding:1px;
    padding-left:8px;
    background-color:#EFEFEF;
    margin: 3px 0;
    cursor:pointer;
}
.menu_subitem
{
    padding:0 0 0 5px;
    margin: 0 0 0 15px;
}
.menu_subitem a:hover
{
    padding:0px;
    padding-left:7px;
    text-decoration:underline;
}
.menu_subgroup
{
    padding:0px;
    padding-left:5px;
    margin-top:3px;
    margin-left:15px;
}
.margin30 {
    margin: 0 0 0 30px;
}
.menu img {
    margin-right:5px;
    margin-bottom:2px;
}

А еще правильнее, с точки зрения логической разметки, делать такое меню на вложенных списках (ul - li)...


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


Новичок



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

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



MymikSelenIT, спасибо вам огромное! smile
Всё теперь работает как надо))

Цитата(Georgio @  18.3.2007,  12:30 Найти цитируемый пост)
а по-моему очень даже неплохо смотрится! Советую второй вариант оставить ))) 
да мне, кстати, такая фишка тоже приглянулась, но вот заказчику оно бы не понравилось) smile


Цитата(SelenIT @  18.3.2007,  14:31 Найти цитируемый пост)
Делайте нужные ссылки блоковыми и все дела. Как-то так:
А вот за этот код вообще отдельное большое спасибо! Я знал, что-как-то можно ведь зделать подклассами CSS, но ничего не получилось, и я, не мудрствуя лукаво, сбацал на яваскрипте))

 smile

Это сообщение отредактировал(а) Panoramix - 18.3.2007, 22:26
PM MAIL   Вверх
Del_Flg
Дата 30.3.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



насчет события onClick в опере:
на страничке есть див, который надо показывать по нажатию на ссылку. то есть “развернуть форму” - форма разворачивается.
изначально у дива стоит display:none, по онклику скриптом ставится display:block.
в ие и фоксе все прекрасно работает, а вот опера капризничает. она на время показывает этот див, но тут же его скрывает. и в полученном коде страницы стоит все тот же display:none. как это исправить?


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


 




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


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

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