Jump to content
  • 0

Объясните поведение элемента во всех браузерах


Mal4ishnik
 Share

Question

http://vsegarazd.com/nikita/test/

на этой странице список отображается вертикально в ряд, а должен горизонтально в ряд

я не первый день версткой занимаюсь, но принцип отображения понять затрудняюсь, ul абсолютно отпозиционирован, если убрать left:900px; отображение становится правильным

пример кроссбраузерный, кода совсем чуть-чуть, профессионалы помогите разобраться

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

left:560px;

Браузер начинает переносить строку когда объект не влезает в материнский, если объект начинается когда материнский уже кончился переносы будут где это только возможно. При изменении размеров окна браузера размер материнского объекта не меняется а потому и с переносами всё впорядке

Link to comment
Share on other sites

  • 0

Для ul задано абсолютное позиционирование, в этом случае его ширина равна ширине контента. Дочерним элементам некуда деться просто, как выстроиться вертикально. Если задать насильно ширину, элементы списка выстроятся горизонтально.

Link to comment
Share on other sites

  • 0

хех, всегда думал, что при абсолютном позиционировании блока, ширина равна ширине контента, и другие элементы на размеры блока не влияют, так как он уже не отображается в обычном потоке, оказывается это не так)

Link to comment
Share on other sites

  • 0

И почему вы решили, что ширина контента - все li горизонтально? Каждый li - это отдельный элемент и каждый отдельный элемент переносится на новую строку. А ширина всех элементов в такой ситуации будет по ширине максимального. И при чем здесь поток? Вы свойством position:absolute уже вывели весь список из потока.

Link to comment
Share on other sites

  • 0

Если вы посмотрите страницу в Firebug'е и отключите свойство left для элемента ul, то вы увидите, что элементы списка выстроятся в строчку. Значит, что на такое поведение влияет то, находится ли внутренний контент с position:absolute внутри контейнера с position:relative. Если контент не выходит за границы блока, то всё нормально.

Тут даже overflow:visible не помогает.

Link to comment
Share on other sites

  • 0
И почему вы решили, что ширина контента - все li горизонтально? Каждый li - это отдельный элемент и каждый отдельный элемент переносится на новую строку. А ширина всех элементов в такой ситуации будет по ширине максимального.

Мне кажется вы не совсем поняли вопрос, я все li отфлоатил по левому краю

И при чем здесь поток? Вы свойством position:absolute уже вывели весь список из потока.

я же и пишу "так как он уже не отображается в обычном потоке"

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy