1. 程式人生 > 其它 >單行或多行文字溢位用省略號替代

單行或多行文字溢位用省略號替代

技術標籤:CSS前端學習

CSS苦逼學習日記(9)

當一個文字框的大小裝不下我們所需要的文字的時候,就自然會用到省略號,

下圖的為淘寶的省略號部分就是當文字溢位時用省略號表示。


那麼我們應該怎麼才能做到這樣的效果呢?


下面為如何使用此方法:

1.單行的文字溢位用省略號表示:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content
="width=device-width, initial-scale=1.0">
<title>Document</title> <style> a { text-decoration: none; } div { width: 150px; height: 80px; background-color: pink; margin: 100px auto; /* 如果文字顯示不開會自動換行 */
/* white-space:normal */ white-space: nowrap; /* 溢位的部分隱藏起來 */ overflow:hidden; text-overflow: ellipsis; }
</style> </head> <body> <div> <a href="">我就是也不說,此處省略一萬個字</a> </div
>
</body> </html>

最主要的程式碼塊:

            white-space: nowrap;
            /* 溢位的部分隱藏起來 */
            overflow:hidden;
            text-overflow: ellipsis;

1.white-space:
正常情況下是 white-space =normal; 此時表示的是如果文字顯示不開,則會自動換行。
但我們需要不換行 ,則需要:white-space= nowrap; 此式表達的是不換行。

2.overflow:hidden: 因為不換行,文字超過了容器盒子,會在盒子外部顯示,則需要把超出的部分隱藏掉,則使用此式。

3.text-overflow:ellipsis: 此式表達的是超出文字的地方用 省略號表示,ellipse 的意思就是 省略號的意思,此式極為重要,是轉化為省略號的關鍵。

下圖為上述程式碼的執行結果:


2.多行文字溢位用省略號表示:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 150px;
            height: 65px;
            margin: 100px auto;
            background-color: pink;
            overflow: hidden;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            text-overflow: ellipsis;

        }
    </style>
</head>
<body>
    <div>
        啥也不說,我就是你大哥,然後此處肯定要省略一萬個字啊哈哈哈哈
    </div>
</body>
</html>

程式碼最主要的部分:

            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;

其中 overflow: hidden;text-overflow: ellipsis; 與單行省略的解釋一致;

-webkit-line-clamp: 3; 表示的是在第幾行的末尾超出的部分用省略號來表示。數字3就為第三行末尾開始用省略號表示

-webkit-box-orient: vertical; 和 display: -webkit-box; 背一背熟悉就行

程式碼效果圖:
在這裡插入圖片描述


多行的顯示注意事項:

進行多行文字溢位用省略號代替時一定要控制好文字的長和寬,不然會出現以下情況:


解釋:
雖然我們設定是在第三行進行省略號代替,但是因為盒子的高度足以裝下4-5行甚至更多的文字,所以就在下方繼續顯示我們的文字,最後,注意:

一定要設定好我們盒子的高度和寬度,使得多的文字不會顯示出來!