編寫適合所有項目的通用的reset.css
互聯(lián)網(wǎng) 發(fā)布時間:2009-04-02 19:37:50 作者:佚名
我要評論
網(wǎng)頁制作Webjx文章簡介:本文就是來介紹如何寫一個合適所有項目的通用的reset.css,以及介紹在設置玩reset.css之后需要針對不同項目要首先要設置的內(nèi)容。
0、引言
每每有新項目,第一步就是應當使用一個reset.css來重置樣式
本文就是來介紹如何寫一個合適所有項目的通用的reset.css,以及介紹在設置玩reset.css之后需要針對不同項目要首先要設置的內(nèi)容。
3、padding和margin
曾經(jīng)一度流行的
* { margin: 0; padding: 0; }
也就是出于這個目的。讓各個元素的padding和margin都歸零,尤其是那些h1和p以及ul/ol/li之類的元素,還有,body本身也是有margin的。清除元素的padding和margin是很有用的。
YUI這樣做:
body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6, pre, code,
form, fieldset, legend, input, button,
textarea, p, blockquote, th, td {
margin: 0;
padding: 0;
}
而Eric這樣做:
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
可以看到,Eric把幾乎所有的元素都寫上了規(guī)則。而YUI只把有padding和margin的元素清空樣式,而其他元素則不動。我個人比較偏好YUI的做法,因為他這樣可以避免給一些無關元素帶上不必要的樣式。導致元素過多時的性能下降。但Eric的也有可取之處,他這樣寫,整個reset.css可以小上不少字節(jié),對服務器的壓力會小一些。但進一步想,這種做法跟用 * 來選擇所有元素還有什么區(qū)別呢?這已經(jīng)幾乎囊括了所有元素了!你怎么用呢?看你自己喜好了。
4、邊框
YUI里:
fieldset, img {
border: 0;
}
abbr, acronym {
border: 0;
font-variant: normal;
}
Eric已經(jīng)在上一條中把所有的邊框都清掉了,還是推薦用YUI的,理由同上。
5、外邊框(outline)
這個就是元素獲取焦點時的虛線框,在ie之外的瀏覽器上可以像下面Eric做的那樣,通過設置outline來消除。
/* remember to define focus styles! */
:focus {
outline: 0;
}
而YUI則沒有設置這一條。而在Eric的樣式中,可以看到Eric的提醒:務必重新定義獲取焦點后的樣式!
這點其實很重要,出于可訪問性的角度出發(fā),那些不便于使用鼠標的人基本上都是用tab導航來瀏覽網(wǎng)頁的。獲取焦點的元素有特定樣式的話可以極大幫助這類群體的用戶,通常建議設置成跟:hover一樣。經(jīng)常設計上會因為這個虛線框而大打折扣。因此這條保留在reset中,并且作為reset.css之后及早定義的規(guī)則。
另外,對于在Firefox之類的支持outline的瀏覽其中,除了獲取焦點的元素外,瀏覽器本身并沒有給元素設置outline屬性,所以,像Eric那樣把所有元素的outline設成0,我就覺得沒有太大必要了。
相關文章
- 每個瀏覽器都有一套CSS樣式表用于保證網(wǎng)頁正常顯示,為了精準寫出WEB頁面 通常一開始就重新定義標簽樣式,介紹兩個比較不錯的Reset.css 分別來自雅虎YUI和Eric Meyer2014-01-26
- 全局CSS想必大家并不陌生吧,主要就是一些基礎全局的樣式設置,提高書寫效率,本文整理了一些方便大家使用,感興趣的朋友可以了解下2013-09-12
- CSS樣式清除和重置是前端開發(fā)必需要做的事情,結(jié)合了前輩們的經(jīng)驗整理了一份CSS重置樣式代碼不敢獨享特此與大家分享下,感興趣的朋友可不要錯過了哈2013-05-20
CSS重置(CSS Reset) 讓網(wǎng)頁樣式在各瀏覽器中表現(xiàn)一致
CSS Reset是指重設瀏覽器的樣式,在各種瀏覽器中,都會對CSS的選擇器默認一些數(shù)值,譬如當h1沒有被設置數(shù)值時,顯示一定大小;有了CSS Reset,讓網(wǎng)頁的樣式在各瀏覽器中表現(xiàn)2012-12-21- reset.css本意就是重置樣式,我始終建議把.clearfix放入layout.css,而把h1、h2之類的定義放進typography.css2012-04-01
- 網(wǎng)頁制作Webjx文章簡介:Eric Meyer Reset和YUI Reset都是非常強大的,但是對于我而言,它們走的太遠了。我覺得你最終需要重置一切,然后重新定義所有元素的屬性。這就是為2009-04-02
- 這篇文章主要介紹了CSS樣式重置代碼,一般保存為reset.css修改了默認的css設置,方便布局與提高瀏覽器兼容性2014-06-11

