国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS ellipsis 與 padding 結合時的問題詳解

2024-07-11 09:00:20
字體:
來源:轉載
供稿:網友

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 的問題

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

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

現在的效果是這樣的:

padding 破壞了文本截斷

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

解決辦法

line-height

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

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

通過 line-height 修復

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

替換掉 padding

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

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

還可用 border 代替。

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

使用 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>

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

將邊距與內容容器分開

相關資源

overflow:hidden ignoring bottom padding

How can I force overflow: hidden to not use up my padding-right space

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永登县| 上饶县| 盘锦市| 凤翔县| 竹溪县| 商丘市| 安溪县| 茌平县| 惠州市| 壶关县| 南岸区| 民丰县| 滦平县| 高平市| 木里| 隆昌县| 股票| 和平区| 深水埗区| 隆子县| 长宁县| 象山县| 庆阳市| 上林县| 榆社县| 章丘市| 南涧| 株洲县| 贞丰县| 邯郸县| 新蔡县| 八宿县| 九寨沟县| 南开区| 普兰县| 漳浦县| 枣阳市| 榕江县| 镇平县| 罗江县| 汕尾市|