Jump to content
  • 0

Отступ элементов списка (LI) при обтекании картинки (IMG)


Cervus
 Share

Question

Список обтекает картинку. Смещаю элементы списка относительно заголовка:

img {
width: 150px;
height: 212px;
float: left;
margin: 0px 20px 20px 20px; }

strong {
font-weight: bold;
font-size: 100%; }

ul {
margin-top: 0px; }

li {
margin: 0px 0px 0px 20px;
font-size: 75%; }

В Firefox всё выглядит отлично:

Firefox.png

А вот в IE7 - нет:

IE7.png

В чём проблема?

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

ul {
margin-top: 0px;
float: left;
}

Дело в том, что если не написать так, отступ списка отсчитывается не от требуемого правого края картинки, а от начала всей строки и вынужденно "прижимается" к изображению.

Edited by XAOPT
Link to comment
Share on other sites

  • 0

Спасибо за совет. Пришлось немного помучаться, зато теперь в IE7 всё выглядит идеально:

IE7_2.png

Однако теперь непорядок с Firefox:

Firefox_2.png

Вот как выглядит обновлённый CSS:

img {
width: 150px;
height: 212px;
float: left;
margin: 0px 20px 0px 20px; }

strong {
width: 210px;
float: left;
font-weight: bold;
font-size: 100%; }

ul {
width: 190px;
float: left;
margin: 0px 0px 10px 20px; }

li {
font-size: 75%; }

Link to comment
Share on other sites

  • 0

Похоже на то, что глюки, которые видны на скринах, скорее всего вызваны окружающими dom-элементами вашего кода..

1. у меня в FF3 всё в порядке (разве что не понятно зачем убран margin у элемента li)

2. покажите хтмл, когда у вас несколько таких кусочков друг за другом (как на последнем скрине). стили не нужны

Link to comment
Share on other sites

  • 0
<div class="...">

<img src="..." />

<strong>Issue #1</strong><br />

<ul>
<li>Manifesto on Pussy</li>
<li><a href="...">Three Stories by Daniil Kharms</a></li>
...
</ul>

<strong>Interviews with</strong><br />
<ul>
...
<ul>
</div>

<div class="...">

<img src="..." />

<strong>Issue #1</strong><br />

<ul>
<li><a href="...">Fuck Hitler...</a></li>
<li><a href="...">The 2012 Apocalypse</a></li>
...
</ul>

<strong>Interviews with</strong><br />
<ul>
...
<ul>

</div>

Link to comment
Share on other sites

  • 0

Вот быстрое решение. Будет перерыв на работе, подумаю ещё:

* внёс блок стронг внутрь списка. Это не обязательно, просто для теста.

<style> 

li {
margin: 0px 0px 0px 40px;
font-size: 75%; }

img {
width: 150px;
height: 212px;
float: left;
margin: 0px 20px 0px 20px; }

ul {
width: 190px;
float: left;
margin: 0px 0px 10px 10px; }
div.oneitem {
height: 220px;
}
</style>

<body>

<div class="oneitem">

<img src="..." />

<ul><strong>Issue #1</strong>
<li>Manifesto on Pussy</li>
<li><a href="...">Three Stories by Daniil Kharms</a></li>
...
</ul>

</div>

<div class="oneitem">

<img src="..." />

<ul> <strong>Issue #1</strong>
<li><a href="...">Fuck Hitler...</a></li>
<li><a href="...">The 2012 Apocalypse</a></li>
...
</ul>


</div>


</body>

Edited by XAOPT
Link to comment
Share on other sites

  • 0

Добавление margin y li просто сдвигает элементы вправо. Не годится.

Высота div уже задана (min-height: 212px; height: auto !important; height: 212px; margin-top: 20px;), её изменение на 220px ничего не даёт.

Что интересно, если убрать margin у ul, то в IE7 получается примерно то же, что и в Firefox (список уползает под картинку). Это наталкивает вас на какие-нибудь соображения?

* внёс блок стронг внутрь списка. Это не обязательно, просто для теста.

Этот блок просто присоединяется к списку (то есть, в случае с Firefox так же уползает под картинку).

Link to comment
Share on other sites

  • 0

Увеличил ширину div'а:

Firefox_3.png

Как-то элементы списка чересчур сдвинуты вправо, не находите (должно-то быть всего 20px)? Может быть, именно в этом проблема?

Чрезмерное увеличение ширины div'а в IE7 вызывает расширение родительского div'а, и серый фон наползает на основной текст страницы. Надеюсь, понятно и без скриншота.

Link to comment
Share on other sites

  • 0
Как-то элементы списка чересчур сдвинуты вправо, не находите (должно-то быть всего 20px)? Может быть, именно в этом проблема?

Это решается заменйо строки

margin: 0px 0px 0px 40px;

на строку

margin-left: 20px

Edited by XAOPT
Link to comment
Share on other sites

  • 0

Это тоже не решение, так как в таком случае портится расположение элементов в IE7.

В общем, надоело мне с этим возиться. Выкинул списки, оформив все элементы как div'ы. Обтекание картинок сделал, как описано в этой статье (самый последний рецепт: Рисунок на поле > Использование стилей).

Немного помучившись с шириной элементов (здесь Firefox и IE7 тоже по-разному работают), вроде, добился того, чтобы в обоих браузерах страница отображалась одинаково.

Боюсь запускать Оперу...

Большое спасибо за помощь.

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