文字の省略記号を実現
4390 ワード
プロジェクトには、1行目または数行目に省略符を付け、数行目に省略符を付けた場合、-webkit-line-clamp、-webkit-box-orient属性を使用します.webpackパッケージ-webkit-box-orient属性が無視される場合があります.ここに記録します
1.単一行実現文字省略符号
2.何行目に文字省略記号を実現 webpackパッケージングツールを使用する場合、この-webkit-box-orientプロパティは無視されますが、ここでは以下の書き方に変更すればいい です.
この注釈に感嘆符をつけるのを忘れないでください.
3.jsで文字数を実現して省略符をつける単純点のjs切り取り後省略番号 を追加完全点のjs切り取り後省略番号 を追加
4.擬似要素にjsを加えて省略記号を実現 htmlファイル cssファイル jsコード 効果図 5.改行word-breakとword-wrap white-space:normal(自動改行)は、書き込まれた文字が定義の幅を超えると自動的に改行されますが、書き込まれたデータがスペースのない文字やアルファベットや数字の山である場合、容器の幅を超えると容器が大きくなり、 は改行されません.この場合、word-break:break-all;word-wrap:break-word を解決する word-break:break-all容器幅を超えると、1つの単語が長いと単語が切り捨てられ、 と別々に書く. word-wrap:break-wordコンテナの幅を超えると、1つの単語が長い場合は、 を切断せずに次の行に単語を配置します.
頑張って勉強していますが、あなたの勉強に役に立つなら、あなたの印を残しておきましょう(いいね^^)往期好文推薦: 判断iosとAndroidおよびPC端末 webpackパッケージ(面接問題あり) 純css実現滝流(multi-column多列およびflexレイアウト)
1.単一行実現文字省略符号
/* */
overflow: hidden;
white-space: nowrap;
/* ellipsis */
text-overflow: ellipsis;
width: 100%;
2.何行目に文字省略記号を実現
display: -webkit-box;
-webkit-box-orient: vertical; /* */
-webkit-line-clamp: 2; /* */
overflow: hidden;
display: -webkit-box;
overflow: hidden;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
/* autoprefixer: on */
-webkit-line-clamp: 8;
text-overflow: ellipsis;
この注釈に感嘆符をつけるのを忘れないでください.
3.jsで文字数を実現して省略符をつける
if (title.length > 26) {
title = title.substring(0, 27) + "...";
}
/* , */
function sliceWord(content) {
let templateWord = '';
/* */
const len = 523;
if (content.length * 2 <= len) {
return content;
}
/* */
let strLength = 0;
for (let i = 0; i < content.length; i++) {
templateWord = templateWord + content.charAt(i);
/* charCodeAt() Unicode , 128 , 128 */
if (content.charCodeAt(i) > 128) {
strLength = strLength + 2;
if (strLength >= len) {
return templateWord.substring(0, templateWord.length - 1) + "...";
}
} else {
strLength = strLength + 1;
if (strLength >= len) {
return templateWord.substring(0, templateWord.length - 2) + "...";
}
}
}
return templateWord;
}
4.擬似要素にjsを加えて省略記号を実現
is IE
IE
is IE
IE
is IE
#root{
margin: 0 auto;
width: 1200px;
}
.content{
overflow: auto;
position: relative;
margin-bottom: 10px;
width: 500px;
height: 52px;
line-height: 1.5;
}
.hiddenOverflow{
overflow: hidden;
}
.hiddenOverflow::after{
content: '...';
position: absolute;
bottom: 0;
right: 0;
padding-left: 12px;
background: -webkit-linear-gradient(left, transparent, #fff 55%);
background: -o-linear-gradient(right, transparent, #fff 55%);
background: -moz-linear-gradient(right, transparent, #fff 55%);
background: linear-gradient(to right, transparent, #fff 55%);
}
(function() {
const content = document.getElementsByClassName('content');
const length = content.length;
for(let i = 0; i < length; i++) {
/* scrollHeight */
if(content[i].scrollHeight > content[i].clientHeight) {
content[i].className += ' hiddenOverflow';
}
}
})()
word-break : normal | break-all | keep-all
normal :
break-all :
keep-all : 。
word-wrap : normal | break-word
normal :
break-word : 。 , (word-break)
頑張って勉強していますが、あなたの勉強に役に立つなら、あなたの印を残しておきましょう(いいね^^)