css图片缩放 Ann给了我几个解决的方案:1.文件,找到

  为了使图片不是真,需要进行图片的等比例缩放。

  之前在网站上发现所有浏览器都没问题,唯独ie8出现这个问题,因为之前的系统win8无法安装ie8,没有测试环境以至于这个问题存在了很长时间。今天在另一个哥们的电脑上把ie6升级到ie8,经过反复的测试,最终发现解决方法。 “打开所用主题的style.css文件,找到.post-content img{,如果没有的话直接添加,在后面加上如下代码:

  1

  2

  3

  max-width:600px; width: expression(this.width > 600 ? "600px" : true); height:auto;

  这里的.post-content img{不是固定的css图片缩放,不同的主题可能不同。

  max-width: 600px: 代码中的这个部分针对Firefox/Opera浏览器,限制对象的最大宽度为600px。此代码对IE无用,为了让IE也能限制对象宽度,所以在代码中加入第2行代码,用IE提供的expression命令,使所有图片的宽度自动缩小或放大至600px。”

  在我的博客使用旧模板时,这种方法一直工作得很好,在各主流浏览器下均能实现图片的等比例缩放。然而在更换了模板之后,同样的方法,却无法在IE8中实现同样的效果。在IE8中css图片缩放,图片仅是宽度被缩放了,而高度仍旧不变,显得非常难看。

  对于这个问题,Ann给了我几个解决的方案:

  1. 在head中增加meta标签如下

  1

  2.css样式改成:

  a img.aligncenter {

  display:block;

  margin-left:auto;

  margin-right:auto;

  max-width:700px;

  _width:expression(this.width

  }

  3. 或者在问题页面+

  function changimgsize(){

  var imgs = document.getElementById("page").getElementsByTagName("img");

  var imgwidth=600;

  for(i=0; i

  if(imgs[i].width>imgwidth){

  var oW = imgs[i].width;

  var oH = imgs[i].height;

  var rate = oH/oW;

  imgs[i].width = imgwidth;

  imgs[i].height = imgwidth*rate;

  }

  }

  }

  window.οnlοad=changimgsize;

  通过对比,发现旧模板正是比新模板多了一个如第一方案中的meta标签,在header.php中加入此标签,问题解决。至于方案二和方案三,未做测试,不知可行与否。

  补充:对于 IE 8,如果不使用加 meta 标签的方法,那么就需要在第一个 CSS 样式中补充一个“width:auto;”,才能正常实现限制最大宽度的图片等比例缩放,即:

  width:auto;

  max-width:600px;

  width: expression(this.width > 600 ? "600px" : true);

  height:auto;

  但是这样一来,浏览器可能会无视 img 标签中设置的尺寸。

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1616
0 评论
389

发表评论

!