21:40:16 回來後真的好無聊, 剛PO完BLOG就發現了一個BLOG版面的老BUG, 就是上版頭BLOG標題在FX跟IE7看起來非常之正常, 但是, 在IE6就會被截掉一半, 以前對CSS完全不熟, 所以一直不會改, 現在不一樣了..哈哈..就開始改吧....

先來看HTML部份...

<div id="rap">
<div id="header">
<h1><a href="http://befun.520net.to/lover" accesskey="1"> 愛轉角的天空 Love Befun Blog</a></h1>
<p>
<p>
๑۩۞۩๑    總是為了擔心錯誤而猶豫~永遠無法實現自己的想法    ๑۩۞۩๑<br />
人們總是緬懷於過去而時常停下了自己的腳步<br />
如果說生命只有苦痛與悲傷..在跨越這一切後..是否還有其他的東西剩下來? 或許那便是真正活過的證明!!
</p>
</p>
</div>
</div>

找到控制的CSS是 rap 跟 header兩個區塊, 找到CSS設定如下(只列出有關聯的部份):

#rap {
line-height: 18px;
}
#header h1 a {
font-size: 1em;
}

問題在這, 因為font-size用 1em來設定, 在IE6上跟IE7及FX看起來大小是不一樣的(就是沒有使用Reset CSS), 而 rap 區塊內的每行高度又限定為18px, 所以當然被截斷, 而如果不限定 line-heigh , 又會每一行都變同樣大小而使版面錯亂, 而如果把 line-height 改成IE6看到的實際文字大小, 約為34px, 在FX及IE7上看起來又很不搭調, 嗯, 看來要用怪招了.....= =

想起了一個在學習CSS時的偏方, 就是如何用符號來分辦瀏覽器做CSS的小微調,  我記得以下符號代表不同意思!!

_line-height : 前面加 "_" 只有IE6可以解釋, FX及IE7看不懂.

*line-height : 前面加 "*" 只有IE7可以解釋, FX及IE6看不懂.

line-height : 前面都不加, 當然是三種都看得懂(廢話)...

所以嘍, 利用這個特點及CSS的先後宣告的優先順序, 我用這個例子來改...
首先FX跟IE7正常, 所以我要針對IE6修改, 而因為 RAP 區塊 line-height 的設定是影響上層設定, 所以我只要針對標題的 a  設定去改, 而且只能讓IE6看懂, 就變成如下結果:

#rap {
line-height: 18px;
}
#header h1 a {
 _line-height: 34px;
 font-size: 1em;
}

看吧, 結果都正常了, 就可以利用不同符號來表示不同意思, 而前面提到的優先順序的意思更簡單, 就是我可以先下 line-height:18px; 下一個全部都看得懂的設定項, 然後再依各瀏覽器能看得懂的符號跟著下新設定項, 這樣就會造成不同結果嘍, 請看:

#header h1 a {
 line-height: 20px;
 _line-height: 34px;
 *line-height: 24px;
 font-size: 1em;
}

這樣的意思是, 預設 line-height 為20px, 但另外用各自宣告 _ IE6為34px,* IE7為24px, 這樣子會了嗎, 是不是對這三種瀏覽器的微調方式來設計, 變得更加輕鬆了呢^^.....跟大家分享一下嘍..^^