css hide text

在設計按鈕/連結想隱藏文字的時候,一般來說只要用text-indent:-9999px;把字拋出去就可,
但在舊版瀏覽器上實際測試,按鈕上會出現一個很小很小的點點,看來似乎無法作用。
拜Google大神後找到以下幾種方式:

1. 加入這三行:
color: transparent; /* 文字透明化 */
text-transform: uppercase; /* 屬性值是capitalize, lowercase也可以~inherit跟none可就不行囉 */
text-indent: -9999px;

2. 一樣三行:
font-size: 0; /* 主流瀏覽器只要這一行就搞定 */
line-height: 80px; /* 只要高於按鈕本身高度一些就好 */
overflow: hidden; /* 溢出時隱藏 */

3. display: none; /* 隱藏顯示。但…這樣就全部藏起來了啦!XD*/
這個方式不利SEO,請斟酌使用~

4. 針對單行文字:
text-indent:-9999px;
white-space:nowrap; /* 禁止文字自動換行 */
line-height:0; /* 行高歸零 */

5. 區塊溢出文字隱藏:
display:block;/* 定義為區塊元素 */
overflow:hidden; /* 溢出隱藏 */
width:0;
height:0;

6. 這是…各家作法集大成吧(誤):
font-size: 0; /* 文字大小歸零 */
display:block; /* 定義為區塊元素 */
line-height: 0; /* 行高歸零 */
overflow: hidden; /* 溢出隱藏 */
text-indent: -9999px;

7. 全部弄成0:
line-height:0;
font-size:0;
overflow:hidden; /* 溢出隱藏 */

8. 文字部份多包一個標籤,再把該標籤隱藏:
visibility: hidden; /* 元素不可見 */

9. 絕對定位 + 負值,使文字不出現在可視區:
positon:absolute; /* 絕對位置 */
margin-top:-9999px;
margin-left:-9999px;

以下測試頁都加入寬度、高度以及背景色方便看呈現結果:
點我看jsfiddle測試頁
jsfiddle好好用…但用 IE7 打開發現是杯具…歎氣
jsfiddle-in-ie7
點我看html測試頁

測試部份若有錯誤之處,請不吝指正>////<有更好的方法也歡迎提供!

css出處:
CSS實例:常用的CSS隱藏文字的方法-CSS布局實例
IE Hack – Hide Text on your Submit Buttons

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Time limit is exhausted. Please reload the CAPTCHA.