1:li 邊距「無端」增長css
任何事情都是有緣由的,li
邊距也不例外。
先描述一下具體情況:有些時候li邊距會忽然增 加不少,值也不固定(只在IE6/IE7有這種現象),讓人摸不着頭腦,仔細「研究」發現是因爲其 低級元素ul
的padding
引 起,padding
的上下值對li
有影響,左右無影 響。因此只好笨手笨腳地把padding
去掉,換成margin
。 這是能解決問題,但每每不是咱們想要的結果,或許 還會引發其餘沒必要要的怪現象。html
如今終於發現解決這個問題的方法,其實很簡單,既然是有ul
引 起的,就設置ul
的顯示形式爲*display:inline-block;
便可,前面加*
是隻 針對IE6/IE7
有效,其餘瀏覽器並不渲染這個屬性。express
2:分頁數字 字體用「Arial 」加粗不抖動瀏覽器
CSS:ide
body, ul, h1 { font-family:Arial; font-size:12px; } .page { text-align:center; } .page a { display:inline-block; padding:5px 8px; text-decoration:none; border:1px solid #09F; background-color:#0CF; color:#FFF; } .page a:hover, .page .selected { border:1px solid #CCC; background-color:#FFF; color:#000; font-weight:bold; }
HTML:佈局
<h1>分頁樣式</h1> <div class="page"> <a href="#">1</a> <a href="#"class="selected">2</a> <a href="#">3</a> <a href="#">4</a> <a href="#">5</a> <a href="#">6</a> <a href="#">7</a> <a href="#">8</a> <a href="#">9</a> <a href="#">10</a> </div>
3:IE6 CSS選擇器區分IE6
IE6不支持子選擇器;先針對IE6使用常規申明CSS選擇器,而後再用子選擇器針對IE7+及其餘瀏覽器。
/IE6 專用 /字體
.content {color:red;}
/ 其餘瀏覽器 /this
div>p .content {color:blue;}
4:IE6最小高度IE6
不支持min-height
屬性,但它卻認爲height
就是最小高度。解決方法:
使用IE6
不支持但其他瀏覽器支持的屬性!important
。google
#container{min-height:200px; height:auto !important; height:200px;}
5:IE6100% 高度
在IE6
下,若是要給元素定義100%
高度,必需要明肯定義它的父級元素的高度,若是你須要給元素定義滿屏的高度,就得先給html
和body
定義height:100%;
spa
6:IE6躲貓貓bug
在IE6
和IE7
下,躲貓貓bug
是一個很是惱人的問題。一個撐破了容器的浮動元素,若是在他以後有不浮動的內容,而且有一些定義了:hover
的連接,當鼠標移到那些連接上時,在IE6
下就會觸發躲貓貓。
解決方法很簡單:
- 在(那個未浮動的)內容以後添加一個
<span style="clear: both;"> </span>
- 觸發包含了這些連接的容器的
hasLayout
,一個簡單的方法就是給其定義height:1%
;
7:IE6絕對定位元素的1像素間距bugIE6
下的這個錯誤是因爲進位處理偏差形成(IE7
已修復),當絕對定位元素的父元素高或寬爲奇數時,bottom
和right
會產生錯誤。惟一的解決辦法就是給父元素定義明確的高寬值,但對於液態佈局沒有完美的解決方法。
8: IE下z-index的bug
在IE
瀏覽器中,定位元素的z-index
層級是相對於各自的父級容器,因此會致使z-index
出現錯誤的表現。
解決方法:
其父級元素定義
z-index
,有些狀況下還須要定義position:relative
9: Overflow Bug
在IE6/7
中,overflow
沒法正確的隱藏有相對定位position:relative;
的子元素。
解決方法:
給外包容器
.wrap
加上position:relative;
。
10: 橫向列表寬度bug
若是你使用float:left;
把<li>
橫向擺列,而且<li>
內包含的<a>
(或其餘)觸發了 hasLayout
,在IE6
下就會有錯誤的表現。
解決方法:
給
<a>
定義一樣的float:left
;
11: 列表階梯bug
列表階梯bug一般會在給<li>
的子元素<a>
使用float:left;
時觸發,咱們本意是要作一個橫向的列表(一般 是導航欄),但IE
卻可能呈現出垂直的或者階梯狀。
解決辦法:
給
<li>
定義float:left;
而非子元素<a>
,或者 給<li>
定義display:inline;
也能夠解決。
12: 垂直列表間隙bug
當咱們使用<li>
包含一個塊級子元素時,IE6
(IE7
也有可能)會錯誤地給每條列表元素(<li>
)之間添加空隙。
解決方法:
方法1:
.clear{clear:both;}
清除float
來解決這個問題;
方法2:觸發<a>
的hasLayout
(如定 義高寬、:使用zoom:1;
);
方法3:給<li>
定義display:inline
;來解決此問題;另外還有一個極有趣的方法,給包含的文本末尾添加一個空格。
13: IE6調整窗口大小的 Bug
當把body
居中放置,改變IE
瀏覽器大小的時候,任何在body
裏面的相對定位元素都會固定不動了。
解決辦法:
給
body
定義position:relative
;
14: 文本重複Bug
在IE6
中,一些隱藏的元素(如註釋、display:none;
的元素)被包含在一個浮動元素裏,就有可能引起文本重複bug。
解決辦法
給浮動元素添加
display:inline;
15:如何去掉點擊連接時的虛線
在 CSS 中加入以下代碼:
:focus{{ouline:0;} a,a:hover{outline:none; blur:expression(this.onFocus=this.blur());}
16:css reset中的list-style:none
在IE6,7
下
1)當ul
不具備float:left;display:inline;
時,
不管有沒有list-style:none
這個屬性,列 表符都被隱藏,不佔位置
2)當ul
具備float:left;display:inline;
屬性時,list- style:none,
列表符被隱藏,可是仍然留有位置(list-style-position:inside);
未設置list-style:none;
列表符被隱藏,也不佔位(list-style-position:outside)
在firefox
中只要list-style-type爲none
,則 不管list-stype-position
的值爲outside
或inside
, list-style
都能很好的被隱藏
而在IE6,7
中,僅 設置list-style:none,
並不足以解決全部問題
在
css reset
的時候使用list-style:none outside none
更好
17: IE6
中僞類:hover
的使用及Bug
之前不曾遇到相似的問題,一番google,才知道這是IE6
處理CSS
僞類:hover
的Bug
。例如以下的代碼:
a {color: #333;} a span {color: green;} a:hover {} a:hover span {color: red; } <a href=」http://www.taobao.com「> 淘寶網 <span> 淘你喜歡 </span></a>
在IE7/FF
中,鼠標移動到連接上時,」淘你喜歡」字樣會變爲紅色,但IE6
則無反應。因此IE6
的bug
就是若是a
與 a:hover
的css
定義是同樣的,也就是說若是a:hover
中沒有樣式的改變,hover
就不會被觸發。但若是在a:hover{}
增長一些特定的屬性,例如
a:hover{border:none;}
或者
a:hover{padding:0;}
又或者
a:hover{background: none;}
此時hover就能夠觸發了。
18:去掉button按鈕左右兩邊的留白
input,button{overflow:visible;padding:0;}
<input type="submit" name="button" id="button" value="左右留白的解決方法" />
19:中文字體在css中的寫法
黑體
SimHei\9ED1\4F53
黑體 宋體SimSun\5B8B\4F53
宋體
新宋體NSimSun\65B0\5B8B\4F53
新宋體 仿宋FangSong\4EFF\5B8B
仿宋
楷體KaiTi\6977\4F53
楷體
微軟正黑體Microsoft JhengHei\5FAE\x8F6F\6B63\9ED1\4F53
微軟正黑體
微軟雅黑Microsoft YaHei\5FAE\8F6F\96C5\9ED1
微軟雅黑 幼圓YouYuan\5E7C\5706
幼圓
20:IE6
下css
實現max/min-width/height
_width:expression(this.width>300?"300px":ture); max-width:300px; _height:expression(this.height>300?"300px":ture); max-height:300px;