所以我設計了一個Wordpress主題,我有四個div(380x400),我使用來自帖子的縮略圖填充爲背景,問題是,如果圖片是橫向的,它會在底部留下間隙,所以我不能在CSS中使用width:100%
,如果我使用height: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%;
}
我喜歡這個解決方案,我將不得不努力將它整合到PHP for Wordpress中,但我認爲這將是最好的解決方案,目前我正在搞亂z-index,這有點混亂。 – 2012-02-04 14:59:46
該示例現在顯示[懸停在縮略圖上方時的照片標題](http://jsfiddle.net/WraRz/1/)。 – 2012-02-05 12:47:38
你可以[也看看'background-size'](http://stackoverflow.com/a/9149164/907779)。如果你決定加載更大的背景圖片來顯示懸停,或者只是想[儘可能地顯示大小不合適的縮略圖],它可能會對你有所幫助(http://jsfiddle.net/WraRz/2/ )。 – 2012-02-05 12:52:35