整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          在建網(wǎng)站時如何讓iframe在瀏覽器中自適應(yīng)高度呢?

          在建網(wǎng)站時如何讓iframe在瀏覽器中自適應(yīng)高度呢?

           建企業(yè)網(wǎng)站時為什么需要使用iframe自適應(yīng)高度呢?其實(shí)就是為了美觀,要不然iframe和窗口長短大小不一,看起來總是不那么舒服,自適應(yīng)高度對于用戶體驗(yàn)度的提升尤為重要。網(wǎng)上關(guān)于iframe高度自適應(yīng)的代碼有很多,但比較雜亂,有一些過于復(fù)雜,有一些存在明顯錯誤。緣由心生給出了一段修改后的精簡版本,感覺不錯,并簡單修正了其中一處Opera下的錯誤。

          iframe框架自適應(yīng)高度
          首先設(shè)置樣式:body{margin:0; padding:0;}
          如果不設(shè)置body的margin和padding為0的話,頁面上下左右會出現(xiàn)空白。

          html代碼如下:
          <iframe src="https://www.371jianzhan.com" id="myiframe" scrolling="no" onload="changeMyFrameHeight()"></iframe>
          
          js代碼也得跟著改:
          function changeMyFrameHeight(){
              var ifm= document.getElementById("iframepage"); 
              ifm.height=document.documentElement.clientHeight;
          }
          
          window.onresize=function(){  
               changeMyFrameHeight();  
          
          }


          window.onresize的作用就是當(dāng)窗口大小改變的時候會觸發(fā)這個事件。

          所以,建公司網(wǎng)站使用此方法可以完美的、真正的讓iframe自適應(yīng)高度了,試試看吧,并且兼容多種瀏覽器。

          用JavaScript實(shí)現(xiàn)頁面滑動到指定位置加載動畫。

          若頁面滾動到class名為group-pic的元素的位置時開始加載


          1. $(document).ready(function(){
          2. var a,b,c;
          3. a=$(window).height(); //瀏覽器窗口高度
          4. var group=$(".group-pic");
          5. $(window).scroll(function(){
          6. b=$(this).scrollTop(); //頁面滾動的高度
          7. c=group.offset().top; //元素距離文檔(document)頂部的高度
          8. if(a+b>c){
          9. ...
          10. }else{
          11. ...
          12. }
          13. });
          14. });

          原理: 1.獲取瀏覽器窗口的高度;

          2.獲取頁面滾動的高度;

          3.獲取頁面距離文檔(document)頂部的高度

          offset().top具體指的是距哪里的高度呢?

          一些獲寬高度的屬性:

          網(wǎng)頁可見區(qū)域?qū)挘?document.body.clientWidth;

          網(wǎng)頁可見區(qū)域高: document.body.clientHeight;

          網(wǎng)頁可見區(qū)域?qū)挘?document.body.offsetWidth (包括邊線的寬);

          網(wǎng)頁可見區(qū)域高: document.body.offsetHeight (包括邊線的寬);

          網(wǎng)頁正文全文寬: document.body.scrollWidth;

          網(wǎng)頁正文全文高: document.body.scrollHeight;

          網(wǎng)頁被卷去的高: document.body.scrollTop;

          網(wǎng)頁被卷去的左: document.body.scrollLeft;

          網(wǎng)頁正文部分上: window.screenTop;

          網(wǎng)頁正文部分左: window.screenLeft;

          屏幕分辨率的高: window.screen.height;

          屏幕分辨率的寬: window.screen.width;

          屏幕可用工作區(qū)高度: window.screen.availHeight;

          屏幕可用工作區(qū)寬度:window.screen.availWidth;

          obj.offsetTop 指 obj 距離上方或上層控件的位置,整型,單位像素。

          obj.offsetLeft 指 obj 距離左方或上層控件的位置,整型,單位像素。

          obj.offsetWidth 指 obj 控件自身的寬度,整型,單位像素。

          obj.offsetHeight 指 obj 控件自身的高度,整型,單位像素。

          1.offsetTop : 當(dāng)前對象到其上級層頂部的距離.

          不能對其進(jìn)行賦值.設(shè)置對象到頁面頂部的距離請用style.top屬性.

          2.offsetLeft : 當(dāng)前對象到其上級層左邊的距離.

          不能對其進(jìn)行賦值.設(shè)置對象到頁面左部的距離請用style.left屬性.

          3.offsetWidth : 當(dāng)前對象的寬度.

          與style.width屬性的區(qū)別在于:如對象的寬度設(shè)定值為百分比寬度,則無論頁面變大還是變小,style.width都返回此百分比,而offsetWidth則返回在不同頁面中對象的寬度值而不是百分比值

          4.offsetHeight : 與style.height屬性的區(qū)別在于:如對象的寬度設(shè)定值為百分比高度,則無論頁面變大還是變小,style.height都返回此百分比,而offsetHeight則返回在不同頁面中對象的高度值而不是百分比值

          由于前端所設(shè)計的領(lǐng)域太多,每篇文章所能講述的知識點(diǎn)太多,對于讀者來說不太好消化,因此以后基本是采用一篇文章一個知識點(diǎn)來寫作。

          今天這篇文章主要講解css中a標(biāo)簽的高度和寬度問題。

          css

          問題描述

          在采用div+css的方式布局頁面時,對于超鏈接a標(biāo)簽,無法設(shè)置其高度和寬度,即使對其設(shè)置了width和height屬性,也不會生效。

          我們通過如下例子來看看。

          給a標(biāo)簽設(shè)置了如下css屬性。

          css屬性

          但是從下圖可以看出,a標(biāo)簽的高度和寬度沒有發(fā)生變化,仍然是122px*22px。

          實(shí)際效果

          問題原因

          為什么會出現(xiàn)這個情況呢?

          因?yàn)閍標(biāo)簽屬于行內(nèi)元素,行內(nèi)元素是無法直接設(shè)置高度和寬度的。

          遇到這個問題,我們該怎么解決呢,主要有以下幾個方法。

          解決方法1-設(shè)置塊級元素

          既然行內(nèi)元素?zé)o法設(shè)置高度和寬度,那么我們將其設(shè)置為塊級元素呢?

          我們對a標(biāo)簽設(shè)置以下的樣式。

          設(shè)置display:block

          我們可以看出a標(biāo)簽的高度和寬度發(fā)生了變化,而且在設(shè)置為塊級元素后,占據(jù)了一整行的位置。

          高度發(fā)生變化

          解決方法2-設(shè)置浮動

          通過將a標(biāo)簽設(shè)置為浮動狀態(tài),同樣可以改變其高度和寬度。

          我們給a標(biāo)簽設(shè)置以下css樣式。

          設(shè)置為浮動元素

          我們可以看出a標(biāo)簽的高度和寬度發(fā)生了變化,并且其占據(jù)的寬度和設(shè)置的width屬性一樣,與方法1呈現(xiàn)的不一樣。

          改為浮動元素

          方法3-設(shè)置padding屬性

          在設(shè)置padding屬性的時候,不能直接改變a標(biāo)簽的高度和寬度,實(shí)際是一種模擬的狀態(tài)。

          而且需要注意的是在設(shè)置padding-top和padding-bottom時是不生效的,即使從控制臺看元素顯示占據(jù)了空間,但不會影響頁面的布局。因此在設(shè)置padding屬性時,實(shí)際只會影響到a標(biāo)簽的寬度。

          我們給a標(biāo)簽設(shè)置以下padding屬性。

          設(shè)置padding屬性

          我們可以看出a標(biāo)簽占據(jù)的高度和寬度發(fā)生了變化,但是實(shí)際只是寬度占據(jù)的空間發(fā)生變化,高度不變。

          設(shè)置padding屬性

          結(jié)束語

          今天這個簡單的知識點(diǎn):設(shè)置a標(biāo)簽的高度和寬度,大家都學(xué)會了嗎?


          主站蜘蛛池模板: 国产福利一区二区三区| 精品国产aⅴ无码一区二区| 精品无码一区二区三区电影| 日本免费一区二区在线观看| 日韩精品午夜视频一区二区三区| 午夜视频久久久久一区| 日本内射精品一区二区视频| 美女福利视频一区二区| 国产福利一区二区三区在线视频| 一区二区三区在线观看中文字幕| 国产香蕉一区二区三区在线视频| 手机看片福利一区二区三区| 爱爱帝国亚洲一区二区三区| 精品国产一区二区三区无码| 免费精品一区二区三区第35| 精品国产AⅤ一区二区三区4区| 欧美日本精品一区二区三区| 久久久久人妻一区二区三区| 中文字幕国产一区| 一区二区不卡视频在线观看| 国产精品久久久久久一区二区三区 | 在线精品日韩一区二区三区| 五月婷婷一区二区| 精品永久久福利一区二区| 精品国产日产一区二区三区 | 91秒拍国产福利一区| 中文乱码精品一区二区三区 | 亚洲一区视频在线播放| 日韩精品免费一区二区三区| 欧亚精品一区三区免费| 亚洲.国产.欧美一区二区三区| 中文字幕一区二区三区久久网站 | 日产亚洲一区二区三区| 无码视频一区二区三区在线观看 | 秋霞电影网一区二区三区| 国产主播一区二区三区| 精品在线视频一区| 国产成人精品a视频一区| 一区二区三区美女视频| 精品无码综合一区| 亚洲AV综合色区无码一区爱AV|