1. 程式人生 > >css設定固定高度多行超出變省略號,適用於手機端

css設定固定高度多行超出變省略號,適用於手機端

基本設定: 

    display: -webkit-box;/** 物件作為伸縮盒子模型顯示 **/
    word-break: break-all;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;/** 設定或檢索伸縮盒物件的子元素的排列方式 **/
    -webkit-line-clamp: 3;/** 顯示的行數 **/
    overflow: hidden;

帶相容方案的:http://www.css88.com/archives/5206


以上多行文字省略方案並不完美,當想要設定固定高度並且文字超出顯示的行(-webkit-line-clamp)時,雖然會在固定行顯示省略號,但是省略號後面還會有文字顯示:

eg:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .inner {
            border: 1px solid;
            min-height: 150px;
            display: -webkit-box;
            width: 200px;
            text-overflow: ellipsis;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
            word-break: break-all;
            overflow: hidden;
        }
    </style>
</head>

<body>
    <div class="inner">會計3年挪用公款270多萬 一人貪腐4名領導被問責會計3年挪用公款270多萬 一人貪腐4名領導被問責</div>
</body>
<script>
</script>

</html>

解決辦法:可以用一個父元素包裹,將固定高度設定在父元素上

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .outer {
            width: 200px;
            min-height: 150px;
            border: 1px solid;
        }
        
        .inner {
            display: -webkit-box;
            text-overflow: ellipsis;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
            word-break: break-all;
            overflow: hidden;
        }
    </style>
</head>

<body>
    <div class="outer">
        <div class="inner">會計3年挪用公款270多萬 一人貪腐4名領導被問責會計3年挪用公款270多萬 一人貪腐4名領導被問責</div>
    </div>
</body>
<script>
</script>

</html>