Wordpressのテーマをデザインしています.4つのdiv(380x400)を使って投稿のサムネイルを背景として使用しています。問題は、画像が風景の場合は、それはheight:100%
を使用すると、私はCSSでwidth:100%
、ポートレート画像の高さと同じ問題を使用することはできませんので、底にギャップを残している。私がやって探していたもの画像の向きに基づいて高さ/幅の属性を自動的に適用するCSS/Javascriptソリューション
は、画像の高さが幅よりも大きい場合には、100%のwidth
プロパティを割り当てることだった(例えば。style.width='100%'
)とheight
幅が高さよりも大きい場合。私はシンプルさを探していますが、jQueryソリューションを使用しても構いませんが、jQueryには慣れていません。アスペクト比が損なわれない限り、画像がエッジから切り取られても問題はありません。
添付のは私が記述している状況のScreenshotです。
ここに関連するコードです:
<?php $thumbnail = '';
$post_image_id = get_post_thumbnail_id($post_to_use->ID);
if ($post_image_id) {
$thumbnail = wp_get_attachment_image_src($post_image_id, 'post-thumbnail', false);
if ($thumbnail) (string)$thumbnail = $thumbnail[0];
}
if (!empty($thumbnail)) { ?>
<div class="item" id="post-<?php the_ID(); ?>">
<img class="background" src="<?php echo $thumbnail; ?>" onload="changeWidth(this);">
<div class="date">
<?php the_date(); ?>
</div>
CSS:あなたはグリッドにサムネイルとテキストを表示するので
.item, .no-thumbnail{
width:380px;
height:400px;
margin:5px 0px;
border:1px solid black;
float:left;
position:relative;
margin:5px;
display:inline;
}
.item img.background{
position:absolute;
left:0px;
z-index:-500;
width:150%;
}
私はその解決策が好きですが、それをWordpress用のPHPに組み込む必要がありますが、それが最善の解決策になると思っています。現在、私はz-indexを使いこなしています。 –
この例では、[サムネイル上にホバーするときの写真のタイトル](http://jsfiddle.net/WraRz/1/)が表示されます。 –
あなたは[background-sizeを見ているかもしれません](http://stackoverflow.com/a/9149164/907779)。ホバー上に表示するために大きな背景画像をロードするか、正しいサイズではないサムネイルを可能な限り表示したい場合は、これが役に立ちます(http://jsfiddle.net/WraRz/2/ )。 –