整合營銷服務(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é)會了嗎?


          主站蜘蛛池模板: 一区二区免费视频| 国产一区二区好的精华液| 国产成人一区二区三区视频免费| 中文字幕一区二区三区乱码| 一区二区三区杨幂在线观看| 日本一区二区三区中文字幕| 久久无码人妻精品一区二区三区| 亚洲一区二区三区自拍公司| 亚洲午夜精品一区二区麻豆 | 国产视频一区在线播放| 日韩精品午夜视频一区二区三区| 国模吧一区二区三区| 精品无人乱码一区二区三区| 亚洲视频一区二区| 99偷拍视频精品一区二区 | 亚洲国产精品一区二区第一页免 | 日韩福利视频一区| 中文字幕精品一区二区2021年| 免费萌白酱国产一区二区| 精品国产AV一区二区三区| 日本一区二区在线| 一区二区三区四区电影视频在线观看| 亚洲一区中文字幕在线观看| 精品人妻系列无码一区二区三区 | 视频一区视频二区日韩专区| 中文字幕一区二区三匹| 久久精品无码一区二区三区 | 久久无码人妻精品一区二区三区| 国产精品熟女视频一区二区| 中文字幕一区二区三区在线观看 | 色一乱一伦一区一直爽| 精品在线一区二区三区| 伊人久久精品无码麻豆一区| 欧美激情国产精品视频一区二区 | 午夜天堂一区人妻| 国产一区二区成人| 亚洲国产AV一区二区三区四区| 欧洲亚洲综合一区二区三区| 国产在线观看一区二区三区精品| 日本一区二区三区不卡在线视频| 久久国产精品免费一区|