中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS中ellipsis與padding 如何結合

發布時間:2021-06-11 14:12:42 來源:億速云 閱讀:157 作者:Leah 欄目:web開發

CSS中ellipsis與padding 如何結合?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

CSS 實現的文本截斷

考察如下代碼實現文本超出自動截斷的樣式代碼:

.truncate-text-4 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

使用如下的 HTML 片段進行測試:

<style>
  .my-div {
    width: 300px;
    margin: 10px auto;
    background: #ddd;
  }
</style>
<div class="my-div truncate-text-4">
  How Not To Shuffle - The Knuth Fisher-Yates Algorithm. Written by Mike James.
  Thursday, 16 February 2017. Sometimes simple algorithms are just wrong. In
  this case shuffling an .... In other words as the array is scanned the element
  under
</div>

運行效果:

CSS中ellipsis與padding 如何結合

通過 CSS ellipsis 實現的文本截斷效果

padding 的問題

一切都很完美,直到給文本容器加上 padding 樣式后。

  .my-div {
    width: 300px;
    margin: 10px auto;
    background: #ddd;
+    padding: 30px;
  }
現在的效果

現在的效果是這樣的:

CSS中ellipsis與padding 如何結合

padding 破壞了文本截斷

因為 padding 占了元素內部空間,但這部分區域卻是在元素內部的,所以不會受 overflow: hidden 影響。

解決辦法

line-height

當設置的 line-height 適當時,或足夠大時,可以將 padding 的部分抵消掉以實現將多余部分擠出可見范圍的目標。

.my-div {
  width: 300px;
  margin: 10px auto;
  background: #ddd;
  padding: 30px;
+  line-height: 75px;
}

CSS中ellipsis與padding 如何結合

通過 line-height 修復

這種方式并不適用所有場景,因為不是所有地方都需要那么大的行高。

替換掉 padding

padding 無非是要給元素的內容與邊框間添加間隔,或是與別的元素間添加間隔。這里可以考慮其實方式來替換。

比如 margin。但如果元素有背景,比如本例中,那 margin 的試就不適用了,因為元素 margin 部分是不帶背景的。

還可用 border 代替。

.my-div {
  width: 300px;
  margin: 10px auto;
  background: #ddd;
-  padding: 30px;
+  border: 30px solid transparent;
}

CSS中ellipsis與padding 如何結合

使用 border 替換 padding

毫不意外,它仍然有它的局限性。就是在元素本身有自己的 border 樣式要求的時候,就會沖突了。

將邊距與內容容器分開

比較普適的方法可能就是它了,即將內容與邊距分開到兩個元素上,一個元素專門用來實現邊距,一個元素用來實現文本的截斷。這個好理解,直接看代碼:

<div className="my-div">
  <div className="truncate-text-4">
    How Not To Shuffle - The Knuth Fisher-Yates Algorithm. Written by Mike
    James. Thursday, 16 February 2017. Sometimes simple algorithms are just
    wrong. In this case shuffling an .... In other words as the array is scanned
    the element under
  </div>
</div>

而我們的樣式可以保持不動。

CSS中ellipsis與padding 如何結合

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

榕江县| 五莲县| 固镇县| 北碚区| 扶绥县| 新宁县| 静安区| 耿马| 合江县| 宁津县| 玛纳斯县| 济阳县| 河北省| 台江县| 鞍山市| 永兴县| 平远县| 离岛区| 宁德市| 绥宁县| 德庆县| 松潘县| 禄丰县| 岚皋县| 三都| 大城县| 宁安市| 通化县| 林西县| 屏东县| 昌宁县| 芜湖县| 翁牛特旗| 绥棱县| 吐鲁番市| 澄城县| 清流县| 盐池县| 宁都县| 措美县| 彩票|