2013-03-20 61 views
0

我正在運行一個獲取信息的foreach,然後該值用於設置圖像的高度(bar)。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 2013-03-20 15:45:45

+0

@ceejayoz只有'?'就足夠了?從來沒有遇到過這樣的 – 2013-03-20 15:48:10

+1

@ Mr.Alien似乎OP在格式化代碼時遇到了一些問題:'原諒括號,不想在這篇文章中展示......' – jeroen 2013-03-20 15:52:10

回答

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> 

這應該是一個好主意,讓你走在正確的道路上。但是,正如Jeroen所建議的那樣,您應該採用更多面向佈局的方法。

希望這會有所幫助。有一個美好的一天:

+1

圖片不會浮動,它們只是內聯,所以float是一個錯誤的詞:) – 2013-03-20 15:49:32

+0

哈哈試過,不工作,記住它的foreach,所以當添加
時,它將所有圖像相互疊加,而不是並排放置。 所以圖像必須與其上的文字值並排 – user2080473 2013-03-20 15:51:41

+0

謝謝您的更正@ Mr.Alien。我會小心不要混合下一次的條款:) – 2013-03-20 23:28:37

1

我不會使用<br>標籤來操縱佈局。我建議將文本放在元素中(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

不錯的一個!感謝您的發表。這應該被認爲是正確的答案:) – 2013-03-20 23:27:18