2013-03-20 2 views
0

Я запускаю foreach, который получает информацию, а затем значение используется для установки максимума изображения (строки).PHP text over image foreach

Я пытаюсь добавить значение в текст над планкой, но продолжает вставать бок о бок рядом с панелью. Есть идеи? имейте в виду, что это делается внутри foreach, поэтому есть 10 значений с 10 изображениями.

код:

<?php echo "$textvalue"; ?> 

<img src="images/bar_offpeak.jpg" alt="" width="19" height="<?php echo "$height" ?>%" title="<?php echo "$textvalue" ?>GB" /> 
+0

@ Mr.Alien Это довольно общий синтаксис при использовании PHP как язык шаблонов. – ceejayoz

+0

@ceejayoz только '?' Достаточно? никогда не сталкивался с такими –

+1

@ Mr.Alien Кажется, что у OP были какие-то проблемы с форматированием кода: 'извините скобки, не хотите показывать в этом посте ...' – jeroen

ответ

2

Вы должны добавить <br /> элемент после текста. По умолчанию простой текст и изображения плавают.

Это то, что вы хотите сделать:

<?php echo "$textvalue"; ?><br /> 

<img src="images/bar_offpeak.jpg" alt="" width="19" height="<?php echo "$height" ?>%" title="<?php echo "$textvalue" ?>GB" /> 

Позже редактирования:

моя ошибка, сэр, я, кажется, забыл о той части. В этом случае одно решение должно отображать каждое изображение и текст в элементе div. Таким образом, вы можете плавать div любым способом, который вы хотите (т. Е. Отображать любое количество строк/столбцов, которые вы хотите).

Так, один элемент хотел бы так:

<div style="float:left;"> 
    <?php echo "$textvalue"; ?><br /> 

    <img src="images/bar_offpeak.jpg" alt="" width="19" height="<?php echo "$height" ?>%" title="<?php echo "$textvalue" ?>GB" /> 
</div> 

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

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

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

Надеюсь, это поможет. Отличный день:

+1

Образы не плавают, они просто встроены, поэтому плавать - это неправильное слово :) –

+0

haha ​​попробовал, не работает, помните его foreach, поэтому он добавляет все изображения поверх друг друга, а не бок о бок при добавлении
. , поэтому изображения должны быть бок о бок с текстовым значением сверху – user2080473

+0

Благодарим вас за исправление @ Mr.Alien.Я буду осторожен, чтобы не смешивать условия в следующий раз :) –

1

Я бы не использовал тег <br> для управления макетом. Я бы рекомендовал поместить текст в элемент (a span, figcaption и т. Д.) И использовать css для управления макетом.

Предполагая html5:

<figure> 
    <figcaption><?php echo $textvalue; ?></figcaption> 
    <img src="images/bar_offpeak.jpg" alt="" width="19" height="<?php echo $height ?>%" title="<?php echo $textvalue ?>GB" /> 
</figure> 

И в CSS (просто пример):

figcaption { 
    display: block; 
} 
+1

Nice one! Благодарю вас за публикацию. Это следует рассматривать как правильный ответ :) –