Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.08.2012, 17:46
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Размер в процентах. Мозила отличилась.
При выставлении в #menu .menu-subList width: 100% все браузеры ведут себя хорошо, и ставят полный размер по родительскому блоку, мозила же растягивает все, опираясь на ширину экрана или еще чего там.
Как выкрутиться? И почему оно так?
<!DOCTYPE html>
<html>
<head>
  <meta charset='utf-8' />
  <title>My menu</title>
  <style>
body {
  margin: 0;
  padding: 0;
}


#menu-full {
  display: table;
  width: 800px;
  height: 30px;
}

#menu ul {
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
}

#menu .menu-block {
  position: relative;
  display:table-cell;
  border: 1px solid black;
  text-align: center;
}

#menu .menu-subList {
  width: 100%;
  overflow: hidden;
  position: absolute;
  top: 32px;
  border: 1px solid green;
}

#menu .menu-subList :last-child a {
  border-bottom: none;
}


#menu .menu-subList a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 5px 0px ;
  color: black;
  border-bottom: 1px solid red;
}

  </style>
</head>
<body>
<div id='menu'>
  <ul id='menu-full'>
    <ul class='menu-block'>
      <li class='menu-tittle'> Меню 111 </li>
      <ul class='menu-subList'>
        <li><a href='#1'>Первый в списке</a></li>
        <li><a href='#2'>Второй в списке</a></li>
        <li><a href='#3'>Третий в списке</a></li>
        <li><a href='#4'>Четвертый в списке</a></li>
      </ul>
    </ul>
    <ul class='menu-block'>
      <li class='menu-tittle'> Меню 222 </li>
      <ul class='menu-subList'>
        <li><a href='#11'>Первый в списке</a></li>
        <li><a href='#22'>Второй в списке</a></li>
        <li><a href='#33'>Третий в списке</a></li>
        <li><a href='#44'>Четвертый в списке</a></li>
      </ul>
    </ul>
    <ul class='menu-block'>
      <li class='menu-tittle'> Меню 333 </li>
      <ul class='menu-subList'>
        <li><a href='#111'>Первый в списке</a></li>
        <li><a href='#222'>Второй в списке</a></li>
        <li><a href='#333'>Третий в списке</a></li>
        <li><a href='#444'>Четвертый в списке</a></li>
      </ul>
    </ul>
    <ul class='menu-block'>
      <li class='menu-tittle'> Меню 444 </li>
      <ul class='menu-subList'>
        <li><a href='#1111'>Первый в списке</a></li>
        <li><a href='#2222'>Второй в списке</a></li>
        <li><a href='#3333'>Третий в списке</a></li>
        <li><a href='#4444'>Четвертый в списке</a></li>
      </ul>
    </ul>
    <ul class='menu-block'>
      <li class='menu-tittle'> Меню 555 </li>
      <ul class='menu-subList'>
        <li><a href='#11111'>Первый в списке</a></li>
        <li><a href='#22222'>Второй в списке</a></li>
        <li><a href='#33333'>Третий в списке</a></li>
        <li><a href='#44444'>Четвертый в списке</a></li>
      </ul>
    </ul>
  </ul>
</div>


</body>
<script type='text/javascript'>


</script>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 28.08.2012, 20:12
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

У вас неправильный HTML-код: элемент <ul> может содержать только <li> в качестве детей.
Ответить с цитированием
  #3 (permalink)  
Старый 28.08.2012, 20:48
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

oneguy,
Спасибо, ужасная ошибка.
Переверстал. Но мозила все так же вредничает.

<!DOCTYPE html>
<html>
<head>
  <meta charset='utf-8' />
  <title>My menu</title>
  <style>
body {
  margin: 0;
  padding: 0;
}


#menu-full {
  display: table;
  width: 800px;
  height: 30px;
}

#menu ul {
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
}

#menu li {
  margin: 0;
  padding: 0;
}

#menu .menu-block {
  position: relative;
  display:table-cell;
  border: 1px solid black;
  text-align: center;
}

#menu .menu-subList {
  width: 100%;
  overflow: hidden;
  position: absolute;
  top: 32px;
  border: 1px solid green;
}

#menu .menu-subList :last-child a {
  border-bottom: none;
}


