老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

css怎么實現多行超出省略號效果

這篇文章主要介紹“css怎么實現多行超出省略號效果”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“css怎么實現多行超出省略號效果”文章能幫助大家解決問題。

成都創新互聯公司-專業網站定制、快速模板網站建設、高性價比牙克石網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式牙克石網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋牙克石地區。費用合理售后完善,10多年實體公司更值得信賴。

方法一:單行居中省略號

這種方法最簡單,適用于只有一行文本內容。我們可以通過以下兩行CSS代碼實現:

overflow: hidden;
text-overflow: ellipsis;

overflow為隱藏超過寬度限制的文本,text-overflow為超出后的表現方式,這里使用的是省略號。然而,這兩行代碼有一個限制,只適用于單行省略。如果文本有多個行,我們需要使用其他方法。

方法二:多行兩端對齊省略號

這個方法允許多行文本,并且每行文本最后一個單詞的末尾處出現省略號。這里的關鍵在于使用display: -webkit-box;來將文本容器轉換成一個伸縮盒子:

.box {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; // 限制顯示的行數
}

其中,-webkit-line-clamp表示限定文本顯示的最大行數。如果想要顯示更多行,只要把數字改大即可。

這種方法的缺點是只有支持Webkit內核的瀏覽器才能使用,所以在兼容性方面需要特別注意。

方法三:多行省略號+鼠標懸浮顯示全文

這種方法類似于“閱讀全文”按鈕,當用戶將鼠標指針懸停在文本上時,全文才會顯示。首先,我們需要將文本限定在容器的高度范圍內,超出的文本被隱藏。然后,我們可以通過JavaScript的mouseenter和mouseleave事件來控制文本的顯示和隱藏。

對于CSS部分,我們可以通過以下代碼來實現:

.text {
  display: -webkit-box;
  -webkit-line-clamp: 3; //限定顯示行數
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.show-text {
  display: block;
  cursor: pointer;
}

用js實現事件的綁定及文本的顯示與隱藏:

var text = document.querySelector('.text');
var textHeight = window.getComputedStyle(text).height;

if(parseInt(textHeight) < text.scrollHeight) {
  text.classList.add('show-text');
  text.addEventListener('mouseenter', function() {
    text.classList.remove('text');
  });
  text.addEventListener('mouseleave', function() {
    text.classList.add('text');
  });
}

這種方法可以更好地控制文本的顯示和隱藏,提升用戶的體驗,但是需要耗費更多的編碼時間和動態效果實現。

方法四:使用Vue.js中的過濾器

Vue.js是一種前端框架,可以實現數據的雙向綁定和頁面的動態響應。在Vue.js中,我們可以通過過濾器實現多行省略號的效果。如下代碼所示:

其中,v-html指令用于渲染文本內容,pipeline符號“|”用于協調過濾器和表達式。過濾器可以在Vue.js實例中定義,如下所示:

Vue.filter('multilineEllipsis', function(text, lines) {
  var stopwords = ['the', 'in', 'on', 'at', 'is', 'are', 'to', 'and'];
  var reg = new RegExp(`(?:(?<=(^|(.{2,}?\W)))[${stopwords.join('')}])?(?(.|\n){1,20}(?=(.|\n){0,20}[\W]$))`, 'g');
  var len = 0;
  var result = '';
  var lineCount = 0;

  while(len <= text.length && lineCount < lines) {
    var match = reg.exec(text.slice(len));
    if(match && match.groups.line) {
      result += match.groups.line;
      len += match[0].length;
    } else {
      break;
    }

    if(len < text.length) {
      var nextchar = text[len];
      if(nextchar !== ' ' && nextchar !== '
' && nextchar !== '') {
        result += '...';
        break;
      }
    }
    lineCount++;
  }

  if(len < text.length) {
    result += '...';
  }

  return result;
});

這個過濾器比較復雜,他會在文本中進行正則匹配,將每行符合要求的文本轉換為對應的HTML,并保留省略號。這個過濾器還會你參照了常見英文單詞的列表來制定正則表達式,提高了文本顯示的質量。

關于“css怎么實現多行超出省略號效果”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注創新互聯行業資訊頻道,小編每天都會為大家更新不同的知識點。


網站欄目:css怎么實現多行超出省略號效果
分享鏈接:http://www.xueling.net.cn/article/jpejjc.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 欧洲免费一区二区三区视频 | 麻豆影音先锋 | 国产福利a级 | 国产国语一级A毛片高清视频 | 老太婆性杂交欧美肥老太 | 日本阿v视频免费观看在线播放 | 国产美女久久久 | 成年女人免费视频播放人 | 字幕专区码中文欧美在线 | 性生交大片免费全毛片 | 天天综合天天爱天天做天天爽 | 国产精品亚欧美一区二区 | 99久久国产综合精品尤物酒店 | 欧美黄色激情视频 | 久久国产成人精品国产成人亚洲 | 国产在线短视频 | 高潮潮喷奶水飞溅视频无码 | 亚洲国产一区二区三区亚瑟 | 久久精品免费国产大片 | 一级福利片| 亚洲精品一区国产精品 | 亚洲乱亚洲乱妇 | 91九色第一页 | 成人三级做爰av | 先锋资源av免费网 | 黄色成人在线免费观看 | 欧美熟妇与小伙性欧美交 | 欧美一级一区二区三区 | 福利影院在线看 | 狠狠色噜噜狠狠狠狠2021天天 | av软件大全 | 欧美高潮一区 | 色综合免费视频 | www.中文字幕久久久 | 天天操天天艹 | 亚洲国产精品久久久久婷婷软件 | 亚洲富人天堂视频 | 超级碰在线视频 | 欧美性在线视频 | 少妇被躁爽到高潮无码 | 神马久久网站 |