前端布局的一些基本知識和思路

2021-09-01 22:32:31 字數 1962 閱讀 8401

[size=large]1.盒子模型[/size]

布局前我們首先了解盒子模型,這是布局的基石。

網上很多內容沒有講解清楚盒子模型,引起了不少誤解。

乙個div在布局的概念中自內到外包含五層含義。

1)文字元素本身的內容。

2)padding所佔空間

3)border所佔空間

4)margin所佔空間

5)position中top,left所佔空間。

圖示:[img]

[size=medium]換種思路理解盒子模型[/size]

上面看起來有點抽象,我們可以想像一幢房子的結構情況。

1)床所佔的空間是div裡文字的內容。

2)床離牆的距離為padding的大小。

3)而牆的厚度即為border的大小。

4)每幢樓之間的距離即為margin的大小。其中margin又分為margin-top,margin- right,margin-bottom,margin-left;是一種從順時針的方向。

5) 樓相對於樓所在小區某個點的距離position的top,left的大小。對於div元素來講, 這個就是相對於父親元素的大小。

從上面的分析,我們可以得出瀏覽器中頁面的布局是乙個二維座標圖。以瀏覽器左上角為坐 標原點進行計算。橫向為大於0的x軸,縱向為向下為正的y軸。

[img]

[size=large]2.塊級元素和內聯元素[/size]

有了上面的一些基礎知識,接著往下看塊級元素和內聯元素。

塊級元素是在瀏覽器中佔據一行,比如div,p,form元素

內聯元素不佔據行,比如span,label,input元素

2.1)塊級元素可以設定高寬(width,height),而內聯元素不能設定高寬。

正常情況下需要顯示的內容使用內聯元素包裝,而塊級元素大多情況只是用來定位。

[size=large]3.定位[/size]

定位前首先要了解文件流。普通的乙個html文件即稱為文件流。

文件流是從上而下的排列方式。往html中新增乙個div元素,則

會自動新增到當前文件流中。當然如果自上而下的縱向布局肯定不滿足

業務需要。

position:absolute定位:

使用postion:absolute方式,會使元素脫離原來的文件流,並相對於其包含塊定位,包含塊可能是文件中的另乙個元素或者是初始包含塊(body元素)。元素原先在正常文件流中所佔的空間會關閉,就好像該元素原來不存在一樣。元素定位後生成乙個塊級框,absolute依賴於父親元素,如果父親元素沒有position定位過,則按相距body元素的top,left來定位。原來佔據的空間會被後續元素佔據。一般來講這種情況

父親元素需要設定成相對定位,並且父親元素需要設定高和寬。

通過絕對定位,元素可以放置到頁面上的任何位置。

position:relative定位

relative是相對於自身的定位方式,它對應的top,left的大小是相對於沒有定位時的大小,並且設定的top,left不能夠被其它元素佔據。因為他是在文件流中。縱向布局的父親元素一般都是使用relative.

float:left,right定位

float主要是用來做橫向元素的布局,因為預設文件流是縱向布局的。設定了元素的float屬性以後,元素就相對於父親元素進行了向左或者向右浮動,並且元素浮動以後本身還是乙個塊級元素,所以可以使用margin,padding等屬性;連續的兄弟結點進行浮動以後就顯示橫向塊了。使用float元素以後由於脫離了文件流,後續元素會補齊原來文件流的空間,所以一般需要設定下乙個元素的clear:both

以下示例當child1元素設定為absolute以後,child2元素會佔據原來文件流中child1的空間,表現出來的現象就是重疊,當然可以指定元素的z-index進行誰優先顯示。

其css樣式如下:

child1

child2

總結:[b]布局思路[/b]

framebuffer 一些基本知識

horizontal回掃和vertical回掃是crt引入的概念,電子束從左向右畫水平線,回到下一行行首繼續下一行掃瞄,直到螢幕最下一行,然後回到螢幕上方繼續下一幀掃瞄。水平回掃 電子束從上一行尾移動到下一行起始點需要的時間 幀回掃 電子束從螢幕下方移動到螢幕上方所需的時間 crt的重新整理屏率是怎...

tableviewcell的一些基本知識點

cpp view plain copy 無色 cell.selectionstyle uitableviewcellselectionstylenone 藍色 cell.selectionstyle uitableviewcellselectionstyleblue 灰色 cell.selectio...

php入門的一些基本知識

新手上路,高手莫要見怪,呵呵 php筆記1 基本知識 一 一,資料型別 整形 integer 整數集有效範圍 2147483648 2147483648 浮點型 float 浮點數 雙精度數或實數 1.234 1.2e4 12000 布林型 boolean 只能取true 或false兩種 字串 s...