專案總結(1)

2021-08-10 05:26:15 字數 2102 閱讀 4682

這是專案中一段**,然後看了半天,發現自己的基礎是如此的薄弱,只能看懂個大概意思。

var html = document.queryselector("html");

var clientwidth = html.getboundingclientrect().width

;html.style

.fontsize = clientwidth/18 + "px"

;

然後我就又搜了var  doc = document.documentelement..

body是dom物件裡的body子節點,即body標籤,documentelement 是整個節點樹的根節點root.

body是dom物件裡的body子節點,即 標籤;

documentelement 是整個節點樹的根節點root,即標籤; 

接著我又搜了

getboundingclientrect()

getboundingclientrect用於獲取某個元素相對於視窗的位置集合。集合中有top, right, bottom, left等屬性。

1.語法:這個方法沒有引數。

rectobject = object.getboundingclientrect();
2.返回值型別:textrectangle物件,每個矩形具有四個整數性質( 上, 右 , 下,和左 )表示的座標的矩形,以畫素為單位。

rectobject.top:元素上邊到視窗上邊的距離;

rectobject.right:元素右邊到視窗左邊的距離;

rectobject.bottom:元素下邊到視窗上邊的距離;

rectobject.left:元素左邊到視窗左邊的距離;

示圖:

3. 相容性:我用ie11的document mode模式測試,ie5以上都能支援。

pc端:

mobile端:

4.width和height:ie9以上支援width/height屬性。

相容ie6~ie8的width/height的寫法:

var rectwidth = rectobject.right -rectobject.left;

rectheight = rectobject.bottom - rectobject.top;

5.在ie7及ie7以下left和top會多出兩個畫素。

ie7下測試:

chrome下測試:

ie7下:

在ie7及ie7以下的html元素座標會從(2, 2)開始算起,在ie8已經修復了這個bug。這就是多出兩個畫素的原因。下面我們做下相容:

var    rectleft = rectobject.left - document.documentelement.clientleft || 2;

rectright = rectobject.right - document.documentelement.clientleft || 2;

rectbottom = rectobject.bottom - document.documentelement.clienttop || 2;

recttop = rectobject.top - document.documentelement.clienttop || 2;

專案總結(1)

先手拿到專案,作為寫專案的人得明白,這個專案如何去布局,你只有清楚知道如何布局才能知道專案的整體流程是怎麼樣子的。如果能清楚如何去進行布局,那麼我覺得這個專案,從某種意義上來說已經完成了一半。個人認為,懂得乙個專案該如何去布局應該算的上是乙個比較重要的點。乙個專案有很多種的布局辦法,但是考驗乙個前端...

專案重構總結 1

到今天為止,webgate 專案重構 初步完成。還需要實現的功能有 1 修改,重置密碼功能。2 修改 page 功能。3 外部專案引入的jar 包。4 首頁 優化。重構一共經歷了 7 個周。第一周,看基本的 登入功能 實現思路。第二週,看兩個專案的配置,並開始配置。第三週,基本配置實現 核心資料表 ...

EnumPortal專案總結1

記得當時還是在做王磊的820時,李波就找過我和王興軍解決一些enumportal線網的一些小問題,當時幸有王興軍支援,那些小問題很容易就解決了 還是enumportal,在做楊生飛的830時又有一些小問題要解決,當時王興軍已經不在這邊了,所以,經常是疲於兼顧830和enumportal。8月底9月初...