CSS控制文字超出部分顯示省略符號方法

來源:互聯網
上載者:User

測試瀏覽器: IE6/7/8/9、opera12.02、firefox15.0.1、chrome

 代碼如下 複製代碼

<p style="width:200px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">省略我吧 省略我吧! 省略我吧!省略我! </p>

如果我們要給p標籤定義text-overflow:ellipsis就可以這麼寫:

 代碼如下 複製代碼

p {
      white-space: nowrap;
      width: 100%;                  /* IE6 需要定義寬度 */
      overflow: hidden;            

      -o-text-overflow: ellipsis;    /* Opera */
      text-overflow:    ellipsis;    /* IE, Safari (WebKit) */
   }

現在解釋一下為什麼要這樣做:

1、text-overflow: ellipsis; 
這裡的重點樣式是  text-overflow: ellipsis; 

      不過話說text-ellipsis是一個特殊的樣式,有關解釋是這樣的:text-overflow屬性僅是註解,當文本溢出時是否顯示省略標記。並不具備其它的樣式屬性定義。要實現溢出時產生省略符號的效果還須定義:強制文本在一行內顯示(white-space:nowrap)及溢出內容為隱藏(overflow:hidden),只有這樣才能實現溢出文本顯示省略符號的效果。   簡單理解就是我要把文本限制在一行(white-space: nowrap;),肯定這一行是有限制的(width),並且你的溢出的部分要隱藏起來(overflow: hidden;),然後出現省略符號( text-overflow: ellipsis)。

2、white-space
順便解釋一下white-space的用法

       white-space屬性聲明建立版面配置階段中如何處理元素中空白符。(廢話一句,這裡的空白符應該指我們用鍵盤敲入的空格或斷行符號,因為用 或<br>無論white-space設定什麼都會有空格或斷行符號。)  


完全執行個體

 代碼如下 複製代碼

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>省略符號 test</title>
<style type="text/css">
*{
margin:0;
padding:0;
}
body{
padding:10px;
font-family:Arial;
}
#test {
position:relative;
width:150px;
height:20px;
line-height:20px;
text-overflow:ellipsis;
white-space:normal;
*white-space:nowrap;
overflow:hidden;
border:1px solid #999;
}
#test span{
position:absolute;
top:0;
right:0;
display:block;
float:left;
}
#test span:after{content:"...";}
</style>
</head>
<body>
<div id="test">小蝦奮鬥起來吧,加油加油加油加油加油加油<span></span></div>
</body>
</html>

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.