這篇文章主要介紹“css單行截斷和多行截斷的用法”,在日常操作中,相信很多人在css單行截斷和多行截斷的用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”css單行截斷和多行截斷的用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
創新互聯公司擁有10余年成都網站建設工作經驗,為各大企業提供網站設計、成都網站制作服務,對于網頁設計、PC網站建設(電腦版網站建設)、重慶APP軟件開發、wap網站建設(手機版網站建設)、程序開發、網站優化(SEO優化)、微網站、域名注冊等,憑借多年來在互聯網的打拼,我們在互聯網網站建設行業積累了很多網站制作、網站設計、網絡營銷經驗,集策劃、開發、設計、營銷、管理等網站化運作于一體,具備承接各種規模類型的網站建設項目的能力。span { display: inline-block; // 如果不是block元素,還需要設置這個。 width: 150px; // 超出的寬度 overflow: hidden; // 超出隱藏 text-overflow: ellipsis; //超出用省略號 white-space: nowrap; // 不換行 }
多行截斷有好幾種方法,
1: 最簡單,使用-webkit-line-clamp , 當然了,只能用在webkit內核瀏覽器, 并且不支持自定義點擊展開的樣式。
p { width: 400px; // 超過這個寬度 text-overflow: ellipsis; // 使用省略號 display: -webkit-box; // 必須使用這個 overflow: hidden;// 必須使用,超出隱藏 -webkit-line-clamp: 4; // 必需設置, -webkit-box-orient: vertical; // 設置里面元素排列順序 text-align: justify; // 里面問題排列方式 }
2: 也是面試中回答的方式,使用偽類。。。這個由于要使用js判斷是否超出,因此適用于,你已經知道是大段文字的情景。 但是面試官不是很滿意這個方式,嗚嗚嗚
p{ position: relative; height: 36px; // 面試官說這個是定死的,所以不靈活。。。感覺很奇怪啊,不是死的話,怎么知道什么情況溢出? overflow: hidden; line-height: 18px; } p::after{ // 這個是一直有省略號,所以需要js判斷是否超出,如果超出的話,就加一個class。 content: '...'; position: absolute; bottom:0; right: 0; }
3:使用float, 挺復雜的,不喜歡float......, 使用float時候,省略號是一個dom節點,因此可以添加事情和樣式, 自定義程度高!
<div class="container"> <div class="content">騰訊成立于1998年11月,是目前中國領先的互聯網增值服務提供商之一。成立10多年來,騰訊一直秉承“一切以用戶價值為依歸”的經營理念,為億級海量用戶提供穩定優質的各類服務,始終處于穩健發展狀態。2004年6月16日,騰訊控股有限公司在香港聯交所主板公開上市(股票代號700)。</div> <div class="standard"></div> <div class="more">...更多</div> </div>
其中standard是一個標準,超過它的高度時候,就會顯示省略號,container是個容器,超過他的大高度,就hidden。 三個div都float:right,其中content的margin-left:-standard的寬度,把standard給讓出來,讓standard出現在左側。
.container{ max-height: 54px; // 大高度 overflow: hidden; // 超出隱藏 line-height: 18px; // 方便計算幾行。。 font-size:12px; } .container div{ // 三個元素都設置float float: right; } .content{ margin-left: -50px; // 這是第一個元素,由于他寬度是100%,所以需要給standard位置。 width:100%; position:relative; background: hsla(229, 100%, 75%, 0.5) } .standard{ width: 50px; //寬度隨意, 需要與上面margin-left一樣 height: 54px; // 超出這個高度會出現more元素 position:relative; color:transparent; background: hsla(334, 100%, 75%, 0.5); } .more{ width:50px; // 這個元素可自定義,寬度 height:18px; position: relative; left: 100%; // 確定位置, transform: translate(-100%,-100%);// 確定位置 background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff 20%, #fff); // 這是使用漸變,因為more元素會覆蓋住content元素。 }
總結: 可以直接使用float方法,方便自定義樣式及監聽事件,并且兼容性好,是暫時最完美的解決方案。
到此,關于“css單行截斷和多行截斷的用法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯-成都網站建設公司網站,小編會繼續努力為大家帶來更多實用的文章!
當前題目:css單行截斷和多行截斷的用法-創新互聯
當前URL:http://vcdvsql.cn/article30/djpjpo.html
成都網站建設公司_創新互聯,為您提供微信小程序、建站公司、手機網站建設、動態網站、自適應網站、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