您好,登錄后才能下訂單哦!
按照text-overflow: ellipsis;使用規則,在標簽樣式中添加該屬性未生效,例如:
寫道
.text {
text-overflow: ellipsis;
}
<div class="text">長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字</div>
之后,發現并沒有達到我們想要的預期效果,其實還需要另外2個CSS屬性的支持:
寫道
.text {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
<div class="text">長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字</div>
其中,white-space是設置文本不換行,overflow設置標簽超出部分自動隱藏,另外提醒,該CSS屬性在某些瀏覽器上不生效,如果不需要照顧不兼容的瀏覽器,比如IE,可以放心大膽使用。
當把text-overflow設為ellipsis時文本溢出內容就能顯示為省略標記,而設為clip時就能把文本溢出的部分裁切掉,不過在表格里面使用text-overflow后依舊不能隱藏超出的文本,具體解決方法祥看本文
在w3cschool中css3中有個文本相關的屬性text-overflow,當把它設為ellipsis時文本溢出內容就能顯示為省略標記,而設為clip時就能把文本溢出的部分裁切掉,當然,前提是設置好兩個屬性,那就是white-space:nowrap(強制文本在一行內顯示)及overflow:hidden(溢出內容為隱藏),也就是要同時有
代碼如下:
{
text-overflow:ellipsis或clip;
white-space:nowrap;
overflow:hidden;
}
因為之前有用過不少次這個屬性,而且用得也都很順利,所以最近在弄一些table的時候遇到了td內的內容太多而出現換行從而影響整體的美觀的問題,所以我想把文本不換行而且讓超出的文本能顯示為省略號,于是我就很自然的就去用了上面那三屬性并且也為td設置了長度和寬度,結果神了奇,一直沒把超出的文本內容給換成省略號,嘗試排除了各種我覺得有可能的影響后依舊不能解決,于是我只好去google一下,后來終于找到了原因,就是要在table的樣式里定義一個屬性 table-layout:fixed,綜上,要想解決表格里面使用text-overflow后依舊不能隱藏超出的文本的問題,就必須完整的使用下面這些屬性
代碼如下
td{
text-overflow:ellipsis或clip;
white-space:nowrap;
overflow:hidden;
width:**px;
}
table{
table-layout:fixed;
}
還有如果想鼠標移動上去時顯示被隱藏的文本內容,還可以設置
代碼
td:hover
{
text-overflow:inherit;
overflow:visible;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。