解决text-overflow: ellipsis;不生效的问题
按照text-overflow: ellipsis;使用規(guī)則,在標(biāo)簽樣式中添加該屬性未生效,例如:
寫道
.text {
text-overflow: ellipsis;
}
<div class="text">長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字</div>
之后,發(fā)現(xiàn)并沒有達(dá)到我們想要的預(yù)期效果,其實還需要另外2個CSS屬性的支持:寫道
.text {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
<div class="text">長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字長文字</div>
其中,white-space是設(shè)置文本不換行,overflow設(shè)置標(biāo)簽超出部分自動隱藏,另外提醒,該CSS屬性在某些瀏覽器上不生效,如果不需要照顧不兼容的瀏覽器,比如IE,可以放心大膽使用。當(dāng)把text-overflow設(shè)為ellipsis時文本溢出內(nèi)容就能顯示為省略標(biāo)記,而設(shè)為clip時就能把文本溢出的部分裁切掉,不過在表格里面使用text-overflow后依舊不能隱藏超出的文本,具體解決方法祥看本文
在w3cschool中css3中有個文本相關(guān)的屬性text-overflow,當(dāng)把它設(shè)為ellipsis時文本溢出內(nèi)容就能顯示為省略標(biāo)記,而設(shè)為clip時就能把文本溢出的部分裁切掉,當(dāng)然,前提是設(shè)置好兩個屬性,那就是white-space:nowrap(強制文本在一行內(nèi)顯示)及overflow:hidden(溢出內(nèi)容為隱藏),也就是要同時有
{
text-overflow:ellipsis或clip;
white-space:nowrap;
overflow:hidden;
}
因為之前有用過不少次這個屬性,而且用得也都很順利,所以最近在弄一些table的時候遇到了td內(nèi)的內(nèi)容太多而出現(xiàn)換行從而影響整體的美觀的問題,所以我想把文本不換行而且讓超出的文本能顯示為省略號,于是我就很自然的就去用了上面那三屬性并且也為td設(shè)置了長度和寬度,結(jié)果神了奇,一直沒把超出的文本內(nèi)容給換成省略號,嘗試排除了各種我覺得有可能的影響后依舊不能解決,于是我只好去google一下,后來終于找到了原因,就是要在table的樣式里定義一個屬性 table-layout:fixed,綜上,要想解決表格里面使用text-overflow后依舊不能隱藏超出的文本的問題,就必須完整的使用下面這些屬性
代碼如下
td{
text-overflow:ellipsis或clip;
white-space:nowrap;
overflow:hidden;
width:**px;
}
table{
table-layout:fixed;
}
還有如果想鼠標(biāo)移動上去時顯示被隱藏的文本內(nèi)容,還可以設(shè)置
代碼
td:hover
{
text-overflow:inherit;
overflow:visible;
}
轉(zhuǎn)載于:https://blog.51cto.com/2096101/2135998
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的解决text-overflow: ellipsis;不生效的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dagger2 + MVP示例
- 下一篇: 配置Tomcat监听80端口配置Tomc