2011-12-24 10 views
2

divの幅に応じてhtmlタグを追加するには?php divの幅に応じてhtmlタグを追加

出力HTMLにPHPコード:

echo '<div>'; 
$json = json_decode($json_data); 
foreach ($json as $data){ 
    echo '<p>'.$data->title.'</p>'; 
} 
echo '</div>'; 

このうち意志プット:http://jsfiddle.net/sRVsP/

いくつかの、IN

<div> 
<p>TWELFTH NIGHT</p> 
<p>MERRY CHRISTMAS</p> 
<p>CHRISTMAS GIFT</p> 
<p>XMAS</p> 
<p>HARD CANDY CHRISTMAS</p> 
<p>GOD REST YE MERRY, GENTLEMEN</p> 
<p>GOD SPEED THE PLOUGH; PLOUGH MONDAY</p> 
<p>CHRISTMAS CARDS </p> 
</div> 

CSS

div{padding:0;margin:0;width:500px;overflow:hidden;float:left;} 
p{float:left;font-size:12px;font-family:arial sans-serif;padding:0 10px 0 10px} 
h2{padding:0 10px 0 10px;} 

SEEのREVIEW divの幅は500pxなので、は線になります。そして、私はそれがjQueryを使って行うのは簡単でしたが、PHPでの困難

http://jsfiddle.net/sRVsP/1/に挿入 <h2>toggle</h2>後の最初の行の末尾に <h2>toggle</h2>500pxに含む <h2>toggle</h2>

SEEを追加します。

...左、右パディングに font-size:12px;font-family:arial sans-serif;のフォント幅のため

$json = json_decode($json_data); 
foreach ($json as $data){ 
    echo (strlen($data->title)*7+20).'<br />'; 
} 

6px-7px20px、その後、何かの裁判官幅words width plusを行い、それはまた、インサート<h2>toggle</h2>幅を検討する必要があります。私は、それぞれの言葉は次のように幅カウントしなければならないかもしれ

誰も私の質問を解決する良い方法を教えてもらえますか?最初の行の末尾に自動挿入<h2>toggle</h2>がある場合は、pがdivで改行されますか?

私の考えは正しいものではないかもしれません...ありがとう。

+1

PHPには、誰かのブラウザでページがどのように見えるのかという概念はありません。また、CSSを解析することができないようにHTMLもできるので、そこからどのようにdivを設定したかといった情報を得ることはできません。あなたの唯一の選択肢は、あなたのページデザインを再考することかもしれないと思います。 – GordonM

+0

@GordonM、はい私はまた、PHPはCSSを解析できないことを知っています。あなたは私の状況を再設計するためのアドバイスをしていますか?ありがとう。 –

答えて

0

これは明らかにPHPでやりすぎです。 this oneのようなjQueryプラグインを使用してdivの高さを制限し、divの下に「もっと表示する」ボタンを配置することをお勧めします。

関連する問題