一.瀏覽器默認樣式
有個網站(http://www.iecss.com/)總結了IE6/7/8/9,FF3.6.3,webkit(r7042),opera10.51的默認樣式,熟悉一下可以讓我們更好的明白一些書寫CSS過程中的差異。
熟悉這些之后可以明白:
1. 使用CSS reset的原因;
2. *{margin:0;padding:0;}一刀切的做法為什么不提倡;
3. 網上廣泛流傳的CSS reset為什么也有人不提倡。
從對比圖可以看出,部分標簽其實是沒有margin或者padding的。其中又有些標簽一般是很少用到的,就算用到了,一般也會特殊定制。對於一般的應用,簡單的css reset(按需)就可以了。比如:
1 body,p,dl,dd,h1, h2, h3, h4, h5, h6,form{ margin: 0; }
2 ul,ol,input,fieldset{ margin: 0; padding: 0; }
3 ul,ol{list-style-type: none;}
4 img{ border: 0; }
5 option,em{ font-style:normal}
6 a{ text-decoration: none; color: #c9c9c9;}
7 a:hover{ text-decoration: underline; color: #31c8e1;}
另外,直接翻看webkit的默認樣式表,查找input:focus就可以知道為什么chrome的input框選中之后默認有一圈黃色邊框
要去掉直接重置就可以了。
1 input,textarea{ outline:none; }
2 textarea{ resize:none;} //這個是去掉textarea默認的大小拖動
至於查看瀏覽器的默認樣式,IE不清楚,FF下網上有個方法是resource://gre/res/html.css,不過這個貌似只能在4.0之前的版本看,4.0之后的版本被打包到安裝目錄的omni.jar里面,解壓之后才可以看。webkit和opera的暫不知道···
二.用戶樣式
CSS的來源有三種:
1、user agent stylesheet 用戶代理的默認CSS(就是瀏覽器默認的CSS);
2、author style sheets 開發人員定義的CSS(前端開發人員寫的external-style,embeded-style,inline-style);
3、user style sheets 用戶自定義的CSS(用戶自己寫的)。
優先級如下,由上至下依次增高:
user agent stylesheet
user declarations (normal)
author declarations (normal)
author declarations (!important)
user declarations (!important)
前面兩種可能用得比較多,第三種一般人也不會去設置,開發人員更不會設置,不過作為學習,個性化自己的瀏覽器或者整人的時候,倒是可以一用。
測試的時候最好加上!important后綴。
注意:下面各瀏覽器的設置可能應為版本的不同而略有不同,自己摸索,大同小異!
Firefox:
菜單->幫助->故障排除信息->應用程序摘要->顯示文件夾
會打開形如Mozilla\Firefox\Profiles\79it7qoh.default的文件夾,在下面建立一個名為chrome的文件夾,然后新建名為userContent.css的樣式表,在里面定義自己的CSS,重啟Firefox之后才能生效(這也是Firefox最讓人無語的地方)。操作如下圖
圖一
圖二
Chrome:
對於WIN7用戶來說,用戶自定義樣式表在形如C:\Users\AppData\Local\Google\Chrome\User Data\Default\User StyleSheets的文件夾下面(根據你自己chrome瀏覽器安裝路徑決定,如果看不到AppData文件夾就應該設置“顯示隱藏文件”),一般這個不用自己新建,下面有個文件叫做Custom.css,寫入用戶自定義的CSS。對於chrome來說,可以即時生效,刷新都免了。
Opera:
菜單->設置->首選項->高級->內容->樣式選項->我的樣式表
貌似不用重啟,不過重啟保險一下。
IE:
菜單->internet選項->常規->輔助功能
下圖是IE9的例子,設置后立即生效,不過和chrome的保存css文件即時生效不一樣。
Safari(win):
菜單(設置)->偏好設置->樣式表
保存后生效。