使用者定製web頁中元素的排版布局策略
在"web頁中的html元素的排版布局規則"一文中,我們簡述了browser是以怎樣的策略來排版布局的,但很多時候預設的排版卻不能完全滿足我們的需要,所以我們還需要靠自己來定製web頁中html元素的排版布局策略。
我們可以使用這些下css屬性來定製頁面的顯示效果,它們是:clear、float、clip、overflow(又可分別分為overflow-x和overflow-y)、display和visibility。不過屬性clip、overflow和visibility不是我們關心的重點,因為它們雖然影響頁面的最終顯示的效果,可是它們卻不能影響browser裡元素的布局規則。
我們可以檢視msdn看看clear、float和display的詳細含義,簡單說一下呢。這三個css屬性都是影響我們在'規則'一文中說道的html元素的inline-level和block-level問題的。其中clear和float是相對的兩個屬性,clear:none是預設值,允許元素兩邊都有inline-level的box存在;clear:left,不允許元素左邊有inline-level的box存在;clear:right,不允許元素右邊有inline-level的box存在;clear:both,不允許有inline-level的box存在於一行。float:none是預設值,元素不漂浮;float:left,元素漂浮於物件布局流的右邊,float:right,元素飄浮於物件布局流的左邊。
屬性display看起來比較麻煩,因為它有很多的取值,可是實際上我們可以簡單的把display屬性看成是用來定義box的level方式的,到底是inline的還是block的。比如我們知道div預設是block-level的,我們可以使用...
,它就變成inline-level的了,同時它也就遵循inline-level的排版布局策略了。display屬性著重的是描述元素的render方式,所以當我們使用display:none時,元素將完全的消失掉,就和html**中沒有這個元素的顯示效果一樣(當然元素仍然在dhtml樹中,可以使用指令碼取到)。順便插一句,display:none和visibility:hidden的區別,元素如果設定了屬性後者,雖然也是不會再顯示出來了,可是該元素的物理位置卻是被browser保留了的,頁面中將會顯示乙個和元素bounds一樣的空白區域。
布局說完了,再來說一下元素的定位問題,定位是由屬性:position、top(還有left、right、bottom,下面簡稱為tlrb)和z-index來控制的。其中tlrb四個屬性是依賴於position的取值而起作用的,position取值為static、absolute和relative。如果postion取static,tlrb將不會起任何的定位作用;position取absolute,tlrb將把其所在的viewport(下面有解釋)的左上角作為top和left的(0,0)起點,由此來定位元素;position取relative,tlrb將把元素本來布局流中的位置的左上角座標作為top和left的(0,0)起點,並由此來定位元素。比如**:
<
div
id="div1"
style
="border: solid 1px blue; width: 200; height: 200; position: absolute;
top: 50; left: 50"
>
<
div
id="div2"
style
="border: solid 1px green; width: 100; height: 100; position: absolute;
top: 25; left: 25"
>
div>
div>
將顯示為:
<
div
id="div1"
style
="border: solid 1px blue; width: 200; height: 200; position: absolute;
top: 50; left: 50"
>
<
div
id="div2"
style
="border: solid 1px green; width: 100; height: 100; position:relative;
top: 25; left: 25"
>
div>
div>
的顯示效果和上圖相同,但是元素的定位原理卻是不同的。
注:所有示例都只針對ie6.0sp1。
使用者定製Web頁中元素的排版布局策略
在 web頁中的html元素的排版布局規則 一文中,我們簡述了browser是以怎樣的策略來排版布局的,但很多時候預設的排版卻不能完全滿足我們的需要,所以我們還需要靠自己來定製web頁中html元素的排版布局策略。我們可以使用這些下css屬性來定製頁面的顯示效果,它們是 clear float cl...
定製屬性頁
對生成的預設的屬性頁對話方塊進行處理,將屬性頁部分向右平移,騰出左邊區域,以便新增切換屬性頁的相關控制項。首先在左半區域繪製乙個矩形框並填充背景顏色,然後在矩形框中動態建立用於切換屬性頁的按鈕。原始版本中使用的是clistctrl列表控制項,由於列表控制項的行要做成立體的效果比較困難,並且存在閃爍的...
DWIntrosPage 簡單定製引導頁
1 使用方式 uiviewcontroller setupdynamicvc return introspage 複製 上面為使用靜態圖方式,動態圖方式與此大同小異,故不多說。2 框架目錄 該框架主要有兩大類 下面摘取部分 dwintrospagecontentviewcontroller 複製 設...