云狐网

您现在的位置是:首页 > 网站建设 > 建站知识

建站知识

网页中图片属性固定宽度,如何用js改变大小

2019-05-08建站知识
100%这个方案不是很完美,如果图片上传的大小没有超过650,那么PC端图片会被放大。还有一种解决方案就是,编辑后台内容的时候,将图片属性后面的width,height值都删掉,让css来控制就行了。同样用max-width来控制图片大小,小图<650px,图片不会被更改,>650px,图片宽度就是650px。,那么手机端就用100%来表示。
后台上传图片后,都有一个图片属性,会指定图片的宽和高,如果图片固定了宽度和高度,PC端用max-width可以控制最大宽度,高度自动缩放。但是手机端就没法自动缩放,可以使用js来改变图片的style,通过100%比例,当然也可以设置px固定的高度宽度。buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
 

html默认样式:buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
        <div class="news_infos" id="newsp">buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
          <p><img src="images/v1.jpg" style="width:300px;height:100px"></p>buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
        </div>buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo

 

CSS:buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
.news_infos img { max-width: 650px;height:auto; }buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo

 

js:buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
 <script type="text/javascript">    buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
      var aImg=document.getElementById("newsp").getElementsByTagName('img');buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
     for(var i=0;i<aImg.length;i++){buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
      aImg[i].style.height="100%";buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
      aImg[i].style.width="100%";buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
      }      buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
  </script>   buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo

 

或者 方法二:buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
 <script type="text/javascript">    buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
      var aImg=document.getElementById("newsp").getElementsByTagName('img');buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
     for(var i=0;i<aImg.length;i++){buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
      aImg[i].style.height="auto";buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
      aImg[i].style.width="auto";buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
      }      buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
  </script>  buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
 buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo

 

html更改后:buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
        <div class="news_infos" id="newsp">buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
          <p><img src="images/v1.jpg" style="width:100%;height:100%"></p>buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
        </div>buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo

buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
100%这个方案不是很完美,如果图片上传的大小没有超过650,那么PC端图片会被放大。还有一种解决方案就是,编辑后台内容的时候,将图片属性后面的width,height值都删掉,让css来控制就行了。同样用max-width来控制图片大小,小图<650px,图片不会被更改,>650px,图片宽度就是650px。,那么手机端就用100%来表示。buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
 

方法三 CSS:buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
.news_infos img { max-width: 650px;height:auto; }buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
@media only screen and (max-width: 480px) {buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
    .news_infos img { width:100%; }buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
}buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo

buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
这个的不好的地方就在于,每次编辑图片属性,都得删除后面的width,比较繁琐。buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
buD云狐网 - 电脑_数码_手机应用的IT技术网站Seo
以上方法,都可以实现,但是100%,和设置宽度这两种方法都不完美, 如果以前图多,已经固定了宽度,建议使用方法二

文章评论