CSS框架有哪些比較重要的理解_CSS框架如何理解
互聯(lián)網(wǎng)行業(yè)已經(jīng)發(fā)展了多年,瀏覽器也從最早流行的NS到現(xiàn)在的FF3.IE7等等。。。下面由學(xué)習(xí)啦小編為大家整理的CSS框架的理解,希望大家喜歡!
CSS框架的理解
一、CSS框架之利:
1、開(kāi)發(fā)效率的提高。
如果你是一個(gè)企業(yè)建站的前端開(kāi)發(fā),相信在大部分時(shí)間里進(jìn)行著同類站點(diǎn)的代碼工作。定義好的框架可以大大提高你的工作效率,避免一些常見(jiàn)的錯(cuò)誤。如果你的工作是按件計(jì)費(fèi)的,你的報(bào)酬一定會(huì)比別人多。
2、規(guī)范代碼命名。
在多個(gè)站點(diǎn)中你可能會(huì)用到一些同樣的CLASS或ID。如果你有一套完善的css框架,很快你就能對(duì)你的每一個(gè)站點(diǎn)的代碼進(jìn)行通讀。不用浪費(fèi)時(shí)間在代碼的閱讀上。
3、更好的團(tuán)隊(duì)合作
有些公司會(huì)將一些稍大的站點(diǎn)的前端代碼分成若干子項(xiàng)目。有過(guò)此類經(jīng)驗(yàn)的朋友應(yīng)該對(duì)這種開(kāi)發(fā)方式深感郁悶,要注意公用css,還有注意相互之間的代碼配合。久而久之,廢棄代碼越來(lái)越多,互相之間也難以閱讀。如果建立好合適的CSS框架,大家可以減少很多不必要的錯(cuò)誤,提升產(chǎn)品質(zhì)量和工作效率。
4、解決瀏覽器的兼容性問(wèn)題
現(xiàn)在大部分項(xiàng)目都要求兼容IE6,7和FF。每個(gè)站點(diǎn)可能都會(huì)花上一部分時(shí)間去處理兼容問(wèn)題。在框架層面上就將這個(gè)問(wèn)題處理好。就可以為后面的兼容問(wèn)題節(jié)省下大部分時(shí)間。
5、一套完整的、結(jié)構(gòu)清晰的結(jié)構(gòu)代碼。
CSS框架為你的項(xiàng)目提供一個(gè)干凈、嚴(yán)謹(jǐn)?shù)幕A(chǔ)架構(gòu)。通過(guò)它你可以快速的為你的站點(diǎn)搭建基礎(chǔ)的html代碼框架。萬(wàn)事開(kāi)頭難,前面的基礎(chǔ)工作做好了。后面的開(kāi)發(fā)速度會(huì)提高很多。
CSS框架為你的項(xiàng)目提供一個(gè)干凈、嚴(yán)謹(jǐn)?shù)幕A(chǔ)架構(gòu)。通過(guò)它你可以快速的為你的站點(diǎn)搭建基礎(chǔ)的html代碼框架。萬(wàn)事開(kāi)頭難,前面的基礎(chǔ)工作做好了。后面的開(kāi)發(fā)速度會(huì)提高很多。
二、CSS框架之弊:
1、你需要完全的理解整套框架
每一個(gè)加入項(xiàng)目的人,都需要花一定的時(shí)間去完全的理解整套框架及編碼規(guī)范;
2、你會(huì)延續(xù)一些框架中的錯(cuò)誤bug
沒(méi)人可以保證自己制定的框架是完美而沒(méi)有bug的。你可能會(huì)需要時(shí)間去清理框架中的bug;
3、限制開(kāi)發(fā)思路
框架給出大家基本的架構(gòu)及開(kāi)發(fā)的思路,這可能會(huì)限制你對(duì)產(chǎn)品開(kāi)發(fā)的新思路;
4、臃腫的源代碼
框架中可能有很大一部分代碼不會(huì)經(jīng)常用到,而且還會(huì)降低執(zhí)行效率;
5、框架的語(yǔ)義化
我們已經(jīng)注意到了HTML代碼的語(yǔ)義化。但基于框架的每個(gè)站點(diǎn)都是獨(dú)立唯一的,我們很難去保證CSS框架的語(yǔ)義化。
常見(jiàn)CSS的錯(cuò)誤解析
1. 檢查HTML元素是否有拼寫(xiě)錯(cuò)誤、是否忘記結(jié)束標(biāo)記
即使是老手也經(jīng)常會(huì)弄錯(cuò)div的嵌套關(guān)系??梢杂胐reamweaver的驗(yàn)證功能檢查一下有無(wú)錯(cuò)誤。
2. 檢查CSS是否正確
檢查一下有無(wú)拼寫(xiě)錯(cuò)誤、是否忘記結(jié)尾的 } 等??梢岳肅leanCSS來(lái)檢查 CSS的拼寫(xiě)錯(cuò)誤。CleanCSS本是為CSS減肥的工具,但也能檢查出拼寫(xiě)錯(cuò)誤。
3. 確定錯(cuò)誤發(fā)生的位置
如果錯(cuò)誤影響了整體布局,則可以逐個(gè)刪除div塊,直到刪除某個(gè)div塊后顯示恢復(fù)正常,即可確定錯(cuò)誤發(fā)生的位置。
4. 利用border屬性確定出錯(cuò)元素的布局特性
使用float屬性布局一不小心就會(huì)出錯(cuò)。這時(shí)為元素添加border屬性確定元素邊界,錯(cuò)誤原因即水落石出。
5. float元素的父元素不能指定clear屬性
MacIE下如果對(duì)float的元素的父元素使用clear屬性,周?chē)膄loat元素布局就會(huì)混亂。這是MacIE的著名的bug,倘若不知道就會(huì)走彎路。
6. float元素務(wù)必指定width屬性
很多瀏覽器在顯示未指定width的float元素時(shí)會(huì)有bug。所以不管float元素的內(nèi)容如何,一定要為其指定width屬性。
另外指定元素時(shí)盡量使用em而不是px做單位。
7. float元素不能指定margin和padding等屬性
IE在顯示指定了margin和padding的float元素時(shí)有bug。因此不要對(duì)float元素指定margin和padding屬性(可以在float元素內(nèi)部嵌套一個(gè)div來(lái)設(shè)置margin和padding)。也可以使用hack方法為IE指定特別的值。
8. float元素的寬度之和要小于100%
如果float元素的寬度之和正好是100%,某些古老的瀏覽器將不能正常顯示。因此請(qǐng)保證寬度之和小于99%。
9. 是否重設(shè)了默認(rèn)的樣式?
某些屬性如margin、padding等,不同瀏覽器會(huì)有不同的解釋。因此最好在開(kāi)發(fā)前首先將全體的margin、padding設(shè)置為0、列表樣式設(shè)置為none等。
10. 是否忘記了寫(xiě)DTD?
如果無(wú)論怎樣調(diào)整不同瀏覽器顯示結(jié)果還是不一樣,那么可以檢查一下頁(yè)面開(kāi)頭是不是忘了寫(xiě)DTD
CSS中em和px區(qū)別是什么
Font-size:1.5em;
其實(shí)在國(guó)外CSS編寫(xiě)中,使用em作為單位是很多的,一是人性化考慮,二是受到美國(guó)勞工部Section508法案的強(qiáng)行限制。那么在網(wǎng)頁(yè)設(shè)計(jì)中,常用到的度量單位一共有三種,分別是px/em/pt:
*px單位名稱為像素,相對(duì)長(zhǎng)度單位,像素(px)是相對(duì)于顯示器屏幕分辨率而言的,國(guó)內(nèi)的網(wǎng)站很多都是采用px作為單位的。
*em單位名稱為相對(duì)長(zhǎng)度單位。相對(duì)于當(dāng)前對(duì)象內(nèi)文本的字體尺寸。在國(guó)外使用的很多。眾多先進(jìn)瀏覽器【IE除外的基本都是】都支持字體調(diào)整。
*pt單位名稱為點(diǎn)(Point),絕對(duì)長(zhǎng)度單位,這個(gè)很老了,老到胡子都一把了。。基本沒(méi)有使用的了。
第一、em與px之間怎么換算?
*任意瀏覽器的默認(rèn)字體高度16px(16像素)。
*所有未經(jīng)調(diào)整的瀏覽器都符合:1em=16px。
*那么12px=0.75em,10px=0.625em。
為了簡(jiǎn)化font-size的換算,需要在css中的body選擇器中聲明font-size=62.5%,這就使em值變?yōu)?6px*62.5%=10px,這樣12px=1.2em,10px=1em,也就是說(shuō)只需要將你的原來(lái)的px數(shù)值除以10,然后換上em作為單位就行了。
第二、em單位有什么特點(diǎn)?
*em的值并不是固定的。
*em會(huì)繼承父級(jí)元素的字體大小。
我們?cè)趯?xiě)CSS的時(shí)候如果要用em為單位,需要注意兩點(diǎn):
*body選擇器中聲明Font-size=62.5%;
*將你的原來(lái)的px數(shù)值除以10,然后換上em作為單位;
*重新計(jì)算那些被放大的字體的em數(shù)值。避免字體大小的重復(fù)聲明。
也就是避免1.2*1.2=1.44的現(xiàn)象。比如說(shuō)你在#content中聲明了字體大小為1.2em,那么在聲明的字體大小時(shí)就只能是1em,而不是1.2em,因?yàn)榇薳m非彼em,它因繼承#content的字體高而變?yōu)榱?em=12px。