私は最近、この同じ問題を実際に遭遇し、背景画像のやり方とやや異なるアプローチで終わりました。もう1つの主な違いは、自分のやり方が画像の幅と高さを認識していないと仮定しているため、どの画像でも動的に機能します。しかし、画像の方向を決定するためには、jQueryのほんの少しが必要です(私は確かにJSを代わりに使用することができます)。
HTML::
<ul class="cropped-images">
<li><img src="http://fredparke.com/sites/default/files/cat-portrait.jpg" /></li>
<li><img src="http://fredparke.com/sites/default/files/cat-landscape.jpg" /></li>
</ul>
CSS:
li {
width: 150px; // Or whatever you want.
height: 150px; // Or whatever you want.
overflow: hidden;
margin: 10px;
display: inline-block;
vertical-align: top;
}
li img {
max-width: 100%;
height: auto;
width: auto;
}
li img.landscape {
max-width: none;
max-height: 100%;
}
jQueryの:あなたはもっと、について説明に興味があるが、コードは非常に単純である場合
私は
blog post about itを書いた
$(document).ready(function() {
$('.cropped-images img').each(function() {
if ($(this).width() > $(this).height()) {
$(this).addClass('landscape');
}
});
});
私はあなたを疑うnはCSSでそれを行う – revolver
どのようにPHPについて?私のサイトはPHPを使用しているので、ウェブサイトの速度が遅くならない限り、これもオプションです。 – jas7457