您好,登錄后才能下訂單哦!
這篇文章主要介紹“css單行截?cái)嗪投嘈薪財(cái)嗟挠梅ā?,在日常操作中,相信很多人在css單行截?cái)嗪投嘈薪財(cái)嗟挠梅▎栴}上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”css單行截?cái)嗪投嘈薪財(cái)嗟挠梅ā钡囊苫笥兴鶐椭?!接下來,請跟著小編一起來學(xué)習(xí)吧!
span { display: inline-block; // 如果不是block元素,還需要設(shè)置這個(gè)。 width: 150px; // 超出的寬度 overflow: hidden; // 超出隱藏 text-overflow: ellipsis; //超出用省略號(hào) white-space: nowrap; // 不換行 }
多行截?cái)嘤泻脦追N方法,
1: 最簡單,使用-webkit-line-clamp , 當(dāng)然了,只能用在webkit內(nèi)核瀏覽器, 并且不支持自定義點(diǎn)擊展開的樣式。
p { width: 400px; // 超過這個(gè)寬度 text-overflow: ellipsis; // 使用省略號(hào) display: -webkit-box; // 必須使用這個(gè) overflow: hidden;// 必須使用,超出隱藏 -webkit-line-clamp: 4; // 必需設(shè)置, -webkit-box-orient: vertical; // 設(shè)置里面元素排列順序 text-align: justify; // 里面問題排列方式 }
2: 也是面試中回答的方式,使用偽類。。。這個(gè)由于要使用js判斷是否超出,因此適用于,你已經(jīng)知道是大段文字的情景。 但是面試官不是很滿意這個(gè)方式,嗚嗚嗚
p{ position: relative; height: 36px; // 面試官說這個(gè)是定死的,所以不靈活。。。感覺很奇怪啊,不是死的話,怎么知道什么情況溢出? overflow: hidden; line-height: 18px; } p::after{ // 這個(gè)是一直有省略號(hào),所以需要js判斷是否超出,如果超出的話,就加一個(gè)class。 content: '...'; position: absolute; bottom:0; right: 0; }
3:使用float, 挺復(fù)雜的,不喜歡float......, 使用float時(shí)候,省略號(hào)是一個(gè)dom節(jié)點(diǎn),因此可以添加事情和樣式, 自定義程度高!
<div class="container"> <div class="content">騰訊成立于1998年11月,是目前中國領(lǐng)先的互聯(lián)網(wǎng)增值服務(wù)提供商之一。成立10多年來,騰訊一直秉承“一切以用戶價(jià)值為依歸”的經(jīng)營理念,為億級(jí)海量用戶提供穩(wěn)定優(yōu)質(zhì)的各類服務(wù),始終處于穩(wěn)健發(fā)展?fàn)顟B(tài)。2004年6月16日,騰訊控股有限公司在香港聯(lián)交所主板公開上市(股票代號(hào)700)。</div> <div class="standard"></div> <div class="more">...更多</div> </div>
其中standard是一個(gè)標(biāo)準(zhǔn),超過它的高度時(shí)候,就會(huì)顯示省略號(hào),container是個(gè)容器,超過他的最大高度,就hidden。 三個(gè)div都float:right,其中content的margin-left:-standard的寬度,把standard給讓出來,讓standard出現(xiàn)在左側(cè)。
.container{ max-height: 54px; // 最大高度 overflow: hidden; // 超出隱藏 line-height: 18px; // 方便計(jì)算幾行。。 font-size:12px; } .container div{ // 三個(gè)元素都設(shè)置float float: right; } .content{ margin-left: -50px; // 這是第一個(gè)元素,由于他寬度是100%,所以需要給standard位置。 width:100%; position:relative; background: hsla(229, 100%, 75%, 0.5) } .standard{ width: 50px; //寬度隨意, 需要與上面margin-left一樣 height: 54px; // 超出這個(gè)高度會(huì)出現(xiàn)more元素 position:relative; color:transparent; background: hsla(334, 100%, 75%, 0.5); } .more{ width:50px; // 這個(gè)元素可自定義,寬度 height:18px; position: relative; left: 100%; // 確定位置, transform: translate(-100%,-100%);// 確定位置 background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff 20%, #fff); // 這是使用漸變,因?yàn)閙ore元素會(huì)覆蓋住content元素。 }
總結(jié): 可以直接使用float方法,方便自定義樣式及監(jiān)聽事件,并且兼容性好,是暫時(shí)最完美的解決方案。
到此,關(guān)于“css單行截?cái)嗪投嘈薪財(cái)嗟挠梅ā钡膶W(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。