欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript防止圖片拉伸的自適應(yīng)處理方法

 更新時間:2017年12月26日 11:56:47   作者:酒醉的探戈  
這篇文章主要給大家介紹了關(guān)于利用Javascript防止圖片拉伸的自適應(yīng)處理方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

相信大家在日常的web開發(fā)中,作為前端經(jīng)常會遇到處理圖片拉伸問題的情況。

例如banner、圖文列表、頭像等所有和用戶或客戶自主操作圖片上傳的地方,而一旦牽扯圖片,就會涉及到圖片拉伸的問題,當然,在圖片上傳時做手動裁切,讓用戶或客戶清晰的感知到圖片的有效內(nèi)容才是最優(yōu)的解決方案,但是在其他各種外在因素下,沒有做裁切的話,就需要在前端顯示上做處理了,滿足在上傳任意大小圖片的情況下,最優(yōu)顯示效果的需求。

這時我們需要考慮到極端效果,如下圖:


而我們想要得到的效果是這樣的------


把圖片放進框框,要幾步?三步...我們開始

第一步:先畫個框框 (這里順便安利一種自適應(yīng)框框的方法)

// 假定需要一個在750px屏幕下寬400px,高280px的盒子
// 寬度 = 400 / 750 = 0.5333
// 高度 = 280 / 400 * 0.5333 = 0.3733
<style>
 .img-box{
  position: relative;
  width: 53.33%;
  height: 0;
  padding-bottom: 37.33%;
  overflow: hidden;
  background-color: #eee;
 }
</style>

<body>
 <div id="list">
  <div class="img-box">
   <img src="..."/>
  </div>
 </div>
</body>

第二步:設(shè)置圖片需要使用到的css

<style>
 .width{
  position: absolute !important;
  width: 100% !important;
  min-height: 100% !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  -ms-transform: translateY(-50%) !important;
  -moz-transform: translateY(-50%) !important;
  -webkit-transform: translateY(-50%) !important;
  -o-transform: translateY(-50%) !important;
  display: block;
 }
 .height{
  position: absolute !important;
  height: 100% !important;
  min-width: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  -ms-transform: translateX(-50%) !important;
  -moz-transform: translateX(-50%) !important;
  -webkit-transform: translateX(-50%) !important;
  -o-transform: translateX(-50%) !important;
  display: block;
 }
</style>

第三步:js獲取圖片高度比較并給img添加類名

//需要注意的是,不能在css中直接給img設(shè)置寬度和高度
//否則在img.onload后獲取的寬高是css設(shè)置的寬高
//同時建議使用dom對象來獲取img標簽
<script>
 var list = document.getElementById('list');
 getImgWH ( list );
 //執(zhí)行寬高比對并設(shè)置img類名
 function getImgWH ( Obj ) {
  var img = Obj.getElementsByTagName('img');
  for( var i=0 ; i<img.length ; i++ ){
   img[i].onload = function(){
    var width = this.width;
    var height = this.height;
    if ( width > height ) {
     this.classList.add('height');
    } else if ( width < height ) {
     this.classList.add('width');
    } else {
     this.style.width = '100%';
     this.style.height = '100%';
    }
   }
  }
 }
</script>

圖片防止拉伸處理比較簡單,但是在實際項目中需要得到足夠的重視,一個web頁面成也圖片,敗也圖片,拉伸了圖片就等著設(shè)計師的磨嘰吧,哈哈哈哈...

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 可浮動QQ在線客服

    可浮動QQ在線客服

    比較漂亮的qq在線客服代碼,推薦使用
    2008-10-10
  • footer定位頁面底部(代碼分享)

    footer定位頁面底部(代碼分享)

    本文主要分享了footer定位頁面底部的實例代碼,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 在Ajax中使用Flash實現(xiàn)跨域數(shù)據(jù)讀取的實現(xiàn)方法

    在Ajax中使用Flash實現(xiàn)跨域數(shù)據(jù)讀取的實現(xiàn)方法

    今天,小子再提供一種使用Flash進行跨域操作的方法。眾所周之,其實Flash的跨域操作也是有限制的,不過,F(xiàn)lash的跨域配置比簡單,只需要在站點根目錄下放置crossdomain.xml即可。
    2010-12-12
  • antd/fusion表格增加圈選復(fù)制功能思路詳解

    antd/fusion表格增加圈選復(fù)制功能思路詳解

    我們存在著大量在PC頁面通過表格看數(shù)據(jù)業(yè)務(wù)場景,表格又分為兩種,一種是antd?/?fusion這種基于dom元素的表格,另一種是通過?canvas?繪制的類似?excel?的表格,這篇文章主要介紹了antd/fusion表格增加圈選復(fù)制功能,需要的朋友可以參考下
    2023-09-09
  • 純js實現(xiàn)無限空間大小的本地存儲

    純js實現(xiàn)無限空間大小的本地存儲

    這篇文章主要介紹了純js實現(xiàn)無限空間大小的本地存儲的功能,源碼和demo都放給大家,本文著重說下實現(xiàn)的原理,具體的實踐擴展小伙伴們自由發(fā)揮吧。
    2015-06-06
  • 用JS在瀏覽器中創(chuàng)建下載文件

    用JS在瀏覽器中創(chuàng)建下載文件

    前端很多項目中,都有文件下載的需求,特別是JS生成文件內(nèi)容,然后讓瀏覽器執(zhí)行下載操作(例如在線圖片編輯、在線代碼編輯、iPresst等
    2014-03-03
  • 微信小程序?qū)崿F(xiàn)購物車代碼實例詳解

    微信小程序?qū)崿F(xiàn)購物車代碼實例詳解

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)購物車代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • 使用JavaScript開發(fā)跨平臺的桌面應(yīng)用詳解

    使用JavaScript開發(fā)跨平臺的桌面應(yīng)用詳解

    下面小編就為大家?guī)硪黄褂肑avaScript開發(fā)跨平臺的桌面應(yīng)用詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 微信小程序靜默登錄和維護自定義登錄態(tài)詳解

    微信小程序靜默登錄和維護自定義登錄態(tài)詳解

    這篇文章主要給大家介紹了關(guān)于微信小程序靜默登錄和維護自定義登錄態(tài)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • JavaScript實現(xiàn)好看的跟隨彩色氣泡效果

    JavaScript實現(xiàn)好看的跟隨彩色氣泡效果

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)好看的跟隨彩色氣泡效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評論