單行文本溢出是最多見的一種形式,使用text-overflow的ellipsis便可實現點點點,overflow屬性也不可少,同時不能讓容器換行,不然不會出現點點點css
.ellipsis { width: 300px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
隨着內容的增多,單行文本不夠用了,多行文本纔是用的最多的地方。四個屬性缺一不可,最重要的是-webkit-line-clamp,直接定義了要顯示的行數,html
.ellipsis { width: 300px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; /* 自定義的行數 */ overflow: hidden; }
點點點是最多見的溢出省略方式,可是21世紀的設計師已經不知足使用點點點的方式來實現省略了,他們還須要在尾部顯示更多按鈕,點擊以後顯示所有內容。這個時候就須要想辦法了,下面的終極方案實在是精彩,請移步這裏,聆聽大神講解,css3
//dom結構 <div class="ellipsis"> <div class="ellipsis-container"> <div class="ellipsis-content">騰訊成立於1998年11月,是目前中國領先的互聯網增值服務提供商之一。成立10多年來,騰訊一直秉承「一切以用戶價值爲依歸」的經營理念,爲億級海量用戶提供穩定優質的各種服務,始終處於穩健發展狀態。2004年6月16日,騰訊控股有限公司在香港聯交所主板公開上市(股票代號700)。</div> <div class="ellipsis-ghost"> <div class="ellipsis-placeholder"></div> <div class="ellipsis-more">...更多</div> </div> </div> </div>
.ellipsis { position: relative; width: 100%; max-height: 55px; /* h*n */ line-height: 18px; /* h */ overflow: hidden; width: 300px } .ellipsis-container { position: relative; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; /* n */ font-size: 50px; /* w */ color: transparent; } .ellipsis-content { color: #000; display: inline; vertical-align: top; font-size: 16px; /* f */ } .ellipsis-ghost { position:absolute; z-index: 1; top: 0; left: 50%; width: 100%; height: 100%; color: #000; } .ellipsis-ghost:before { content: ""; display: block; float: right; width: 50%; height: 100%; } .ellipsis-placeholder { content: ""; display: block; float: right; width: 50%; height: 55px; /* h*n */ } .ellipsis-more { position: relative; float: right; font-size: 16px; /* f */ width: 50px; /* w */ height: 18px; /* h */ margin-top: -18px; /* -h */ color: red }