1.CSS樣式導(dǎo)入的方式有哪些?
- link:
<link href="index.css" rel="stylesheet">
- import:
<style type="text/css">
@import "index.css";
</style>
雖然都可以引入樣式株婴,但是也是有相異之處的:
1)link除了引用樣式文件,還可以引用圖片等資源文件,而import只引用樣式文件
2)link屬于XHTML標(biāo)簽困介,無兼容問題的大审,而@import是在CSS2.1提出來的,低版本瀏覽器不兼容的座哩。
2)link引入CSS樣式時徒扶,在頁面下載時就開始加載了;而@import需要在頁面完全下載后才開始加載(這樣會導(dǎo)致加載CSS頁面的時候開始沒有樣式根穷,會造成閃爍)
3)link支持使用JS控制DOM去改變樣式姜骡;而@import不支持的。
補充:@import的最優(yōu)寫法:
@import url(style.css)
2. ::before和:before的區(qū)別?
- 其實也區(qū)別不大的屿良,相同之處都是偽類對象圈澈,寫法上時等效的。
- 不同之處呢就是 尘惧,::before是在CSS2的寫法康栈,而:before是在CSS3提出來的!
:before的兼容性要比::before好 喷橙,不過在H5開發(fā)中建議使用::before比較好
3. 為什么要初始化樣式啥么?
- 因為瀏覽器的兼容問題,有的標(biāo)簽在不同的瀏覽器下默認(rèn)的值時不一樣的贰逾,這樣如果不初始化的話就會導(dǎo)致瀏覽器之間的頁面差異的悬荣。
但是呢,初始化的樣式對SEO會有一定的影響的似踱,所以力求影響最小的情況下初始化的- 附上淘寶的初始化代碼:
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, >fieldset, legend, button, input, textarea, th, td { margin:0; padding:0; } body, button, input, select, textarea { font:12px/1.5tahoma, arial, \5b8b\4f53; } h1, h2, h3, h4, h5, h6{ font-size:100%; } address, cite, dfn, em, var { font-style:normal; } code, kbd, pre, samp { font-family:couriernew, courier, monospace; } small{ font-size:12px; } ul, ol { list-style:none; } a { text-decoration:none; } a:hover { text-decoration:underline; } sup { vertical-align:text-top; } sub{ vertical-align:text-bottom; } legend { color:#000; } fieldset, img { border:0; } button, input, select, textarea { font-size:100%; }