HTML中圖片的截取一部分顯示


需求

  在一個頁面下生成一個廣告圖片,寬高比為3:1,其實就是把圖片的寬度調整成100%,然后這時候高度肯定是高比寬度的1/3大的,只要將中間的部分顯示出來就行了。將圖片放到一個長寬比為3:1的div中,div的overflow屬性設置成hidden防止被圖片撐大,然后將圖片向上移動,讓中間部分顯示到div中。

代碼

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <script src="jquery-3.2.1.min.js"></script>
 8     <style>
 9         .picCon{
10             overflow: hidden;       /*防止div被圖片撐大*/ 
11         }
12         .adPic{
13             position: relative;     /*改成相對div的定位*/
14         }
15     </style>
16     <title>Document</title>
17 </head>
18 <body>
19     <div class="picCon">
20         <img src="adPicture.jpg" class="adPic" width="100%">
21     </div>
22 </body>
23 <script>
24     window.onload = function() {                        //如果用$(function(){}) 此時圖片可能沒加載出來,下面獲取的圖片的高度就是0
25         var width = $(document.body).width();           
26         var height = width/3;
27         var picHeight = $(".adPic").height();
28         var dif = (-1*(parseFloat(picHeight) - height)/2) + "px";     //將圖片的高度減去div高度再乘-1除2,得到圖片位移量
29         $(".picCon").css("width",width);                 //將div寬度設置成網頁寬度,高度設置為寬度的1/3
30         $(".picCon").css("height",height);               
31         $(".adPic").css("top",dif);                      //圖片向上移動dif
32         $(window).resize(function(){                     //適應瀏覽器窗口大小的調整,下面的代碼和上面是一樣的
33             width = $(document.body).width();            //這里其實是有問題的,改變窗口大小要刷新一下才好用
34             height = width/3;
35             picHeight = $(".adPic").height();
36             dif = (-1*(parseFloat(picHeight) - height)/2) + "px";
37             $(".picCon").css("width",width);
38             $(".picCon").css("height",height);
39             $(".adPic").css("top",dif);
40         })
41     }
42 </script>
43 </html>

  目錄:

效果:

  只將圖片寬度設置為100%:

  

  處理完的效果:

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM