<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

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

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:22:51
        文檔

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

        Javascript防止圖片拉伸的自適應(yīng)處理方法:前言 相信大家在日常的web開(kāi)發(fā)中,作為前端經(jīng)常會(huì)遇到處理圖片拉伸問(wèn)題的情況。 例如banner、圖文列表、頭像等所有和用戶(hù)或客戶(hù)自主操作圖片上傳的地方,而一旦牽扯圖片,就會(huì)涉及到圖片拉伸的問(wèn)題,當(dāng)然,在圖片上傳時(shí)做手動(dòng)裁切,讓用戶(hù)或客戶(hù)清晰的感知到
        推薦度:
        導(dǎo)讀Javascript防止圖片拉伸的自適應(yīng)處理方法:前言 相信大家在日常的web開(kāi)發(fā)中,作為前端經(jīng)常會(huì)遇到處理圖片拉伸問(wèn)題的情況。 例如banner、圖文列表、頭像等所有和用戶(hù)或客戶(hù)自主操作圖片上傳的地方,而一旦牽扯圖片,就會(huì)涉及到圖片拉伸的問(wèn)題,當(dāng)然,在圖片上傳時(shí)做手動(dòng)裁切,讓用戶(hù)或客戶(hù)清晰的感知到

        前言

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

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

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


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


        把圖片放進(jìn)框框,要幾步?三步...我們開(kāi)始

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

        // 假定需要一個(gè)在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添加類(lèi)名

        //需要注意的是,不能在css中直接給img設(shè)置寬度和高度
        //否則在img.onload后獲取的寬高是css設(shè)置的寬高
        //同時(shí)建議使用dom對(duì)象來(lái)獲取img標(biāo)簽
        <script>
         var list = document.getElementById('list');
         getImgWH ( list );
         //執(zhí)行寬高比對(duì)并設(shè)置img類(lèi)名
         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>

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

        總結(jié)

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

        Javascript防止圖片拉伸的自適應(yīng)處理方法:前言 相信大家在日常的web開(kāi)發(fā)中,作為前端經(jīng)常會(huì)遇到處理圖片拉伸問(wèn)題的情況。 例如banner、圖文列表、頭像等所有和用戶(hù)或客戶(hù)自主操作圖片上傳的地方,而一旦牽扯圖片,就會(huì)涉及到圖片拉伸的問(wèn)題,當(dāng)然,在圖片上傳時(shí)做手動(dòng)裁切,讓用戶(hù)或客戶(hù)清晰的感知到
        推薦度:
        標(biāo)簽: 圖片 解決 js
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 亚洲精品第一国产综合野| 亚洲国产第一页www| 亚洲国产精品无码观看久久| 亚洲黄色免费电影| 亚洲成年人在线观看| 99re6热视频精品免费观看| 亚洲一区二区三区首页| 国产精品成人观看视频免费| 亚洲成A∨人片在线观看无码| 免费黄色福利视频| 亚洲色www永久网站| 国产性生交xxxxx免费| caoporn成人免费公开| 亚洲阿v天堂在线| 亚洲一级毛片免费在线观看| 亚洲一区二区影视| 日本不卡高清中文字幕免费| 免费一级毛片在线播放视频免费观看永久| 亚洲国产综合无码一区二区二三区 | 亚洲精品成人无码中文毛片不卡| 永久免费不卡在线观看黄网站| 亚洲视频.com| 国产片免费在线观看| 国产高潮流白浆喷水免费A片 | 亚洲毛片αv无线播放一区| 久久久久久精品免费免费自慰| 亚洲日本一线产区和二线| 国产国拍亚洲精品福利| 久久大香伊焦在人线免费| 亚洲 欧洲 日韩 综合在线| 亚洲高清视频一视频二视频三| 久久成人免费大片| 亚洲Aⅴ在线无码播放毛片一线天| 亚洲国产精品成人久久蜜臀| 亚在线观看免费视频入口| 亚洲综合av一区二区三区不卡| 亚洲人成网站色在线入口| 永久黄色免费网站| 猫咪免费观看人成网站在线| 亚洲黑人嫩小videos| 亚洲国产a级视频|