妙味課堂的課程講得很是的清楚,受益不淺。先把HTML和CSS基礎課程部分視頻的學習筆記記錄以下:javascript
文件編碼格式與代碼編碼格式一致的時候,網頁纔不會出現亂碼,才能夠顯示正常。php
樣式的位置:css
bac kground: { url(bg.jpg) center top no-repeat gray fixed; }
等價於:html
#bg { background-image: url(bg.jpg); background-position: center top; background-repeat: no-repeat; background-color: gray; background-attachment: fixed;
}
常見樣式——結構前端
複合屬性:一個屬性多個屬性值的命令java
font: font-style | font-weight | font-size/line-height | font-family; |
<base target="_blank"/>
淺析SEO(搜索引擎優化)git
部分方法: 1. 頁面標籤語義化 2. 使用對SEO有利的標籤:h1/h2/h3/strong/em… 3. 提升頁面關鍵詞密度 4. 其餘github
SEM:搜索引擎營銷;(包含SEO)web
a僞類的應用:chrome
a僞類的兼容
/* 默認樣式重置(css reset) */ body, p, h1, h2, h3, h4, h5, h6, dl, dd { margin: 0; font-size: 12px; /* font-family */ } ol, ul { list-style: none; padding: 0; margin: 0; } a { text-decoration: none; } img { border: none; } ……
特性:
問題:
關於代碼換行解析(頁面中內聯元素和inline-block元素之間的空隙):
空隙爲一個空格的大小,也就是頁面上默認字號的一半。好比頁面上默認字號爲12px,那麼它們之間的空隙就是6px。
inline-block的應用:分頁導航
cursor: pointer | text | move … |
元素加了浮動,會脫離文檔流,按照指定的一個方向移動,直到碰到父級的邊界或者另一個浮動元素中止。
clear left/right/both/none
clear控制元素的某個方向上不能有浮動元素
方法1、 給父級元素加高(問題:擴展性很差)
方法2、 給父級也加浮動(問題:頁面中全部元素都加浮動,margin左右自動失效。Float’s Bad!)
方法3、 用父級添加display: inline-block來清除浮動(問題:margin左右自動失效)
方法4、 在浮動元素下邊加上<div class=」clear」></div>空標籤清浮動(問題:IE6最小高度19px;解決後IE6下還有2px誤差)
.clear { height: 0px; clear: both; font-size: 0;
}
IE6下的最小高度問題:
在IE6下高度小於19px的元素,高度會被看成19px處理
解決辦法一:給該元素加font-size: 0; 這樣只能處理到最小2px,再小也沒辦法了。
解決方法二:爲該元素添加overflow: hidden;樣式 ——這也是處理IE6下最小高度的最經常使用方法。
.clear:after { content: ""; display: block; clear: both;
}
注意:在IE六、7下,浮動元素的父級有寬度的話,就不用清除浮動。
在IE中,子元素的寬高要麼是跟着父級走的,要麼是跟着內容走的。這個能夠用haslayout來調節。可是haslayout不會自動控制。haslayout的默認值爲false。可是用了特定樣式的時候,haslayout會變成true。具體能夠看這裏百度百科的詞條。
當haslayout觸發的時候,會根據元素內容大小或者父級的大小來從新計算元素的寬高。因此在IE六、7下,若是給浮動元素的父級加了寬高的話,那麼觸發了haslayout。該父級元素就根據其內容,及子元素來從新計算寬高,也就清除了浮動。若是父級元素沒有加寬高的話,經過加zoom: 1;來觸發haslayout,就能夠解決問題了。也就是說,爲了兼容IE六、7,除了給父級元素加上clear類,而後該給父級元素的after僞類添加上述樣式以外,還要給該父級元素加上zoom: 1;的樣式。也就是以下代碼:
最終推薦使用的清楚浮動的方法
.clear { /*用來處理IE六、7*/ zoom: 1;
} .clear:after { /*用來處理其餘瀏覽器*/ content: ""; display: block; /*或display: table;也能夠*/ clear: both;
}
zoom的做用就是放大或縮小。zoom在不一樣瀏覽器中不兼容。
overflow的做用:
overflow並非各瀏覽器兼容的。效果不一樣。overflow針對溢出的。
overflow的各個設置:
要執行overflow樣式,首先要檢測父級元素中的內容是否超出其寬高。若是子元素是浮動元素,父級元素又設置了固定寬高的話,若是子元素大於固定寬高的父級元素,而且父級元素設置了overflow: auto;會看到有滾動條出現。那說明,overflow不只能夠檢測到浮動元素是否溢出,並且也可讓父級元素包住浮動的子元素。那麼,即便父級元素沒有設置寬高,給父級元素設置了overflow的樣式,也能夠清除浮動。
兼容性問題
vertical-align的做用
添加了position: relative;的元素就變成了定位元素,具備如下特性:
定位元素位置控制
z-index: [number]; 定位層級
<div class="mask"></div> //遮罩 <div class="alert"></div> //彈窗 body, html { //這裏是爲了兼容IE6。若是不給body和html加height: 100%的話,IE6下的蒙板只在最上面顯示一條) height: 100%;
} .mask { //遮罩的樣式 position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.5; filter:alpha(opacity=50);
} .alert { //彈窗的樣式 width: 400px; height: 200px; background: #fff; border: 2px solid black; position: absolute; top: 50%; left: 50%; margin-top: -102px; //注意盒子的高度是200像素加上邊框寬度×2,也就是204px margin-left: -202px; //注意盒子的高度是404,而不是400.因此通常就是202px。此處必定要注意。 }
position: fixed 固定定位:與絕對定位的特性基本一致,差異是始終相對整個文檔進行定位;
問題:IE6不支持固定定位
濾鏡
position: relative | absolute | fixed | static | inherit; |
相對定位的一些問題
在IE6下,父級的overflow: hidden; 是包不住子集的相對定位的。例如:
#box1 {width: 500px; height: 300px; background: blue; overflow: hidden;} #box2 {width: 300px; height: 500px; background: yellow; position: relative;}
這兩個盒子,子元素box2比父元素box1要長,雖然父級添加了overflow: hidden; 可是一旦子元素添加了position: relative; 在IE6下,子元素仍是會撐破父元素。
解決方法,在父級也加一個相對或絕對定位position: relative/absolute; 就能夠包住子元素了。
絕對定位的一些問題
#box1 {width: 300px; height: 300px; border: 1px solid black; position: relative;} #box2 {width: 50px; height: 50px; backgruond: #7c1; position: absolute; right: -1px; bottom: -1px;}
其中box2是box1的子元素。請仔細觀察。當box1的寬高爲300px的時候,box2會遮掉box1右下角的邊框,這是正常的。可是當box1的寬高是30一、303等奇數時,在IE6下,box2沒有遮掉box1右下角的邊框,這正是由於出現了1px的誤差。這個問題,沒有好辦法規避。
固定定位的一些問題
position: fixed; 固定定位元素子級的浮動能夠不用寫清浮動方法;(IE6不兼容)
一個完整的表格結構:
table的默認樣式重置
th, td { padding: 0; } table {border-collapse: collapse; }
/* table css reset */
注意事項:
table的標籤基本特性就是display: table,既不是塊也不是內嵌。
單元格合併
表單元素大可能是inline-block
label的用法(用for進行關聯):
<input type="radio" name="gender" id="a" /><label for="a">男</label>
<input type="radio" name="gender" id="b" /><label for="b">女</label>
默認樣式重置
form {margin: 0;} //IE下form是有外邊距的 input {margin: 0; padding:0;} select {margin: 0;} textarea {margin: 0; padding: 0; resize: none; overflow: auto;}
select元素支持寬度、高度支持並不完善。單選框、複選框對寬高的支持不完善
能夠用outline: none去掉表單元素的焦點線。
表單元素兼容性問題
IE6下input背景滾動:
文本框:當內容比框寬的時候,該文本框背景會被擠跑。解決方法:將該文本框用一個div包起來。在這個div上設置背景圖片。而後把該文本框的寬高設置爲與div相同;把文本框的邊框去掉,文本框的背景設置爲無。
<div class="box"> <input type="text name="" class="text" /> </div> /* input {margin: 0; padding: 0;} .text {width: 300px; height: 40px; border: 1px solid blue; background: url(sun.jpg) 0 center no-repeat #ffc;} */ //以上這種僅針對input的樣式設置,在IE6下,當輸入的內容寬於文本框時,背景會跑掉。 .box {width: 300px; margin-top: 50px; height: 40px; border: 1px solid blue; background: url(sun.jpg) 0 center no-repeat #ffc;} .box input {width: 300px; height: 40px; border: none;} //以上這種設置方式,實際上是把樣式加到div上,而後讓文本框變成透明,而且與外面的div一樣大小,從而變成一樣的視覺效果。
outline輪廓線:
a標籤輪廓線去除方法:
滑動門的概念
滑動門並非一項全新的技術。它是利用背景圖像的可層疊性,並容許他們在彼此之上進行滑動,以創造一些特殊的效果。
左上和又上是圓角的按鈕實現方式(按鈕寬度能夠隨意變更):
<div class="btn">
<div class="btnL">
<div class="btnR">妙味課堂</div>
</div>
</div>
.btn {width: 100px; background: url(img/btn.png) repeat-x;) //btn.png爲中間的一像素平鋪 .btnL {background: url(img/btnL.png) no-repeat;} //btnL.png是帶左角的那一部分 .btnR {height: 31px; background: url(img/btnR.png) no-repeat right 0;} //btnR.png是帶右角的那一部分
以上方法比較麻煩;優化方法爲(按鈕寬度能夠變更,可是不能寬於btn2.png的寬度):
<div class="btn">
<div class="btnR"></div>
</div>
.btn {width: 100px; background: url(img/btn2.png) no-repeat;} //btn2.png是左角部分外加中間部分 .btnR {height: 31px; background: url(img/btnR.png) no-repeat right 0;} //btnR.png是右角的那一部分
可是第二種方法沒有第一種方法的擴展性好。第二種方法受到btn2.png這張圖片寬度的限制。所以,對於擴展要求高、圖片比較大的,儘可能使用三層嵌套的方法。對擴展要求不高、圖片比較小的,用兩層嵌套。
元素的寬度由內容撐開:
寬高可擴展的圓角的實現方式
簡單的方法:使用CSS3裏面的border-radius
利用滑動門的三層嵌套方法:
<div class="box> <div class="boxHead">
<div class="boxHeadL">
<div class="boxHeadR"></div>
</div>
</div>
<div class="boxC"> 圓角框中的內容 </div>
<div class="boxFoot">
<div class="boxFootL">
<div class="boxFootR"></div>
</div>
</div>
</div>
.box {width: 200px; margin: 30px auto;} .boxHead {background: url(boxH.png) repeat-x; height: 9px; overflow: hidden;} .boxHeadL {background: url(boxHL.png) no-repeat;} .boxHeadR {background: url(boxHR.png) no-repeat; right 0; height: 9px;} .boxFoot {background: url(boxF.png) repeat-x; height: 9px; overflow: hidden;} .boxFootL {background: url(boxFL.png) no-repeat;} .boxFootR {background: url(boxFR.png) no-repeat right 0; height: 9px;} .boxC {border-left: 1px solid #e5e5e5; border-right: 1px solid #e5e5e5;}
背景透明的圓角框實現
首先在切圖的時候,圓角的部分,就要切背景透明
<div class="btn">
<div class="btnL">
<div class="btnR"></div>
</div>
</div>
.btn {width: 100px; margin: 0 auto; background: url(btn.gif) repeat-x;} .btnL {background: url(btnL.gif) no-repeat; position: relative; left: -9px;} .btnR {background: url(btnR.gif) no-repeat right 0; height: 25px; position: relative; right: -18px;} //注意,由於btnL設置了left: -9px; 致使btnR也向左移了9px,要讓btnR比btn還要向右移除9px,就要設置一個相對右移的9*2=18像素才行
以上的寫法有些麻煩,更爲簡便的方法是:
<div class="btnL">
<div class="btnR">
<div class="btn"></div>
</div>
</div>
<!-- 注意這種寫法與上面的那種方法,標籤嵌套的順序變了 -->
.btnL {width: 100px; margin: 0 auto; background: url(btnL.gif) no-repeat;} .btnR {background: url(btnR.gif) no-repeat right 0;} .btn {height: 25px; background: url(btn.gif) repeat-x; margin: 0 9px;} //這種方法是經過控制中間平鋪的btn的寬度,使兩邊的圓角透出來的。
利用backgroudn-poition的設置,將小圖拼成一個大圖,從而減小HTTP請求。
CSS sprites的優缺點:
常見問題:
1、IE6中,內容的寬高會撐開父元素設置的寬高。所以計算必定要精確,不要讓內容的寬高超出父元素設置的寬高。
2、IE6(7?)下元素浮動,若是寬度須要內容撐開就給裏邊的塊元素都加浮動。
3、在IE六、7下,元素要經過浮動並在一行,就給這行元素都加浮動。(若是第一個用浮動,第二個用margin-left,那麼在IE六、7下,這兩個元素之間會出現3像素的間隙,這也就是所說的3像素的bug)
4、注意標籤嵌套規範,例如不要在p標籤裏面嵌套塊標籤。
5、IE6下的最小高度問題。IE6下元素的高度小於19px時,會被看成19px處理。解決方法:font-size: 0; 或者overflow: hidden; 推薦後面的方法。
6、border的邊框是1px dotted的點線的時候,在IE6下不支持。解決辦法:切背景平鋪。
七:在IE6下,要解決margin傳遞,必定要觸發haslayout。解決辦法:添加zoom: 1;
八,在IE6下,父級有邊框的時候,子元素的margin值消失了。解決辦法:觸發父級的haslayout,也就是添加zoom: 1;
(儘可能在IE6下觸發元素的haslayout,也就是添加zoom: 1; 能夠避免掉不少兼容性問題。
九:IE六、7只支持a標籤的四個僞類,其餘的僞類不支持
十:在IE六、7下,inline-block是不支持塊標籤的。沒有解決辦法
十一:IE6下的雙邊距bug。在IE6下,塊元素有浮動和橫向的margin值,橫向的margin值會被放大成兩倍。當設置的是margin-right的時候,是一行右側第一個有雙邊距;當設置的是margin-left的時候,是一行左側第一個元素有雙邊距,若是左右margin都設置了,那麼一行的右側第一個和左側第一個都有雙邊距bug。解決辦法:轉成內嵌:display: inline;
十二:在IE六、7下,li自己沒浮動,可是li其中的內容有浮動,那麼li下面就會產生一個間隙。解決辦法:第一種解決辦法:給li添加浮動(有時爲了效果,還須要爲li設置寬度);辦法二:給li添加垂直對齊方式:vertical-align: top;。注意:當IE六、7下最小高度問題和li間隙問題同時出現的時候,給li加浮動。由於若是用overflow: hidden解決最小高度,同時用vertical-align: top解決間隙問題,會發現li下面仍有間隙。所以碰到這種狀況,要用給li添加浮動的方法來解決。
十三:IE6下,當一行子元素佔有的寬度之和與父級的寬度相差超過3像素,或者有不滿行狀態的時候,最後一行子元素的下margin在IE6下失效。沒發現有解決辦法。
十四:IE6下的文字溢出bug。子元素的寬度和父級的寬度相差小於3像素時,而且兩個浮動元素中間有註釋或者內嵌元素,就會出現文字溢出bug。解決辦法:把中間的註釋和內嵌元素用div抱起來;或者把父級元素調大一些也能夠。
十五:在IE6下,當浮動元素和絕對定位元素是並列關係的時候,絕對定位元素會消失。解決辦法:給絕對元素外面包個div。
十六:在IE六、7下,子元素有相對定位的話,父級的overflow就包不住子元素了。解決辦法:給父級也添加相對定位。
十七:在IE6下,絕對定位元素的父級寬高是奇數的時候,元素的rigt值和bottom值會有1px的誤差。
十八:IE6不支持固定定位。要用JS解決
十九:opacity透明度只有標準瀏覽器支持,在IE六、七、8要經過濾鏡filter來解決。
二十:若是tbody和其中包含的tr都有背景的話,tbody的背景就會消失;若是thead和其中的tr都有背景的話,thead的背景也會消失。所以不要給這兩個同時加背景。
二十一:在IE六、7下,輸入類型的表單控件上下各有1px的間隙。解決方法:給input添加浮動。
二十二:在IE六、7下,輸入類型表單控件加border: none;無效。解決辦法:border: 0; 或者給input重置下背景。
二十三:在IE六、7下,輸入類型表單控件輸入文字的時候,背景圖片會跟着一起移動。解決辦法:方法一:給背景圖片添加fixed屬性,可是這種方法在IE7下,背景圖片有些錯位。方法二:把背景圖片加給父級,而後把input本身的背景設置爲background: none;
二十四:png問題。IE6不支持png透明背景的圖片。解決辦法:引入js文件DD_belatedPNG
條件註釋語句
下面這一段條件註釋代碼,IE6-9均可以解析出其中的內容,IE10以及其餘標準瀏覽器則做爲註釋處理,不會在頁面上顯示。
<!--[if IE]> 這是IE <![end if]-->
條件註釋語句還有如下幾種寫法:
<!--[if IE 9]> 這是IE9 <![end if]-->
<!--[if IE 8]> 這是IE8 <![end if]-->
<!--[if IE 7]> 這是IE7 <![end if]-->
<!--[if IE 6]> 這是IE7 <![end if]-->
css hack
針對不一樣的瀏覽器寫不一樣的css樣式的過程,就叫css hack!
遠離CSS hack,有益身心健康!
\9 IE10以前的IE瀏覽器解析
星號*和加號+是IE7以及以前的IE瀏覽器解析
_ 下劃線是IE6以及IE6以前的IE瀏覽器解析
針對chrome的css hack:@media screen and (-webkit-min-device-pixel-ratio: 0) {}
用css hack解決IE6的png問題(原生的CSS辦法,無法設置背景圖片大小,也無法平鋪):
.box {width: 400px; height: 400px; background:url(img/png.png); _background: none; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="img/png.png", sizingMethod="crop");
樣式優先級、提高樣式優先級
在IE6下,在important後面加一條一樣的樣式,會破壞掉important的提高優先級做用,會按照默認的優先級順序來走。
聖盃佈局(雙飛翼佈局)
左右寬度固定,中間寬度自適應伸縮,而且中間先加載
<div class="center"></div>
<div class="left"></div>
<div class="right"></div>
body {margin: 0} .center {height: 600px; background: #f60; margin: 0 200px;} .left {width: 200px; background: #fc0; height: 600px; position: absolute; left: 0; top: 0} .right {width: 200px; background: #fcc; height: 600px;position: absolute; left: 0; top: 0}
等高佈局
<div class="wrap">
<div class="left"></div>
<div class="right"></div>
</div>
body {margin: 0} .wrap {width: 900px; margin: 0 auto; overflow: hidden;} .left {width: 200px; background: red; float: left; padding-bottom: 10000px; margin-bottom: -10000px;} .right {width: 700px; background: blue; float: right; padding-bottom: 10000px; margin-bottom: -10000px;}
IE6下使用margin負值的爲題
在IE6下使用margin負值,超出邊界的部分會被截掉。解決方法是爲這些元素添加相對定位便可。
<img src="bigptr.jpg" usemap = "#Map" />
<map name = "Map">
<area shape = "circle" coords = "378, 132, 56" href = "http://www.baidu.com">
<area shape = "rect" coords = 462, 157, 566, 217" href = "http://www.google.com">
<area shape = "poly" coords = "227, 251, 186, 220, 168, 221 ..." href = "http://www.qq.com">
</map>
把圖片src裏面的地址用data uri代替
在線工具: http://dancewithnet.com/lab/2009/data-uri-mhtml/create/1376100722.php
iframe外聯框架。如今已經不太用了。
<iframe src="http://www.baidu.com" width="1200" height="600" frameborder = "0" scrolling="no"></iframe>
<object>
<embed src="1.swf" width="400" height="400"></embed>
</object>
<object>
<param name="wmode" value="transparent">
<embed src="1.swf" width="400" height="400" wmode="transparent"></embed>
</object>
在HTML5中:
<video></video>
若是要兼容IE的話,要用flash來作。經常使用的兩種方法:
文字溢出顯示省略號,有三個樣式設置缺一不可:一,給元素添加寬度width。2、設置overflow: hidden。3、white-space: nowrap。三個條件齊備以後,設置text-overflow: ellipsis纔會其效果。給元素添加寬度是爲了兼容IE6.在標準瀏覽器下,不給元素添加寬度,也能夠。
可視寬高
怪異模式/怪異盒模型解析
文檔聲明沒有寫或者寫錯,在IE六、七、8的盒模型解析就會進入怪異模式。
(可視高和元素的內容高同理。)
兩種方法:
IE6不支持固定定位。那麼在IE下用絕對定位模擬固定定位的第一種方法以下:
<div class="box">
<div class="div"></div>
</div>
html {height: 100%; overflow: hidden;} body {margin: 0; height: 100%; overflow: auto;} .box {height: 2000px;} .div {width: 100px; height: 100px; background: red; position: absolute; left: 100px; top: 100px;}
上述代碼中,絕對定位的.div是根據html的父級也就是document來定位的。本來滾動條是在document上的。可是html設置了overflow: hidden;,所以就把document上的滾動條hidden掉了;而後在body上加了overflow: auto; 滾動條跑到了body身上。所以滾動滾動條的時候,滾動的是body,document的位置不變,所以依據document進行絕對定位的.div看起來就好像是固定定位的效果。
以上方法也是存在問題的。
模擬固定定位的第二種方法:
<div class="box">
<div class="div"></div>
</div>
.box {height: 2000px;} .div {width: 100px; height: 100px; background: red; position: fixed; left: 100px; top: 100px; _position: absolute; _top: expression(eval(document.documentElement.scrollTop+100));}
第一種方法:
<div class="box">
<img src="bigptr.jpg /><span></span> </div>
.box {width: 800px; height: 600px; border: 2px solid #000; text-align: center;} span {display: inline-block; height: 100%; vertical-align: middle;} img {vertical-align: middle;}
第二種方法:
<div class="box">
<span><img src="bigptr.jpg /></span> </div>
不考慮兼容的話,可使用:
.box {width: 800px; height: 600px; border: 2px solid #000; display: table;} span {display: table-cell; text-align: center; vertical-align: middle;}
考慮IE六、7兼容,則要寫成:
.box {width: 800px; height: 600px; border: 2px solid #000; display: table; position: relative; overflow: hidden;} span {display: table-cell; text-align: center; vertical-align: middle; *position: absolute; left:50%; top: 50%;} img {*position: relative; vertical-align: top; left: -50%; top: -50%}
li的裏面分爲左右兩塊元素,右邊元素一直跟在左側內容後邊並距左側元素10px間距。左側元素寬度由左側內容撐開。若是左右兩側內容總寬度超出了li寬度,就把左側多出的文字隱藏掉。
<ul class="list">
<li>
<p>
<a href="#">文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字</a>
<span>文字</span>
</p>
</li>
<li>
<p>
<a href="#">文字文字文字文字文字文字</a>
<span>文字</span>
</p>
</li>
<li>
<p>
<a href="#">文字文文字</a>
<span>文字</span>
</p>
</li>
</ul>
.list {width: 300pxp; margin: 0; padding: 0; list-style: none;} li {height: 30px; font-size: 12px; line-height: 30px; border: 1px solid #000; overflow: hidden;vertical-align: top;} span {padding: 10px;width: 40px; position: absolute; right: 0; top: 0;} p {margin: 0; float: left; padding-right: 50px; position: relative;}
樣式重置
body, h1, h2, h3, h4, h5, h6, p, dl, dd, ul, ol, pre, form, input, textarea, th, td, select {margin: 0; padding: 0;} em {font-style: normal;} li {list-style: none;} a {text-decoration: none;} img {border: none; vertical-align: top;} table {border-collapse: collapse;} textarea {resize: none; overflow: auto;}
最好不要寫成:
<div class="wrap">
<div class="header"></div>
<div class="nav"></div>
<div class="main"></div>
<div class="footer"></div>
</div>
瀏覽器解析是從上往下解析,碰到一個標籤就把裏面的標籤所有加載而後再顯示在頁面上。若是把body裏面全部內容都包在一個div裏面,那麼若是頁面很長的話,瀏覽器顯示的頁面會很長時間什麼也顯示不出來,而後忽然全部內容冒出來了,效果很差。
最好分開來寫:
<div id="header">
<div class="header wrap"></div>
</div>
<ul id="nav" class="wrap"></ul>
<div id="picTab" class="wrap">
<div class="picTab wrap"></div>
</div>
<div id="whyQQ" class="wrap"></div>
<div id="main" class="wrap"></div>
<div id="footer" class="wrap"></div>
而後給加了wrap類的內容加樣式,寬960居中。
標籤頁上的小圖標的製做
用ico在線製做工具
< link href=」favicon.ico」 rel=」icon」 />
【轉載】HTML+CSS基礎筆記原文地址:http://fantaghiro.github.io/study/2014/07/30/HTML-CSS-Basics.html