分享

修改主题CSS来让WordPress文章中图片宽度自适应,避免撑破页面

 纵观生活趣事 2016-10-23

【天下淘商-淘宝卖家和淘宝客的学习平台 - http://blog.

前言
之前在文章中插入图片时,由于主题设置的文章宽度只有600px,所以当图片宽度超过600px时,图片的右边就会被裁掉一截不显示。为了让图片完整显示,我之前采取的办法是在插入图片时编辑图片的宽度,将width设置为一个合适的值。但是当要插入的图片很多时,修改起来费时费力,而且之前发布的文章也要翻出来修改。要是更换了主题,宽度变了又得改一次,实在是太麻烦。

后来搜了一下,发现直接修改css是个很简便的方法(其实官方的模版都有这个功能).

代码及修改方法
编辑主题的style.css,在img样式定义中加上下列代码:

padding: 0;
max-width: 580px; 
width: expression(this.width > 580 ? "580px": (this.width+"px"));height:auto; 

就可以将图片的最大宽度设置为580px了。

有些主题没有直接定义img样式,可能会有.post img{}之类的样式,这时也加在里面就ok了。如图,我的博客主题修改的是.context p img{}:
图片宽度自适应

还有一些主题的style.css中找不到img{}等样式定义,那就就直接加上一段吧:

p img {
padding: 0;
max-width: 580px; 
width: expression(this.width > 580 ? "580px": (this.width+"px"));height:auto; 
}

效果对比

修改前:
修改前

修改后:

修改后

jQuery方法实现
方法来自http:///archives/25438
兼容IE6,图片右上角有个放大镜标识。

jQuery(window).load(function(){
/* jQuery方法实现自动缩放图片 beta2 by zwwooooo */
var img_cont=($('.post').find('img')).length; //查找并计算文章里面的图片个数,根据自己主题写选择器
if (img_cont != 0) { //做个判断,没有图片就不需要了
var maxwidth=600; //定义图片最大宽度,超过此宽度的图片自动缩为 maxwidth 值
var maxwidth_value=maxwidth+'px';
for (var i=0;i<=img_cont-1;i++) {
var max_width=$('.post img:eq('+i+')');
if (max_width.width() > maxwidth) {
max_width.addClass('max_width_img').removeAttr("width").removeAttr("height").css({"cursor":"pointer","width":maxwidth_value,"height":"auto"});
}
}
}
});
喜欢 2评论 2分享






http://www./306.html


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多