2014-01-16 1 views
0

Это кажется таким простым, но я, по-видимому, терпит неудачу у него по какой-то причине. Поэтому у меня есть 3 изображения, и у каждого изображения есть ссылка над ним. Я хочу, чтобы они появлялись inline, и я не могу использовать таблицу, поэтому я попробовал divs, но они появляются один за другим, а не inline. примечание: моя ширина страницы 1000pxКак я могу получить эти ссылки и изображения, чтобы появиться inline

<!-- First Div with link and image--> 
    <div style="float:left;width:33%"> 
     <a href="/bartop">BarTop Epoxy</a> 
     <img style="margin: 15px;"src="image1" width="300" height="315"> 
    </div> 
    <!-- Second Div with link and image--> 
    <div style="float:left;width:33%"> 
     <a href="/counter top"> Countertop</a> 
     <img style="margin: 15px;" src="image2" width="300" height="315"> 
    </div> 
    <!--third Div with link and image--> 
    <div style="float:left;width:33%"> 
     <a href="/flooring">Flooring</a> 
     <img style="margin: 15px;" src="image3" width="300" height="315"> 
    </div> 
+0

Укажите, пожалуйста, какой браузер вы используете, сначала должен работать код. Или добавьте контейнер div и связанный с ним css – Huangism

+0

@Phlume последний элемент не нужен – Huangism

+0

Я использовал хром, но очистить не работает, или я не принимал во внимание 15 пикселей по каждой стороне изображения. – user3204342

ответ

0

Есть две вещи, которые необходимо проверить:

  1. То, что DIVs не клиринговые - они должны иметь clear:none объявленную или по наследству.
  2. Чтобы у вас было достаточно места в контейнере для всех этих предметов. Ваши поплавки содержат элементы шириной 300 пикселей с дополнительными 30 пикселями поля. Является ли ваш контейнер шириной 990 пикселей? Или даже шириной 660 пикселей? Поплавки скатываются вниз под предыдущим поплавком, если для них недостаточно места.
+0

Это не было проблема, но это был хороший момент, что мне нужно учитывать дополнительные 30px – user3204342

+0

На самом деле, с объявленным процентом, это не произойдет в большинстве браузеров. Я бы проверял наследование (убедитесь, что нет другого правила, переопределяющего 'float' или очищающего его). –

0

По умолчанию divs имеют свойство display: block;, то есть они не будут отображаться на одной строке.

Вы можете исправить это, сделав дисплей float, как и вы, но вы также должны добавить стиль clear: none;, чтобы быть уверенным, что плавающие элементы могут быть бок о бок.

В качестве альтернативы вы можете использовать display: inline-block;, что может работать лучше для того, что вы пытаетесь сделать, и here's a jsfiddle с этой опцией.

+0

«По умолчанию divs имеют дисплей: block; property, что означает, что они появятся рядом». Разве вы не имеете в виду один за другим? – Huangism

+0

Да, я оговорился. Ред. – Christina

+0

также, насколько я знаю, вам не нужно очищать ни одного, чтобы получить 2 плавающих элемента бок о бок, пока их общая ширина не превышает ширину контейнера (http://jsfiddle.net/WGyzw/) – Huangism

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