2013-11-13 4 views
1

Я знаю, что этот вопрос был задан до (1, 2, 3, 4, 5, 6), но ни одно из этих решений не кажется, работает для меня.Предотвратить поплавки от создания новой линии

HTML

<div class="wrapper"> 
    <img src="http://imgur.com/5dEdRvCs.png" /> 
    <div> 
     Lorem ipsum dolor sit amet, consectetur fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
    </div> 
</div> 

CSS

.wrapper > *{ 
    float: left; 
} 

jsFiddle


Я хотел бы как img и div под оберткой к floatleft, и для DIV со всем текстом, чтобы занять все оставшееся место на странице, как это:

demo-good

Вместо этого он выглядит следующим образом:

demo-bad


Я попытался добавление overflow: hidden к обертке, пытался несколько width и min-width настроек, но безрезультатно.

Для выполнения этого в CSS должен быть некоторый относительно простой способ.

+0

Что-то не так с вашими изображениями: они ушли. –

+0

Я чувствую, что это имеет некоторое значение. См. ** [этот вопрос] (http://stackoverflow.com/questions/19941804/vertically-align-text-right-of-floated-image-image-sizes-varied-responsive) **, затем см. Мой ответ ниже Это. –

ответ

6

Просто плавайте изображение, и текст выравнивается вправо.

.wrapper img { 
    float:left; 
} 

fiddle.

+0

Мне это нравится, хотя возможно ли это не [обернуть ниже изображения] (http://i.imgur.com/quDptRz.png)? – KyleMit

+1

Если вы хотите его обернуть под изображением, вы можете использовать этот код, но вам нужно поместить свое изображение в область div. –

+2

@KyleMit, чтобы предотвратить перенос текста после изображения, придать тексту левое поле, эквивалентное ширине изображения. Конечно, это работает только в том случае, если все ваши изображения имеют одинаковую ширину. http://jsfiddle.net/LgJ4w/17/ –

0

Ваш код фактически приносит каждый элемент влево. Таким образом, изображение осталось, а текст также находится слева.

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

Вы можете попробовать:

.wrapper img { 
    width: 20%; 
} 
.wrapper > div { 
    width: 80%; 
} 

Тогда он будет работать, как вы хотели.

+0

За исключением того, что 'img' не должен быть переменной ширины, но удерживайте его ширину при всех размерах страниц. – KyleMit

+0

Я использую переменную ширину, чтобы поддерживать работу. –

0

Другой способ сделать это состоит в использовании display: inline-block вместо float

Вот это скрипку:

fiddle

+0

Спасибо, но похоже, что у него есть проблемы с [меньшей шириной] (http://i.imgur.com/tRdMI6i.png) – KyleMit

Смежные вопросы