<strike id="g3zqm"></strike>

      <cite id="g3zqm"></cite>

        <tr id="g3zqm"><center id="g3zqm"></center></tr>
        <pre id="g3zqm"><sup id="g3zqm"></sup></pre>
        <li id="g3zqm"></li>
      1. 少妇高潮激情一区二区三,免费av深夜在线观看,亚洲狼人久久伊人久久伊,久久精品人人做人人爽电影蜜月,黄色特级片一区二区三区,欧美日韩在线亚洲二区综二,极品少妇无套内射视频,日本极品少妇videossexhd

        純CSS實現“文本溢出截斷省略”的幾種方法

        2020-3-2    seo達人

        在我們的日常開發工作中,文本溢出截斷省略是很常見的一種需考慮的業務場景細節。看上去 “稀松平常” ,但在實現上卻有不同的區分,是單行截斷還是多行截斷?多行的截斷判斷是基于行數還是基于高度?這些問題之下,都有哪些實現方案?他們之間的差異性和場景適應性又是如何?



        一般來說,在做這樣文字截斷效果時我們更多是希望:



        兼容性好,對各大主流瀏覽器有好的支持

        響應式截斷,根據不同寬度做出調整

        文本超出范圍才顯示省略號,否則不顯示省略號

        省略號位置顯示剛好

        基于上述的準則,下面我們通過編碼實踐,給出一些答案。



        單行文本溢出省略

        核心 CSS 語句



        overflow: hidden;(文字長度超出限定寬度,則隱藏超出的內容)

        white-space: nowrap;(設置文字在一行顯示,不能換行)

        text-overflow: ellipsis;(規定當文本溢出時,顯示省略符號來代表被修剪的文本)

        優點



        兼容性好,對各大主流瀏覽器有好的支持

        響應式截斷,根據不同寬度做出調整

        文本溢出范圍才顯示省略號,否則不顯示省略號

        省略號位置顯示剛好

        短板



        只支持單行文本截斷,并不支持多行

        適用場景



        適用于單行文本溢出顯示省略號的情況

        Demo



        <div class="demo">

              床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光

        </div>



        .demo {

          white-space: nowrap;

          overflow: hidden;

          text-overflow: ellipsis;

        }







        多行文本溢出省略(-webkit-line-clamp)

        核心 CSS 語句



        overflow: hidden;(文本溢出限定的寬度就隱藏內容)

        -webkit-line-clamp: 2;(用來限制在一個塊元素顯示的文本的行數, 2 表示最多顯示 2 行。 為了實現該效果,它需要組合其他的WebKit屬性)

        display: -webkit-box;(和 -webkit-line-clamp: 2;結合使用,將對象作為彈性伸縮盒子模型顯示 )

        -webkit-box-orient: vertical;(和 -webkit-line-clamp: 2;結合使用 ,設置或檢索伸縮盒對象的子元素的排列方式 )

        text-overflow: ellipsis;(多行文本的情況下,用省略號“…”隱藏溢出范圍的文本)

        優點



        響應式截斷,根據不同寬度做出調整

        文本溢出范圍才顯示省略號,否則不顯示省略號

        瀏覽器原生實現,所以省略號位置顯示剛好

        短板



        兼容性一般: -webkit-line-clamp 屬性只有 WebKit 內核的瀏覽器才支持





        適用場景



        多適用于移動端頁面,因為移動設備瀏覽器更多是基于 WebKit 內核

        Demo



        <div class="demo">

              床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光

        </div>



        .demo {

          display: -webkit-box;

          overflow: hidden;

          -webkit-line-clamp: 2;

          -webkit-box-orient: vertical;

        }









        多行文本溢出省略(偽元素 + 定位)

        核心 CSS 語句



        position: relative; (為偽元素絕對定位)

        overflow: hidden; (文本溢出限定的寬度就隱藏內容)

        position: absolute;(給省略號絕對定位)

        line-height: 18px; (結合元素高度,高度固定的情況下,設定行高, 控制顯示行數)

        height: 36px; (設定當前元素高度)

        ::after {} (設置省略號樣式)

        word-break: break-all; (如果文本中有英文,可以使一個單詞能夠在換行時進行拆分)

        優點



        兼容性好,對各大主流瀏覽器有好的支持

        響應式截斷,根據不同寬度做出調整

        短板



        無法識別文字的長短,無論文本是否溢出范圍,一直顯示省略號

        省略號顯示可能不會剛剛好,有時會遮住一半文字,跟文字沒有貼合的很緊密

        適用場景



        文字內容較多,確定文字內容一定會超過容器的

        Demo



        <div class="demo">

              床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光

        </div>

        1

        2

        3

        .demo {

            position: relative;

            line-height: 18px;

            height: 36px;

            overflow: hidden;

            word-break: break-all;

        }

        .demo::after {

            content:"...";

            font-weight:bold;

            position:absolute;

            bottom:0;

            right:0;

            padding:0 20px 1px 45px;

            

            / 為了展示效果更好 /

            background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(white), color-stop(50%, white));

            background: -moz-linear-gradient(to right, rgba(255, 255, 255, 0), white 50%, white);

            background: -o-linear-gradient(to right, rgba(255, 255, 255, 0), white 50%, white);

            background: -ms-linear-gradient(to right, rgba(255, 255, 255, 0), white 50%, white);

            background: linear-gradient(to right, rgba(255, 255, 255, 0), white 50%, white);

        }



        多行文本溢出省略(Float)

        核心 CSS 語句



        line-height: 20px;(結合元素高度,高度固定的情況下,設定行高, 控制顯示行數)

        overflow: hidden;(文本溢出限定的寬度就隱藏內容)

        float: right/left;(利用元素浮動的特性實現)

        position: relative;(根據自身位置移動省略號位置, 實現文本溢出顯示省略號效果)

        word-break: break-all;(如果文本中有英文,可以使一個單詞能夠在換行時進行拆分)

        優點



        兼容性好,對各大主流瀏覽器有好的支持

        響應式截斷,根據不同寬度做出調整

        文本溢出范圍才顯示省略號,否則不顯示省略號

        短板



        省略號顯示可能不會剛剛好,有時會遮住一半文字,跟文字沒有貼合的很緊密

        適用場景



        文字內容較多,確定文字內容一定會超過容器的

        Demo



        <div class="demo">

              <div class="text">

                床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光床前明月光

              </div>

        </div>



        .demo {

          height: 40px;

          line-height: 20px;

          overflow: hidden;

        }

        .demo .text {

          float: right;

          margin-left: -5px;

          width: 100%;

          word-break: break-all;

        }

        .demo::before {

          float: left;

          width: 5px;

          content: "";

          height: 40px;

        }

        .demo::after {

          float: right;

          content: "...";

          height: 20px;

          line-height: 20px;

          padding-right: 5px;

          text-align: right;

          width: 3em;

          margin-left: -3em;

          position: relative;

          left: 100%;

          top: -20px;

          padding-right: 5px;

            

          / 為了展示效果更好 /

          background: -webkit-gradient(

            linear,

            left top,

            right top,

            from(rgba(255, 255, 255, 0)),

            to(white),

            color-stop(50%, white)

          );

          background: -moz-linear-gradient(

            to right,

            rgba(255, 255, 255, 0),

            white 50%,

            white

          );

          background: -o-linear-gradient(

            to right,

            rgba(255, 255, 255, 0),

            white 50%,

            white

          );

          background: -ms-linear-gradient(

            to right,

            rgba(255, 255, 255, 0),

            white 50%,

            white

          );

          background: linear-gradient(

            to right,

            rgba(255, 255, 255, 0),

            white 50%,

            white

          );

        }


        日歷

        鏈接

        個人資料

        藍藍設計的小編 http://m.hengshangtqd.cn

        存檔

        主站蜘蛛池模板: 日本大片在线看黄a∨免费| www.99r| 中文字幕在线不卡v一二三区| 日本大片在线看黄a∨免费| 被黑人巨大一区二区三区| 自拍偷拍亚洲激情| 精品人妻午夜一区二区三区四区| 99亚洲视频| 欧美日韩中文国产va另类 | 日本三级成人中文字幕乱码| 精品小视频在线观看| 在线观看免费人成视频色9| 成人av天堂网在线观看| 欧洲一区二区中文字幕| 国产成人精品亚洲精品密奴| www.黄色视频| 人人操操| 亚洲激情文学| 思思久99久女女精品| 极品美女自拍偷精品视频| 亚洲色成人一区二区三区| 亚洲午夜爱爱香蕉片| 狠狠人妻久久久久久综合果冻| 亚洲区1区3区4区中文字幕码| 国产精品先锋资源站先锋影院| 人妻系列中文字幕精品| 丰满人妻熟妇乱又仑精品| 最近中文字幕日韩有码| 久久久精品94久久精品| 人妻无码人妻| 免费高清特级毛片A片| 国产一区二区三区在线影院| 潮喷失禁大喷水无码| 国产蜜臀av在线一区二区| 亚洲www永久成人网站| 在线综合网| 国产97色在线?|?日韩| 小泽玛利亚区二区在线| 亚洲欧洲自拍拍偷午夜色| 久久国产精品波多野结衣av| 欧洲免费一区二区三区视频|