Jump to content
  • 0

Проблемы в IE7 с float:right


AlOshka
 Share

Question

Здравствуйте!

Встала проблема с 7м осликом..

Уже не первый раз сталкиваюсь с таким моментом.

Есть простой код:


<div class="caption">
Отзывы <a href="#">Все (232)</a>
</div>

со стилями:


.caption {
color: #0B0B0B;
font: 18px/22px Arial,Tahoma,Verdana,sans-serif;
height: 26px;
}
a {
float: right;
font: 14px/18px Arial,Tahoma,Verdana;
}

Так вот, везде всё нормально:

e0eefaca6ba65fcc98cf463958200559.png

кроме ie7 (синим выделен контейнер .caption в "средствах разработчика"):

58d9cae2a9cba81918ec5ccbd0ea041b.png

Просьба, помогите разобраться! Сталкиваюсь с таким далеко не впервые, побороть так и не смог. Приходилось для ослика отказываться от float'a. Может это типовая проблема? Может у неё уже давно есть решение, а я ещё в каменном веке? :-)

Спасибо!

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
Немного не понял в чем проблема

Проблема в том, что ссылка с float:right в ie7 визуально уехала под родительский блок:

d7a931f20287f8c25a62e38359d9aa9e.png

Если float не указывать, то ссылка уже визуально окажется в родительском контейнере, но (естественно) не там где надо..

В остальных браузерах всё нормально (самый 1й скриншот 1го поста).

<div style="clear:both"> </div>

не помогло.

Возвращение в поток делает родительский блок выше на высоту ссылки, но саму ссылку на место не возвращает.

Т.е. если .caption'у задать overflow:hidden и убрать фиксированную высоту:

.caption {
color: #0B0B0B;
font: 18px/22px Arial,Tahoma,Verdana,sans-serif;
overflow:hidden;
}

то этот блок просто растянется в высоту, а ссылка всё-равно будет ниже базовой линии :-(

2be433f772afefd856b5afe20be4d1f1.png

Я уже position:relative и zoom'ами как только не игрался, а эффекта ноль.

Edited by AlOshka
Link to comment
Share on other sites

  • 0

Это поведение, когда только начинаешь верстать, полностью убивать желание использовать флоаты. Дело в том, что положение блока при плавающей верстке, зависит от того, где вы его "напишите". И при этом возникают проблемы, когда надо, к примеру, расположить контент выше сайдбара(из соображений СЕО), но с данной версткой никак не получается расположить блоки как надо.

Edited by ablay2009
Link to comment
Share on other sites

  • 0
зависит от того, где вы его "напишите"

это естесственно :-)

Но по всем законам жанра плавающий блок на то и плавающий, чтобы его по правому краю обтекало..

Ведь по логике, весь простой текст внутри .caption (не обёрнутый ни во что) - инлайновый элемент, как и ссылка, стоящая внутри этого текста. Он не занимает всю свободную ширину, чтобы ссылка с float:right начала обтекать его _после_, а не _до_. Все браузеры это понимают, а ie и здесь отличился :-)

Ещё раз спасибо!

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