7

レスポンシブ レイアウトのTwitter ブートストラップ 2.1.1を使用しています。画像の右下隅にラベルを表示したいと思います。私が抱えている問題の 1 つは、サムネイルが画像よりも広い場合に応答が遅くなりすぎるためです。もう1つの問題は、右にフロートできないように見えることです。また、右下隅に配置したいのですが、画像の端ではなく、数ピクセルずらしたいということも付け加えておきます。また、テキストは常に写真が欠落している可能性があります。これは、デフォルトの画像が表示されている場合です。

ここに私のHTMLがあります

<li class="span4">
  <div class="photo-group thumbnail">
    <a href="/recipes/50500235aa113eb1870001d8" class="photo-wrapper"> 
      <img alt="300x200&amp;text=photo" src="http://www.placehold.it/300x200&amp;text=Photo">
      <span class="label label-inverse photo-label">Photo Missing</span>
    </a>
    <div class="caption">
      <div class="pull-right">
        by <a href="/users/50494983aa113ebd5c000001">
     hadees
        </a>
      </div>
      <a href="/recipes/50500235aa113eb1870001d8">Chocolate Crackle Cookies</a>
    </div>
  </div>
</li>

ここに私のcssがあります

.content-header {
    padding-bottom: 10px;
}

.thumbnail > a > img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
}

.photo-group .photo-wrapper {
  position: relative;
}

.photo-group .photo-wrapper .photo-label {
  position: absolute;      
  bottom: 0;
}

.photo-group .photo-wrapper .photo-label {
  float: right;
}​

より良い例として、 jsfiddleも用意しました。

これを処理する正しい方法は、写真グループの最大幅を 300 にすることかもしれませんが、デスクトップの全画面表示では、そのようなものはおかしいと思います。

4

1 に答える 1

8

これが私のバージョンのフィドルです: http://jsfiddle.net/AdVCT/9/

基本的に、このラッパー内にラベルを絶対に配置できるように、画像とラベルの両方にラッパーを配置する必要があります。

        <div class="photo">
            <img alt="..." src="..." />

            <span class="label label-inverse photo-label">Photo Missing</span>
        </div>

次に、いくつかの CSS を使用して、.photo を中央に配置するだけでなく、その中の画像と同じ大きさに変更できます (キャプションは絶対に配置されるため、ページ フローから効果的に取り出され、親の幅には影響しません)等。):

.photo-group .photo-wrapper .photo {
    position: relative;
    margin: 0 auto;
    display: table;
}

そして、margin-left: auto/margin-right: auto を .thumbnail > a > img ルールから削除します。最後に、ラベルを画像の側面から少しオフセットするには、次を使用します。

.photo-group .photo-wrapper .photo-label {
  position: absolute;      
  bottom: 5px;
  right: 5px;
}

そして 5px をオフセットにしたいものに設定します。

于 2012-09-16T10:30:50.913 に答える