<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      HTML img標(biāo)簽

      1.基本用法

      • src屬性為圖片的鏈接地址,如果圖片加載失敗,代替圖片的就是alt屬性設(shè)置的文本
      <img src="kof5.jpg" alt="特瑞">
      

      2.設(shè)置圖片的寬高

      • img標(biāo)簽?zāi)J(rèn)的寬高就是原圖的寬高
      • 設(shè)置圖片的寬高 (設(shè)置width屬性,無需單位)
      <img src="kof5.jpg" width="240" alt="特瑞">
      
      • 通過樣式進(jìn)行設(shè)置
      <img src="kof5.jpg" style="width:240px;" alt="特瑞">
      
      • 優(yōu)先級(jí)問題:樣式的優(yōu)先級(jí)高于比width屬性,width屬性也會(huì)被解析成樣式,但是優(yōu)先級(jí)低
      .test{
          width: 200px
      }
      
      <!-- 圖片實(shí)際渲染的寬度為200px -->
      <img src="timg.jpg" alt="ting" width="400" class="test">
      

      3.獲取圖片寬高

      • 通過img.width來獲取圖片真實(shí)的渲染寬度,相當(dāng)于getComputedStyle的無單位版本
      • img.getAttribute("width")不可取,優(yōu)先級(jí)低,獲取到的只是屬性值,不一定是真實(shí)的渲染值
      <img src="timg.jpg" alt="ting" width="400" style="width:200px">
      
      <script>
          window.onload=function(){
              var img = document.querySelector('img')
              console.log(getComputedStyle(img, false).width) // 200px
              console.log(img.width) // 200 img元素的width屬性
              console.log(img.getAttribute("width")) // 400 標(biāo)簽的width屬性
      
              setTimeout(function(){
                  //修改樣式
                  img.style.width = '300px'
                  //重新取值
                  console.log(getComputedStyle(img, false).width) // 300px
                  console.log(img.width) // 300 img元素的width屬性
                  console.log(img.getAttribute("width")) // 400 標(biāo)簽的width屬性
              },3000)
          }
      </script>
      

      渲染后的Dom元素:

      <img src="timg.jpg" alt="ting" width="400" style="width: 300px;">
      

      4.多圖片邊距的問題

      • 示例:下面的代碼,一行最多只能放2張圖片。所以 第3,4張會(huì)自動(dòng)放到下一行,不過兩行之間會(huì)出現(xiàn)一條邊距
      <div style="width: 490px;border:1px solid blue;margin: 0 auto;">
          <img src="resource/kyo.jpg" alt="草稚京" width="240">
          <img src="resource/kyo.jpg" alt="草稚京" width="240">
          <img src="resource/kyo.jpg" alt="草稚京" width="240">
          <img src="resource/kyo.jpg" alt="草稚京" width="240">
      </div>
      

      • 圖片左邊的邊距是代碼換行造成的,把回車當(dāng)成一個(gè)字符來渲染了,相當(dāng)于左右圖片之間多出了一個(gè)空格

      • 底部的空隙實(shí)際上涉及行內(nèi)元素的布局模型,圖片默認(rèn)的垂直對(duì)齊方式是基線,而基線的位置是與字體相關(guān)的,即vertical-align

      • 解決辦法一:將圖片的垂直對(duì)齊方式vertical-align設(shè)置為 top 或 bottom就可以解決(默認(rèn)值為baseline)

      <div style="width: 490px;border:1px solid blue;margin: 0 auto;">
          <img src="resource/kyo.jpg" alt="草稚京" width="240" style="vertical-align: bottom">
          <img src="resource/kyo.jpg" alt="草稚京" width="240" style="vertical-align: bottom">
          <img src="resource/kyo.jpg" alt="草稚京" width="240" style="vertical-align: bottom">
          <img src="resource/kyo.jpg" alt="草稚京" width="240" style="vertical-align: bottom">
      </div>
      

      • 解決辦法二:而基線的位置是與字體相關(guān)的,也就是說字體越大,空隙越大。可以將字體大小設(shè)置為0,不僅可以去除底部的邊距,還可以去除左邊的邊距
      <div style="width: 490px;font-size:0px;">
          <img src="kof5.jpg" width=240 alt="特瑞">
          <img src="kof5.jpg" width=240 alt="特瑞">
          <img src="kof5.jpg" width=240 alt="特瑞">
          <img src="kof5.jpg" width=240 alt="特瑞">
      </div>
      

      • 解決辦法三:將img標(biāo)簽設(shè)置為塊級(jí)元素(會(huì)強(qiáng)制換行)
      <img src="resource/kyo.jpg" alt="草稚京" width="240" style="display: block;">
      <img src="resource/kyo.jpg" alt="草稚京" width="240" style="display: block;">
      

      • 解決辦法四:為img設(shè)置浮動(dòng)(父元素高度會(huì)坍塌,要留意這個(gè),設(shè)置父元素overflow: hidden可以解決)
      <div style="width: 490px;border:1px solid blue;margin: 50px auto;overflow: hidden;">
          <img src="resource/kyo.jpg" alt="草稚京" width="240" style="float: left;">
          <img src="resource/kyo.jpg" alt="草稚京" width="240" style="float: left;">
          <img src="resource/kyo.jpg" alt="草稚京" width="240" style="float: left;">
          <img src="resource/kyo.jpg" alt="草稚京" width="240" style="float: left;">
      </div>
      

      5.圖片加載失敗時(shí)img元素的大小

      • img默認(rèn)是行內(nèi)元素,行內(nèi)元素的大小由內(nèi)容撐開,如果圖片加載失敗,撐開img元素的就只能是alt屬性對(duì)應(yīng)的文本值
      • 但是如果將img設(shè)置為塊級(jí)元素,塊級(jí)元素可以設(shè)置自己的寬高,這樣即使圖片加載失敗,也不影響img元素的大小

      6.圖片懶加載

      • 含義:為了優(yōu)化性能,我們不想一開始就加載所有的圖片,而是處在屏幕內(nèi)的圖片就加載,屏幕之外的圖片默認(rèn)使用空?qǐng)D片或者全部使用同一張,通過事件監(jiān)聽,來動(dòng)態(tài)加載圖片
      • 原生實(shí)現(xiàn):通過添加loading屬性,可以做到懶加載(經(jīng)本人測(cè)試Chrome無效,菜鳥現(xiàn)成的代碼也試過,無效,頁面一旦加載,控制臺(tái)的網(wǎng)絡(luò)那里可以直接看見所有的圖片請(qǐng)求,不會(huì)等到滾動(dòng)才請(qǐng)求)
      <img src="image.png" loading="lazy" alt="…" width="200" height="200">
      <img src="image.png" loading="eager" alt="…" width="200" height="200">
      
      • 實(shí)現(xiàn)思路如下:
        • img標(biāo)簽初始src屬性為空,或者統(tǒng)一指向一個(gè)url(加載依次后會(huì)被緩存,不占用資源)
        • 設(shè)置data-url屬性,記錄此img標(biāo)簽?zāi)繕?biāo)圖片地址
        • 獲取所有未加載圖片的img元素(擁有data-url屬性則表示未加載,已加載的移除此屬性),監(jiān)聽滾動(dòng),實(shí)時(shí)計(jì)算元素是否處于屏幕中(當(dāng)滾動(dòng)條的距離+屏幕高度 > 元素到屏幕頂端的距離時(shí),開始加載圖片)
        • 加載圖片就是將src屬性的值替換成data-url屬性的值,同時(shí)移除data-url屬性
      • 代碼實(shí)現(xiàn):因?yàn)樾枰玫狡聊坏母叨龋詇tml標(biāo)簽的高度設(shè)置成100%
      html {
         height: 100%;
      }
      
      <body>
          <div class="box"><img alt="" data-url="http://127.0.0.1:8080/ra2.jpg"></div>
          <div class="box"><img alt="" data-url="http://127.0.0.1:8080/kyo.jpg"></div>
          <div class="box"><img alt="" data-url="http://127.0.0.1:8080/lol.jpg"></div>
          <div class="box"><img alt="" data-url="http://127.0.0.1:8080/kof.jpg"></div>
          <div class="box"><img alt="" data-url="http://127.0.0.1:8080/ra2.jpg"></div>
          <div class="box"><img alt="" data-url="http://127.0.0.1:8080/ra2.jpg"></div>
          <div class="box"><img alt="" data-url="http://127.0.0.1:8080/ra2.jpg"></div>
          <div class="box"><img alt="" data-url="http://127.0.0.1:8080/ra2.jpg"></div>
          <div class="box"><img alt="" data-url="http://127.0.0.1:8080/ra2.jpg"></div>
      </body>
      
      <script>
          var throttle = new Throttle(loadImg,200)
          throttle.run() //一上來先判斷一次
          window.addEventListener('scroll', function(){
              throttle.run()
          })
      
          //創(chuàng)建一個(gè)節(jié)流構(gòu)造函數(shù),避免污染全局
          function Throttle(cb,delay) {
              this.last = 0
              this.cb = cb
              this.delay = delay
              this.run = () => {
                  if(new Date().getTime() - this.last >= this.delay){
                      this.cb()
                      this.last = new Date().getTime()
                  }
              }
          }
      
          //加載圖片
          function loadImg() {
              //獲取所有含有data-url屬性的img元素(有這個(gè)屬性說明未加載圖片)
              var imgs = document.querySelectorAll('[data-url]')
              for (var i = 0; i < imgs.length; i++) {
                  //判斷每張圖片是否進(jìn)入了屏幕
                  //如果offsetTop > 屏幕高度+垂直滾動(dòng)距離 則表示無需加載,反之則加載
                  if (imgs[i].offsetTop < (document.documentElement.offsetHeight + document.documentElement.scrollTop)) {
                      //修改圖片的src屬性,移除data-url屬性
                      imgs[i].src = imgs[i].getAttribute('data-url')
                      imgs[i].removeAttribute('data-url')
                  }
              }
          }
      </script>
      
      posted @ 2019-09-21 22:53  ---空白---  閱讀(1156)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产精品一区二区在线蜜芽tv| 国产精品一码在线播放| 成人无码午夜在线观看| 四虎永久精品免费视频| 伊人中文在线最新版天堂| 尤物国产精品福利在线网| 精品国产一国产二国产三| 亚洲一区精品视频在线| 下面一进一出好爽视频| 午夜成人性爽爽免费视频| 宜宾县| 日韩精品卡1卡2日韩在线| 欧美肥老太牲交大战| 嗯灬啊灬把腿张开灬动态图| 亚洲日韩一区二区| 国产高清精品在线一区二区| 亚洲鸥美日韩精品久久| 色天天天综合网色天天| 熟女一区二区中文字幕| 国产亚洲av产精品亚洲| 午夜视频免费试看| 亚洲欧美另类久久久精品播放的| 亚洲精品一区二区三区色| 一边吃奶一边摸做爽视频| 精品国产成人亚洲午夜福利 | 日本欧洲亚洲高清在线| 色爱综合激情五月激情| caoporn成人免费公开| 国产精品人成视频免费国产| 中文字幕久久人妻熟人妻| 97成人碰碰久久人人超级碰oo| 婷婷开心深爱五月天播播| 自拍视频亚洲精品在线| 午夜性爽视频男人的天堂| 少妇高潮灌满白浆毛片免费看| 国产精品亚洲а∨天堂2021| 久久精品国产91精品亚洲| 最新午夜男女福利片视频| 国产精品视频第一第二区| 天天躁夜夜躁av天天爽| 一区二区三区鲁丝不卡|