2013-05-17 2 views
-1

У меня проблема с отображением изображений бок о бок внутри коробки переполнения.Простые CSS-изображения Side By Side

Они, кажется, идут в конец коробки, а затем по какой-то причине переходят к новой линии.

Вот что я получил:

<div style="overflow-x:auto; overflow-y:hidden; white-space:nowrap; width:500px; height:145px;"> 
<?php 
for ($i=1; $i<=9; $i++) { 
echo "<table><tr><td>"; 
echo "<img src=\"images/store/" . $i . ".jpg\" height=\"100px\" />"; 
echo "<br /><center><img src=\"images/store/buy.png\" width=\"75px\" /></center></td></tr></table>"; 
} 
?> 
</div> 

Любая помощь будет удивительно!

+1

Почему вы обертываете содержимое своей петли в таблицах? – Axel

+0

@Axel Потому что я могу добавить новые элементы позже, и было бы проще изменить число в PHP-коде, а затем перетащить изображение в папку. – jadeallencook

+0

Ваша разметка HTML не имеет ничего общего с вашим PHP. Использование таблиц в этом случае считается недействительным. Я дал подробный ответ о том, как вы можете добиться правильного кода, который лучше отформатирован и проще редактировать. – Axel

ответ

0

Я считаю, что все, что у меня действительно было, было ошибкой, и @Yamo, казалось, указывала на это. Теперь все работает отлично!

<div style="overflow-x:auto; overflow-y:hidden; white-space:nowrap; width:500px; height:145px;"> 
<table><tr> 
<?php 
for ($i=1; $i<=9; $i++) { 
echo "<td><img src=\"images/store/" . $i . ".jpg\" height=\"100px\" />"; 
echo "<br /><center><img src=\"images/store/buy.png\" width=\"75px\" /></center></td>"; 
} 
?> 
</tr></table> 
</div> 
1

Вы можете использовать white-space:nowrap; свойство в ваших стилях:

div { 
    overflow-x:auto; 
    overflow-y:hidden; 
    white-space:nowrap; 
    width:500px; 
    height:100px; 
} 

Demo.

+0

Я еще не знаю, как ответить здесь, но это, похоже, не работает. Я тоже изменил код. – jadeallencook

+0

@ user2395454 Вы удалили отображение 'style = \": inline; float: left; \ "'? (предполагая, что вы не будете выглядеть как [demo] (http://jsfiddle.net/pLXSc/1/), который я сделал). – Xareyo

+0

Я только что отредактировал свой вопрос с помощью нового кода, и теперь изображения прямо под ним. – jadeallencook

3

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

  1. Не отсылайте HTML-теги с помощью PHP.

  2. Не используйте инлайн-стили, применяемые непосредственно в тег (классы использования/IDS)

  3. Не используйте таблицы, для не-табличных данных.

С учетом сказанного, вот рабочий пример того, что я считаю, что вы пытаетесь достичь:

http://jsfiddle.net/a8yDv/

PHP/HTML:

<div class="images"> 
    <ul> 
    <?php for ($i=1; $i<=9; $i++) : ?> 
     <li> 
      <img src="images/store/<?php echo $i; ?>.jpg" class="top-image" alt="" /> 
      <img src="images/store/buy.png" class="bottom-image" alt="" /> 
     </li> 
    <?php endfor; ?> 
    </ul> 
</div> 

CSS:

.images { 
    border: 5px solid red; 
    height: 145px; 
    overflow-x: auto; 
    overflow-y: hidden; 
    white-space: nowrap; 
    width: 500px; 
} 

.images ul { 
    list-style-type: none; 
    margin: 0; 
    padding: 0; 
    white-space: nowrap; 
} 

.images li { 
    display: inline-block; 
    text-align: center; 
} 
.images img { 
    display: block; 
    margin: 0 auto; 
} 

.images img.top-image { 
    height: 100px; 
    margin-bottom: 5px; 
} 

.images img.bottom-image { 
    width: 75px;  
} 

/* Clearfix - http://css-tricks.com/snippets/css/clear-fix/ */ 
.clearfix:after { 
    visibility: hidden; 
    display: block; 
    font-size: 0; 
    content: " "; 
    clear: both; 
    height: 0; 
    } 
.clearfix { display: inline-block; } 
/* start commented backslash hack \*/ 
* html .clearfix { height: 1%; } 
.clearfix { display: block; } 
/* close commented backslash hack */ 
+0

поэтому каждый раз, когда я хочу добавить изображение, мне нужно изменить файл HTML?Этот вид поражения моей цели использования PHP, я хотел использовать PHP, чтобы я мог просто перетаскивать изображения в папку, а затем вверх по номеру. – jadeallencook

+1

@ jadeallencook No. Просто замените изображение src на то, что у вас есть для источника изображения: ' '. Axel просто предоставлял (лучше) пример, а не код для вашего конкретного использования. – Scott

+0

@jadeallencook Мое решение использует PHP. Единственное различие заключается в том, что я не повторяю каждую строку HTML. Я использую PHP только для того, чтобы вызывать PHP-переменные, что действительно так должно быть (поскольку его легче читать и поддерживать). – Axel

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