#menu .menu-subList a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 5px 0px ;
  color: black;
  border-bottom: 1px solid red;
}

  </style>
</head>
<body>
<div id='menu'>
  <ul id='menu-full'>
    <li class='menu-block'> Меню 111 
      <ul class='menu-subList'>
        <li><a href='#1'>Первый в списке</a></li>
        <li><a href='#2'>Второй в списке</a></li>
        <li><a href='#3'>Третий в списке</a></li>
        <li><a href='#4'>Четвертый в списке</a></li>
      </ul>
    </li>
    <li class='menu-block'> Меню 222
      <ul class='menu-subList'>
        <li><a href='#11'>Первый в списке</a></li>
        <li><a href='#22'>Второй в списке</a></li>
        <li><a href='#33'>Третий в списке</a></li>
        <li><a href='#44'>Четвертый в списке</a></li>
      </ul>
    </li>
    <li class='menu-block'>Меню 333
      <ul class='menu-subList'>
        <li><a href='#111'>Первый в списке</a></li>
        <li><a href='#222'>Второй в списке</a></li>
        <li><a href='#333'>Третий в списке</a></li>
        <li><a href='#444'>Четвертый в списке</a></li>
      </ul>
    </li>
    <li class='menu-block'> Меню 444 
      <ul class='menu-subList'>
        <li><a href='#1111'>Первый в списке</a></li>
        <li><a href='#2222'>Второй в списке</a></li>
        <li><a href='#3333'>Третий в списке</a></li>
        <li><a href='#4444'>Четвертый в списке</a></li>
      </ul>
    </li>
    <li class='menu-block'>Меню 555 
      <ul class='menu-subList'>
        <li><a href='#11111'>Первый в списке</a></li>
        <li><a href='#22222'>Второй в списке</a></li>
        <li><a href='#33333'>Третий в списке</a></li>
        <li><a href='#44444'>Четвертый в списке</a></li>
      </ul>
    </li>
  </ul>
</div>


</body>
Ответить с цитированием
  #4 (permalink)  
Старый 28.08.2012, 21:29
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

#menu .menu-subList {
    border: 1px solid green;
    overflow: hidden;
    position: absolute; /*вот это не лишнее?*/
    top: 32px;
    width: 100%;
}
Ответить с цитированием
  #5 (permalink)  
Старый 28.08.2012, 21:38
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Serg_pnz,
Действительно, без него заработало.
Но ведь мне нужно position: absolute, чтоб этот элемент не сдвигал остальные.
Ответить с цитированием
  #6 (permalink)  
Старый 29.08.2012, 13:41
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

Посмотри тут меню http://sro001.jcase.ru/
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2012, 00:08
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Проблема была из-за display:table-cell;.
Это баг мозилы. Стек оверфлоу, оказывается, кишит этой темой.
Эх. Жаль, табличкой все так красиво делалось.
Ответить с цитированием
  #8 (permalink)  
Старый 30.08.2012, 11:24
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

есть ещё display: inline-block
Ответить с цитированием
  #9 (permalink)  
Старый 30.08.2012, 23:07
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

bes,
Так ведь не растягивает свои ячейки так красиво по ширине род. блока как табличка.
ну да ладно. Не так пока и важно.
Ответить с цитированием
  #10 (permalink)  
Старый 07.09.2012, 14:19
Профессор
Отправить личное сообщение для Seva1986 Посмотреть профиль Найти все сообщения от Seva1986
 
Регистрация: 01.10.2011
Сообщений: 422

Сообщение от PashPP
Это баг мозилы.
Почему вдруг это баг? где написано что ячейка таблицы должна поддерживать релатив? не знаю как сейчас но раньше для ячеек position: relative было не определённым. а то что другие браузеры это поддерживали ну это вообще не о чём.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
Размер документа во фрейме mcfly Элементы интерфейса 0 04.06.2011 18:14
Размер создаваемых окон по размерам картинки kuhams Events/DOM/Window 0 17.04.2010 10:00
Размер шрифта в input Indiana Элементы интерфейса 5 16.02.2010 19:52
Как изменить размер картинки? Mihail Общие вопросы Javascript 1 25.10.2009 13:42