2017-03-21 12 views
1

イメージの表示が必要なレイアウトを作成しようとしています。私はちょうどwidth: 100%; height: auto;を使用してそれに対処しようとしましたが、イメージの比率は常にページの外観を台無しにするでしょう。例えばユーザーがアップロードした画像を扱う最良の方法は何ですか?

https://jsfiddle.net/iDaniel19/sLrntpcw/1/

私は、彼らが画像を扱う方法を確認するために支払われたテンプレート/ウェブサイトを見てきたし、それらのすべてがページによさそうだ何のサイズによっては固定の高さ、幅を使用します。

私はcol-xs-3のようなブートストラップクラスを使用しています。ユーザーが画像1230x415または415x1230をアップロードしたとします。今、ページに表示するには2つのアプローチがあります:

  1. width: 100%; height: auto;を使用してください。これはレイアウトの外観を混乱させるでしょう。

  2. col-xs-3で定義された幅とあらかじめ定義された高さの画像を含みます。これにより、画像の縦横比が混乱します。

  3. 画像をトリミングする??

実際にユーザーがアップロードした画像をどのように扱い、ページの見栄えを維持するには?

+0

コンテナのdivの最大幅の使用、およびimgタグの最大幅で例を見ることができます。.. –

+0

試して、 'のmax-width:100%'の代わりに、 「高さ」。また、異なる次元の画像を管理するための自動ソリューションを探している場合は、1つもありません。 ** Facebook **でもアルゴリズムを使用して、アップロードされたユーザーの画像のサイズを変更します。 –

+0

@DeepakYadav私はすでにそれに設定された幅を持っています。高さは問題です。 –

答えて

0

画像の最小高さと最大高さをお試しください。

.event-image > img { 
    width:100%; 
    min-height: 200px; 
    max-height: 300px; 
    overflow:hidden; 
} 
+0

それはレイアウトを一緒に保ちますが、イメージの比率を破壊します。 –

0

これは、適切な縦横比を維持する必要があります。

CSS: 
body{margin: 0;padding:0;} 
#styled>div{ 
    position:relative; 
    margin: 0 auto; 
    max-width:400px; 
    text-align:center; 
    border:1px solid lime; 
    } 
#styled>div>img{ 
    max-height:200px; 
    } 
#not-styled>div{ 
    position:relative; 
    margin: 0 auto; 
    text-align:center; 
    border:1px solid blue; 
    } 


    HTML: 
<div id="styled"> 
     <div><img src="path/to/your/image.png" alt="" /><p>img size: 250x250</p></div> 
     <div><img src="path/to/your/image2.png" alt="" /><p>img size: 850x500</p></div> 
    </div> 
    <div id="not-styled"> 
     <p>NOT styled</p> 
     <div><img src="path/to/your/image.png" alt="" /><p>img size: 250x250</p></div> 
     <div><img src="path/to/your/image2.png" alt="" /><p>img size: 850x500</p></div> 
    </div> 

あなたはwebbdesign.ca/photo_aspect_example.html

+0

これは有望そうですが、私は何らかの方法でサイズ変更と作物に行くと思います。この場合、画像全体を表示すると、その周囲に空白が残されます。私はちょうどページが良いかもしれない唯一の方法は、すべての画像が同じ幅/高さを持っている場合です。 –

関連する問題