整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          「CSS」圖片實現上下居中、左右居中的另類實現方法

          「CSS」圖片實現上下居中、左右居中的另類實現方法

          制作網頁的很多時候為了頁面美觀都需要圖片能夠做到上下居中、左右居中。網上現實的方式方法也有很多,這里分享我經常使用的一種方法。

          實現方法

          // HTML代碼
          <div class="row">
                    <div class="col-xs-3">
                              <img src="/public/empty_200x100.png" class="imgbg" style="background-image:url('/uploads/demo.jpg');">
                    </div>
          </div>
          
          // CSS 代碼
          <style type="text/css">
                    .imgbg{
                              width:100%; 
                              background-color: #ebf2f9; 
                              background-position: center; 
                              background-size:contain; 
                              background-repeat: no-repeat;
                    }
          </style>

          實現原理

          1、先準備一張透明的png圖片。

          2、對這個圖片定義一個 Css樣式,添加這幾個屬性:

          background-position: center;背景圖片居中

          background-size: contain;顯示完整背景圖片

          background-repeat: no-repeat;背景圖不重復

          3、然后把要顯示的圖片作為背景圖片。

          這樣圖片就不會隨著尺寸不同錯位顯示。展示的時候如果需要顯示正方形圖片,只需要制作一個1x1比例的png圖片,另外可以根據自己的要求制作png圖片。

          升級處理

          在展示圖片的時候,可能有些小伙伴不喜歡把圖片放到style樣式里面,可能會感覺到看起來怪怪的。

          style="background-image: url('/uploads/demo.jpg');

          我們想要的可能是這樣的展示方式

          <img src="/public/empty_200x100.png" data-src="/uploads/demo.jpg" class="imgbg">

          這樣其實也簡單,我們可以借助于 jquery 來實現這個功能。代碼如下:

          <script type="text/javascript">
          $(document).ready(function() {
                    $("[class='imgbg']").each(function(index, el) {
                              $(this).css('background-image', 'url(' + $(this).data('src') + ')');
                    });
          });
          </script>

          PHP 實現

          PHP 實現生成圖片也分為二種

          1、圖片上傳的時候,按后臺設置的尺寸生成。

          2、圖片預覽的時候,按URL中設置的參數生成。

          github地址

          https://github.com/zjutsxj/autoCropImage

          過前端開發的朋友都知道,要使文字在一個div容器垂直居中顯示是很簡單的事,但是如果是要讓一張圖片在div容器中垂直顯示那就有點傷腦筋了,因為圖片是個置換元素,有些特殊的特性,對于前端開發的大牛來說還好,解決方法有很多,比如什么利用js啊之類的,但是這些對于初學者來說就有些難度了,今天小編就把自己平時在項目中用的方法分享給大家,給大家一個參考。

          其實小編用的方法也不是什么很高端的技術,算是最low的方法吧,但是很實用,能兼容各種瀏覽器,為了演示,小編直接從某寶商家店鋪里拿了一張商品圖來做演示,因為商品圖都是高清無碼的,且還很大,所以我們在CSS中把圖片的高度設置為200px,div容器的高度為300px,完整的代碼如下:

          最終的運行效果如下圖:

          可以看到,這個圖片在div中水平、垂直都是在正中間,是不是很完美。這個原理也很簡單,就是在div容器中加了個 <i> 標簽并把它的 display 屬性設置為 inline-block(行內塊元素),讓它去撐開div容器的高度,再把圖片的 vertical-align 屬性設置為 middle 就可以垂直居中了,當然這只是個演示,大家在實際的項目中可以利用 max-width、min-width、max-height、min-height 等屬性讓圖片根據需要自適應,以達到想要的效果。

          當然解決方法還有很多種,具體用什么方法需根據自身頁面布局去權衡,總之沒有最好的,只有最適合的,如果你有更好的方法也可以告訴小編哦,一起交流方法,共同進步。

          lexbox

          通常首選方法是使用flexbox居中內容。只需三行代碼即可:display:flex,然后使用 align-items:center justify-content:center 將子元素垂直和水平居中。

          如下代碼:

          html:

          <div class="flexbox-centering">
            <div>Centered content.</div>
          </div>

          css:

          .flexbox-centering {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100px;
          }

          Grid

          使用grid(網格)與flexbox非常相似,也是一種常見的技術,尤其是布局中已經使用網格的情況下。與前一種flexbox技術的唯一區別是它顯示為柵格。

          如下代碼:

          html:

          <div class="grid-centering">
            <div class="child">Centered content.</div>
          </div>

          css:


          主站蜘蛛池模板: 在线视频一区二区| 国产精品自拍一区| 中文字幕精品一区二区2021年| 国内精品视频一区二区八戒| 国产伦精品一区二区免费| 国产精品一区二区资源| 亚洲视频在线一区二区三区 | 亚洲va乱码一区二区三区| 亚洲片国产一区一级在线观看| 人妻视频一区二区三区免费| 色老头在线一区二区三区| 久久精品国产免费一区| 国产成人AV一区二区三区无码| 亚洲一区二区精品视频| 老鸭窝毛片一区二区三区| 夜夜精品视频一区二区| 日韩成人一区ftp在线播放| 精品日韩亚洲AV无码一区二区三区| 国产一区二区在线看| 亚洲AV无码一区二区三区系列 | 无码精品一区二区三区免费视频| 国产精品伦子一区二区三区| 国产精品一区电影| 精品无码人妻一区二区三区不卡 | 激情亚洲一区国产精品| 麻豆一区二区在我观看| 日本免费一区二区三区| 国产福利91精品一区二区| 日本一区二区视频| 国产三级一区二区三区| 国产精品小黄鸭一区二区三区 | 无码日韩精品一区二区免费| 少妇一夜三次一区二区| 国产一区二区三区四| 乱色熟女综合一区二区三区| 国产一区二区三区在线观看精品 | 一区二区无码免费视频网站| 最新中文字幕一区二区乱码| 美女免费视频一区二区三区| 中文字幕一区精品| 自拍日韩亚洲一区在线|