摘要:先回顧下關于文本溢出隱藏的方式單行文本當然還需要加寬度屬來兼容部分瀏覽。多行文本顯示行數然后開開心心的開始寫啊寫,代碼如下代碼這是一個按鈕元樣式這效果。。
最近在開發公司項目的時候UI設計稿給了這么一個設計(這里是我手動畫的草圖):
看這效果,第一感覺很簡單,flex布局,左邊寬度自適應,右邊固定寬度。
先回顧下關于文本溢出隱藏的方式:
/* 單行文本 */ .text { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; /*當然還需要加寬度width屬來兼容部分瀏覽。*/ } /* 多行文本 */ .text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; /* -webkit-line-clamp 顯示行數 */ }
然后開開心心的開始寫啊寫,代碼如下:
HTML代碼
這是一個按鈕9.9元
CSS樣式
#flex { display: flex; } #left { flex: 1; } #left{ background: red; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #left span{ background-color: yellow; border-radius: 30px; border: 1px solid blue; display: inline-block; } #right { background: green; width: 200px; margin-left: 10px; }
這效果。。有點無語。。右邊的圓角去哪里了呢,并且在控制臺查看元素,會看到實際span元素的寬度非常的寬,且超過父容器#left,而#left實實在在的還是正常的寬度。
思考了一會,腦子了出現了各種元素的層疊關系,于是給實際文本內容外面,再添加一層div,來控制內容的寬度。
HTML代碼
我在左邊,自適應布局我在右邊,定寬
CSS樣式
#flex { display: flex; } #left { flex: 1; background: red; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } /* 新增的內容的父容器 */ #left .box{ background: red; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; max-width: 100%; border: 1px solid blue; border-radius: 100px; display: inline-block; } #left span{ background-color: yellow; border-radius: 30px; } #right { background: green; width: 200px; margin-left: 10px; }
而這里只需把原本設置在span上的寬度,邊框,圓角和背景色樣式,寫到父容器.box上就可以,span里面只負責存放文本內容。
然后就大功告成了。
本文純屬個人看法,歡迎討論
個人博客
github
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/114321.html
閱讀 1891·2021-11-17 09:33
閱讀 6484·2021-10-12 10:20
閱讀 2306·2021-09-22 15:50
閱讀 1793·2021-09-22 15:10
閱讀 626·2021-09-10 10:51
閱讀 630·2021-09-10 10:50
閱讀 3048·2021-08-11 11:19
閱讀 1786·2019-08-30 15:55