1. 程式人生 > >CSS圖片剪裁與原比例壓縮或放大

CSS圖片剪裁與原比例壓縮或放大

在前端網頁製作的過程中,圖片的處理往往比較頭疼,當然不考慮你有很給力的美工後援的情況下。以下將對一些常見的CSS圖片處理需求情況進行分析:

1、一張圖片要放在固定寬高的內容塊中,並填充滿整個內容塊(看起來整齊劃一)

我們假設要把一張大小為1920*1200的圖片放在400*400的內容塊中,由於這時圖片是長大於寬的,為了保證圖片看起來不被壓縮,可以固定寬度,從圖片中間向左右兩側裁剪以保留圖片的核心內容。如下圖所示(左圖為原圖,右圖則為實際顯示在400*400內容內的圖片內容)

HTML程式碼:


  
  1. <div
    class="cover">
  2. <img src="img/cover.jpg"/>
  3. </div>
CSS程式碼:


  
  1. img
  2. {
  3. height: 100%;
  4. width: auto;
  5. left: 50%;
  6. position: relative;
  7. -webkit-transform
    : translateX(-50%);
  8. -ms-transform: translateX(-50%);
  9. -moz-transform: translateX(-50%);
  10. }
  11. .cover
  12. {
  13. margin: 100px auto;
  14. width: 400px;
  15. height: 400px;
  16. overflow: hidden;
  17. border: 1px solid cornflowerblue;
  18. position: relative;
  19. }

若原始圖片大小為683*984,即長小於寬,為了保證圖片看起來不被壓縮,可以固定長度,從圖片中間向上下兩端裁剪以保留圖片的核心內容。如下圖所示(左圖為原圖,右圖則為實際顯示在400*400內容內的圖片內容)



CSS程式碼:


  
  1. img
  2. {
  3. width: 100%;
  4. height: auto;
  5. top: 50%;
  6. -webkit-transform: translateY(-50%);
  7. -ms-transform: translateY(-50%);
  8. -moz-transform: translateY(-50%);
  9. position: relative;
  10. }


2、網站背景圖片符合響應式佈局,從桌上型電腦到手機,顯示面積變小,從中間向四周擷取部分作為背景顯示。


CSS程式碼:


  
  1. .jumbotron
  2. {
  3. padding: 0;
  4. background-image: url(../img/cover.jpg);
  5. background-position: center center;
  6. }
重點是將圖片設定為背景圖片。

PS:以後遇到更多的CSS圖片處理問題還會繼續更新~小夥伴們敬請期待 :)