2012-02-06 10 views
2

私は現在、画像のみを表示する画像ギャラリーを持っています。ギャラリーをこのように見せたい(私の簡単なテストギャラリー): http://jsfiddle.net/karin_A/Nmxx4/1/ つまり画像の下の中央にキャプションがあります。キャプションを正しく配置する方法

私がこれまでに達成することができました最高のキャプションは、画像の右下のそれに置かれるギャラリーです:

image example

HTMLイメージコンテナ:

<div data-role="content" id="pagecontent" class="gallerycontent"> 
    <?= $output ?> 
     </div> 

PHPの映像出力:

$html .= '<a href="#imgshow" data-transition="pop" data-index="'.$i.'" data-rel="dialog" id="thumb"> 
     <img src="https://[url]/'.rawurlencode($this->_decode_path($xml->COM->MOVIE[$i]->attributes()->dbIcoFilename)).'" alt="'.$xml->COM->MOVIE[$i]->attributes()->nameS.'" class="imgAlt"> 
     </a>'; 

jQueryのは、ラッピングが追加されます境界線とキャプション:

$.each($("img"), function() { 
     $(this).wrap('<div class="wrapper"/>'); 
    }); 
    $.each($("img.imgAlt"), function() { 
     $(this).after($(this).attr("alt")); 
    }); 

CSS:

#pagecontent { 
text-align:center; 
font-size:12px; 
color:#000; 
text-decoration:none; 
} 

.wrapper{ 
    float:left; 
    padding:0.2em; 
    border: 1px solid #C0C0C0; 
    margin:10px; 
} 

.thumb{ 
    padding: 0.1em; 
    margin-right: 10px; 
    margin-bottom: 15px; 
} 

.gallerycontent a img { 
    margin: 0.2em; 
} 

.caption{ 
    float:left; 
    width:100%; 
} 

私は、幅(幅:100pxにし;)を制限するとラッピングの境界線が、私はこの結果を取得する場合:あなたが見ることができるよう、 newdump を、イメージ名が本当に短い場合には機能しますが、時にはそうではありません。

もう一つの試み:

$.each($("img.imgAlt"), function() { 
     var title = this.alt; 
     $(this).after('<div class="caption">'+ title +'</div>'); 
    }); 

画像の下中央にキャプションを配置するだけでなく、div要素は、ページ全体の幅、キャプションの幅だけでなく埋めることができます。

+0

タグは、自己閉鎖要素であるので、このの代わり sandeep

+0

を書きます私はそれに応じて自分のコードを編集しました。 – Karin

+0

キャプションテキストを画像の中央の下に表示しますか? –

答えて

0

demo

$.each($("img.imgAlt"), function() { 
    var imgAlt = this.alt; 
    $(this).empty().after('<span class="caption">'+ imgAlt +'</span>'); 
}); 

をし、これに.captionのCSSを変更:私は、代わりに新しいスパンに新しいdiv要素を作っ

.caption{ 
    display: block; 
    text-align: center; 
    text-decoration:none; 
    clear:both; 
    text-align:center; 
    font-size:80% 
} 
0

てみ

+0

ありがとうございますが、何も結果にはなりません。 – Karin

+0

あなたは問題を見ることができるあなたのアプリのページへのリンクを提供できますか? – techfoobar

+0

まだオンラインではありませんが、もう1つの評判ポイントを獲得した時点でスクリーンショットを投稿します:) – Karin

0

はちょうどあなたの.captionテキストを定義clear:bothあなた.caption CSSクラスにそうように、自動的にセンタリングすることへの追加:

.caption { 
    text-align:center; 
} 

編集:私は働く解決策を見つけ

+0

ありがとうございますが、上記のコードでは動作しません。それは私のテストフィドルでうまく動作します。私はまた、1つのdiv、1つのdivのキャプション、および両方のラップdivでイメージを配置してから、内側のdivを配置しようとしましたが、同じ結果が得られました。 – Karin

+0

@KarinはあなたのCSSでもう一度デモを試みましたが、それでもOKです。h​​ttp://jsfiddle.net/Nmxx4/6/ ..あなたのコードでテストページを投稿できますか? –

+0

それは本当にフィドルのように見えます!たぶん私の本当の問題は、周囲のコード(私は書いていないし、共有することはできませんでした)です。問題を攻撃する別の方法を見つけて、後でここに戻ることができるかどうかがわかります。 – Karin

関連する問題