最近在開(kāi)發(fā)公司項(xiàng)目的時(shí)候UI設(shè)計(jì)稿給了這么一個(gè)設(shè)計(jì)(這里是我手動(dòng)畫(huà)的草圖):

看這效果,第一感覺(jué)很簡(jiǎn)單,flex布局,左邊寬度自適應(yīng),右邊固定寬度。
先回顧下關(guān)于文本溢出隱藏的方式:
| /* 單行文本 */.text { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; /*當(dāng)然還需要加寬度width屬來(lái)兼容部分瀏覽。*/}/* 多行文本 */.text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; /* -webkit-line-clamp 顯示行數(shù) */} | 
然后開(kāi)開(kāi)心心的開(kāi)始寫(xiě)啊寫(xiě),代碼如下:
HTML代碼
| <div id="flex"> <div id="left"> <span>這是一個(gè)按鈕</span> </div> <div id="right"> <span>9.9元</span> </div></div> | 
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;} | 

這效果。。有點(diǎn)無(wú)語(yǔ)。。右邊的圓角去哪里了呢,并且在控制臺(tái)查看元素,會(huì)看到實(shí)際span元素的寬度非常的寬,且超過(guò)父容器#left,而#left實(shí)實(shí)在在的還是正常的寬度。 
思考了一會(huì),腦子了出現(xiàn)了各種元素的層疊關(guān)系,于是給實(shí)際文本內(nèi)容外面,再添加一層div,來(lái)控制內(nèi)容的寬度。
HTML代碼
| <div id="flex"> <div id="left"> <div class="box"> <span>我在左邊,自適應(yīng)布局</span> </div> </div> <div id="right">我在右邊,定寬</div></div> | 
CSS樣式
| #flex { display: flex;}#left { flex: 1; background: red; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}/* 新增的內(nèi)容的父容器 */#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;} |