我有一個容器,它包含兩部分文本:可變長度部分和靜態部分。與非截斷元素並排截取元素
我希望可變長度部分被截斷(a-la text-overflow: ellipsis
),以便容器始終保持在一條線上。
下面是一個圖片來說明:
現在,我知道我可以很簡單地display: flex
在容器上解決它像這樣:
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.container {
display: flex;
}
.variable {
margin: 0;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.static {
padding: 0 5px;
white-space: nowrap;
}
<span class="container">
<span class="variable">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eum dolorum repudiandae in, delectus similique quos natus facilis non odit laudantium unde nostrum aperiam doloremque magni cum ipsum recusandae repellat iusto quo architecto. Ea reiciendis, natus at fuga officiis, cupiditate voluptatem in, sed quae vero est nesciunt quidem tempora, dignissimos sapiente cumque eveniet. Eaque, fugiat voluptates mollitia veniam, blanditiis aut deleniti. Nesciunt sapiente vitae aut, fugit in commodi neque hic reiciendis, et cupiditate possimus, quod quaerat ducimus ea cumque nihil praesentium. Nesciunt velit magni asperiores optio quam, provident eum earum? Illo et illum, autem ratione! Perferendis non facere, ratione quas beatae?</span>
<span class="static">| Static Text</span>
</span>
但是,我需要IE8支持或更高。所以,flexbox是絕對的。
我已經試過
display: table
和display: table-cell
,但這並不具有可變長度的發揮不錯。我發現的唯一解決方案是設置可變長度文本的寬度,這是不可接受的。- 玩浮游物,但即使在那裏,沒有設置任何文本容器的寬度,我無法得到上面指定的行爲。
有沒有人有其他想法?我想避免「我假設靜態部分需要〜25%,所以我會給75%的可變寬度」。
我剛剛吐了一點在我的嘴裏。 +1。 –
第一次回答主持人的問題,我很興奮!感謝您保持社區秩序。 – Stickers