記錄最近所學的html的前端的一些基礎知識
幾個概念:文件流,html內容在載入的時候會從上到下,從左到右載入到流量器
脫離文件流,不再按照原來的方式進行,定位(position中的絕對定位)是完全脫離文件流,浮動(float)和相對定位是不完全脫離文件流,不完全脫離文件流的元素離開了原來的位置之後原來的區域會保留,完全脫離文件流則不會被保留
普通文件流布局:浮動元素不會被父級元素計算高度,非浮動元素會覆蓋浮動元素位置,margin屬性會向上傳遞給父級元素
bfc的布局規則:浮動元素會被父級元素計算高度,非浮動元素不會覆蓋浮動元素位置(非浮動元素觸發bfc),margin不會向父級元素傳遞,兩個相鄰的元素上下margin不會重疊(給其中乙個元素新增乙個單獨的父級,然後讓他的父級觸發了bfc)
如何觸發bfc:(以下任意乙個)
1、float的值不為none
2、overflow的值不為visible
3、display的值為table-cell、table-caption和inline-block之一
4、position的值不為static或者releative中任何乙個
當遇到這種情況,在定位時你用到了margin,然後因為margin屬性向上傳遞,導致布局不理想,所以可以這麼解決:在他的外部套乙個div加上屬性overflow:hidden
關於position的relative和absolute
relative:
根據自己原來的位置計算移動的位置(top,left,buttom,right)
元素移走後原來的位置保留
不影響元素本身的特徵,提公升層級
absolute:
完全脫離文件流
使行內元素支援所有樣式(可以設定寬高)
提公升層級
觸發bfc
a標籤span標籤img標籤是常用的行內元素標籤具體的有【a,span,strong,em,mark,img,time】,剩下的都是塊級元素,行內元素預設是沒有寬高的其尺寸有內容決定,塊級元素預設寬度是auto由其父級元素決定;
行內元素可以轉為塊級元素【display:block】此時的行內元素可以像塊級元素一樣使用,可以設定寬高
塊級元素轉行內元素【display:inline】
display:inline-block;行內塊元素
特徵:1、行內元素支援寬高
2、塊元素可以在行中顯示
3、不給寬高的話,寬度會由內容撐開
4、**換行會被解析成乙個空格
浮動float
定義使元素脫離文件流,按照指定的方向發生移動,遇到父級的邊界或者相鄰的浮動元素就會停下來
值left、right、none
特徵1、塊元素可以在一行顯示
2、按照乙個指定的方向移動,遇到父級的邊界或者相鄰的浮動元素就會停下來
3、行內元素支援寬高
4、脫離文件流
浮動後跟的元素(沒有浮動)的位置是從前面浮動元素的位置開始的
注意:非浮動元素裡的內容會留出前面浮動元素的位置(盒模型的位置)
5、塊元素預設寬度會被改變(包裹性)
塊元素不設定寬度,那寬度會自動變成內容所撐開的寬度
6、父級高度塌陷(破壞性)
子元素有浮雲後,那父級元素的高度不會自動撐開了
7、換行不會被解析成空格
浮雲後的元素就會脫離文件流了,那它就不屬於文件流裡的結構了,所以換行、空格都跟父級沒關係了
after 偽類清除浮動
當乙個塊級元素進行浮動後它的父級元素的高度會塌陷(因為原來是由他撐起的父級的高度)所以需要在浮動後清除浮動(既保留了子塊級元素的定位,又讓父級元素高度恢復正常,使margin和padding生效)
在css中定義乙個類樣式:
.outer:after
在進行了浮動的元素的父級元素上加上乙個class【class="outer"】即可
Html 基礎知識
1 html常用簡單複習 2 文字相關標籤 color size face align 預格式文字,讓文字保持原來風格,英雄本色 特殊字元 3 超連結 href target blank 相對路徑 絕對路徑 c documentsand settings administrator 桌面 nonam...
HTML基礎知識
html標籤分為兩種 單標籤和雙標籤 單標籤 用於一些特殊的含義 br 換行,hr 水平線。雙標籤 用來封裝資料,展示特殊的格式 如一些特殊的字型 大小 顏色 font body html都是以html作為根標籤,然後是head和body。一般head標籤裡去寫title meta標籤。其中titl...
html 基礎知識
html 軟體的結構 c s client server 結構的軟體 比如 qq 極品飛車 飛信 迅雷 cs結構軟體的優點 減輕服務端的壓力,而且可以大量儲存資料在客戶端。b s browser server 結構的軟體 比如 微博 webqq web飛信 web迅雷 缺點 增加了服務端的壓力,bs...