有時候,我們會用圖片代替文字,最常用的就是用在input按鈕上。
以前,我都會用text-indent:-9999px將文字移到頁面外面,但這個方法在IE6下有個“bug”,不屬於塊元素的應用此css屬性後,此塊的內容也會消失,這時候需要將這塊內容設定為塊元素(display:block;).
最近,我習慣給一些固定長寬的元素使用line-height:999em進行移除文字,但這時候需要給此元素添加一個overflow:hidden進行截斷,否則此塊就會被line-height:999em拉得很高。
這個方法,我之前沒注意,以為這樣不會出問題,但今天我才意外地發現,如果用在input的按鈕上時,input的value值在Firefox瀏覽器下還是正常顯示,沒有受line-height:999em的影響。IE6和Google瀏覽器正常。
這時候,如果後端需要給這個按鈕的value存放一個值,這個方法就沒法用了,只能用回text-indent,但是呢,這時候這個元素不屬於塊元素,因為排版的問題,也不想進行改動,給其轉化為塊元素,那怎麼辦?只能是用這text-indent:-9999px;然後給IE6單獨指定一個_line-height:999em。雖然很??攏??倉荒苷庋?/p>
CSS隱藏多餘文字
(2)
line-height:0;
font-size:0;
overflow:hidden;
能完美“隱藏”掉你background之上的字型
經測試 ie6.0 、 7.0 、8.0、firefox 3.010 通過
(3)
最方便的是加個span,然後display:none,而且這樣不會出bug。
遺憾的是,多了個標籤,迴圈中使用的話,html又多了一堆位元組,單個按鈕推薦這樣使用。
而針對input value的隱藏這個方式就有些吃力了
所以還是只能用block加text-indent來“位移”類比隱藏了
display:block;
font-size:0;
line-height:0;
text-indent:-9999px;
經測試 ie6.0 、 7.0 、firefox 3.010 通過
(4)
CSS?藏多餘文字??..
class="g_p_center g_t_right g_c_pdin g_h_20 c08" style="margin-bottom: 15px"> class="g_p_left"> > <div style="width:100px; white-space:nowrap;overflow:hidden;text-overflow:ellipsis; border:1px solid red">試試看,hi.baidu.com/commy,試試看,hi.baidu.com/commy,</div> class="g_blog_list"> class="g_t_center g_c_pdin g_p_center c07 content"> class="ns_content">
文法:
text-overflow : clip | ellipsis
參數:
clip : 不顯示省略標記(...),而是簡單的裁切
(clip這個參數是不常用的!)
ellipsis : 當對象內文本溢出時顯示省略標記(...)
說明:
設定或檢索是否使用一個省略標記(...)標示對象內文本的溢出。
請您注意,text-overflow:ellipsis屬性在FF中是沒有效果的。
樣本:
div { text-overflow : clip; }