Jump to content
  • 0

Приключения float, clear и двухколоночного макета


Veseloff
 Share

Question

В общем, задача сделать что-то типа блога. Макет — духколоночный. Слева маленькая колонка, справа — контент. В «контенте» идёт заголовок-ссылка на страницу и анонс этой самой страницы — таких блоков (заголовок-анонс) на странице по нескольку штук. Но вот только есть одна неприятность.

Вот примерно что нужно. Вроде всё так, как я хочу. Но тут возникает проблема с картиками, у которых есть флоат — блоки начинают тоже обтекать картинку, это не есть гуд. Пытаемся решить проблему при помощи clear — блоки встают в порядке нормальной очереди, но вот только вся колонка сползает вниз. Помогите, люди добрые! Хочется и рыбку съесть и, чтобы блоки не уползали.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

А я не понял, в чём именно проблема. Я так понимаю, нужно чтобы картинка (float:left) всегда была слева, а текст справа, даже когда его много, нужно чтобы он НЕ залезал под левую картинку?

Link to comment
Share on other sites

  • 0

Ну вот как на хабре, например — такая же структура, только там узкая колонка не слева, а справа. Идёт блок: ссылка-заголовок на пост, а потом небольшой анонс. Таких блоков на странице несколько штук. В анонсе может быть картинка с флоатом. Если текст «короче» по высоте, чем картинка, то следующий блок тоже начинает обтекать эту картинку — на втором макете это видно. А мне это не нравится очень. Картинка в анонсе так же может быть выровнена и по правому краю. А может её и не быть вовсе. Я хочу, чтобы следующий блок никак не залезал в предыдущий, а начинался с новой строки.

Link to comment
Share on other sites

  • 0
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css">
#left {
width: 300px;
background-color: #eee;
float: left;
}

#content {
margin-left: 320px;
}

.block {
margin-bottom: 20px;
clear:left;
}

</style>

Чёт я не просёк. А в чём отличие от третьего темплейта?

Link to comment
Share on other sites

  • 0

Открыл пример http://borber.ru/htmlbook/template2.html

Добавил для .block свойство float:left; посмотрел везде работает нормально, не понял что у вас не получается. Может я вопрос не правильно понял?

upd>

Если ширина блоков не задана, тогда в конце каждого .block блока перед </div> можно добавлять <p style="clear: both;"></p>

Edited by deadrash
Link to comment
Share on other sites

  • 0

Я тоже не могу въехать в задание, в чём сложность? Вот этот текст можно поместить в отдельный див и ему задать клеар?

А вот тут какой-то текст. И как будто бы всё в порядке... Но вот здесь появляется картинка, с обтеканием текста. А сам текст короткий.

Заголовок блока

Этот блок тоже обтекает картинку. Хотя нам этого не надо.

Заголовок блока

И этот тоже.

Вот на этой странице http://borber.ru/htmlbook/template2.html

Veseloff

Дружище, смотри, я так понимаю. Нужно, чтобы было как тут http://borber.ru/htmlbook/template1.html , НО если в тексте справа появляется картинка с флоат, то этот текст начинает и ЕЁ обтекать. А нужно, чтобы он её НЕ обтекал, а располагался снизу под ней?

Если так, то в чём проблема сделать так, как я выше предложил?

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