【问题标题】:Fixing my gallery shortcode in wordpress在 wordpress 中修复我的画廊简码
【发布时间】:2013-07-07 05:56:24
【问题描述】:

我一直在试图弄清楚如何在 wordpress 中修复我的画廊短代码。基本上目标是用户可以在短代码中放置任何大小的图像,并且在查看时不会看起来拉伸或扭曲。

这是应该的样子

http://i255.photobucket.com/albums/hh140/testament1234/Thumb_zpsf57e544b.jpg

这是我在编写代码时想到的。

http://s255.photobucket.com/user/testament1234/media/thumbnail_zpsd95f993d.jpg.html?sort=3&o=0

如果您注意到第一张图片底部缺少 5 像素的边距。第 2 和第 3 图像未触及 div 的底部。

这是函数的代码.ph

//Gallery Shortcode 2
function short_gallery($atts, $content = null) {
extract(shortcode_atts(array(), $atts));
return '<div class=" gallery_box"><div class="inner_gallery"><a class="fancybox"  href="'.$content.'"><img src="'.$content.'"/></a></div></div>';
}
add_shortcode("gallery", "short_gallery"); 

这是我的样式代码。

.gallery_box{background-color:#E8ECEF; float:left; margin:0px 20px 10px 0px; width:250px; height:200px; overflow:hidden }

.inner_gallery{margin:10px; margin:5px}
.inner_gallery img{max-width:100%; }

我已经研究了好几个小时才能达到我想要的结果。只要图像适合容器并且质量不失真,就可以裁剪图像。

【问题讨论】:

标签: html css wordpress responsive-design thumbnails


【解决方案1】:

更改您的样式以匹配这些:

-向gallery_box添加边框属性

.gallery_box{
background-color:#E8ECEF; 
float:left; 
margin:0px 20px 10px 0px; 
width:250px;     
height:200px; 
overflow:hidden; 
border:5px solid #E8ECEF; 
}

-删除“.inner_gallery{margin:10px; margin:5px}”类

-将 .inner_gallery img 更改为:

.inner_gallery img{
  max-width : 400px;
  max-height : 400px;
}

这是一个快速快捷的解决方案,但它可以完成工作。只要你对裁剪没问题。

【讨论】:

  • 谢谢,我刚刚试用了您的解决方案,它确实有效。我想这将是一个临时解决方案。不确定是否有一种样式可以将整个图像放入修复容器中而不损失质量
【解决方案2】:

我的建议是将图像设置为其容器的背景图像(或 img 标签的背景图像,并将 src 设置为空白图像以进行适当的缩放):

<figure>
    <img src="BLANK_IMAGE_WITH_YOUR_TARGET_SIZE" style="background-image:url('URL')" alt="My Image" />
</figure>

然后将 background-size 设置为覆盖:

figure { width:250px; border:solid 5px #666; margin:0 20px 10px 0; }
figure img { width:100%; background-size:cover; background-position:center center; background-repeat:no-repeat; }

【讨论】:

  • 先生,您的代码有什么不同。截至目前,我对当前的解决方案感到满意 :)
  • 没问题,Jamie 的解决方案也是正确的。我只是给你一个不同的方法来解决这个问题。我的方法很容易按比例放大或缩小,如果您要进行响应式设计,这很好。假设您的空白图像大小为 250x200。您只需调整图形的宽度即可轻松将其放大至 500x400 或缩小至 100x80。 background-size:cover 样式是这里的重要部分。它会根据容器的大小自动缩放和裁剪您的图像。您还可以毫不费力地将图像居中。
  • hmmmm 既然你提到了响应式,我稍后会尝试 :)
  • 这是我为客户做的一个示例实现,它没有完全响应,但你可以看到图像可以很好地放大或缩小(请不要介意设计,我只做了编码:D ) - turismopinoy.com/gallery/boracay
猜你喜欢
  • 2017-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 2015-07-18
  • 1970-01-01
相关资源
最近更新 更多