第一天 XHTML CSS基礎知識 http://www.aa25.cn/div_css/902.shtml
1.整個盒模型在頁面中所佔的寬度是由左邊界+左邊框+左填充+內容+右填充+右邊框+右邊界組成,而css樣式中width所定義的寬度僅僅是內容部分的寬度。
第二天 一列布局 http://www.aa25.cn/div_css/903.shtml
1. css手冊中說:區塊層級元素的垂直相鄰外邊距會合并,而行內元素實際上不佔上下外邊距。行內元素的的左右外邊距不會合并。同樣地,浮動元素的外邊距也不會合并。允許指定負的外邊距值,不過使用時要小心(有關區塊層級元素和行內元素的概念在下一節講到)。
所以上下兩個div如果均指定margin:5px, 則兩個div相距5px,而不是10px,因為區塊層級元素的垂直相鄰外邊距會合并。
2. 內聯(display:inline;)元素不能設定寬高,因為內聯屬於行布局,其特性是在一行裡進行布局,所以不能被設定寬高, 解決方案參考:http://www.jb51.net/article/21829.htm
第三天 二列和三列布局 http://www.aa25.cn/div_css/904.shtml
1.在 CSS 中,任何元素都可以浮動。浮動元素會產生一個塊級框,而不論它本身是何種元素;且要指明一個寬度,否則它會儘可能地窄;另外當可供浮動的空間小於浮動元素時,它會跑到下一行,直到擁有足夠放下它的空間。
2.IE 3像素bug
2.1現象: 3像素bug是IE6的一個著名的bug,當浮動元素與非浮動元素相鄰時,這個3像素的Bug就會出現。即兩者之間會出現3像素的間隔。
2.2解決: 在#side上加上_margin-right:-3px;記住,前邊加上一底線,這樣這個樣式專門針對IE6生效。IE7和FF下還會正常顯示。
2.3建議: 當兩列固定寬度時,最好把#main也固定寬度且向右浮動,這樣就可以避免IE6的3像素bug了。
第四天 縱嚮導航菜單及二級快顯功能表
1.position:relative; 如果對一個元素進行相對定位,首先它將出現在它所在的位置上。然後通過設定垂直或水平位置,讓這個元素"相對於"它的原始起點進行移動。(再一點,相對定位時,無論是否進行移動,元素仍然佔據原來的空間。因此,移動元素會導致它覆蓋其他框)
2.position:absolute; 表示絕對位置,位置將依據瀏覽器左上方開始計算。 絕對位置使元素脫離文檔流,因此不佔據空間。普通文檔流中元素的布局就像絕對位置的元素不存在時一樣。(因為絕對位置的框與文檔流無關,所以它們可以覆蓋頁面上的其他元素並可以通過z-index來控制它層級次序。z-index的值越高,它顯示的越在上層。)
3.父容器使用相對定位,子項目使用絕對位置後,這樣子項目的位置不再相對於瀏覽器左上方,而是相對於父容器左上方
4.相對定位和絕對位置需要配合top、right、bottom、left使用來定位具體位置,這四個屬性只有在該元素使用定位後才生效,其它情況下無效。另外這四個屬性同時只能使用相鄰的兩個,不能即使用上又使用下,或即使用左,又使用右