CSS 制作帶邊框背景色透明的消息框

寫(xiě)個(gè)消息框容易太容易了,網(wǎng)上一搜就一大堆教程。直接拷貝粘貼到自己項(xiàng)目就可以啦。大多是用::after或者::before實(shí)現(xiàn)三角形,絕對(duì)定位移動(dòng)到邊上成為消息框的角角。
但是如果要我們實(shí)現(xiàn)背景色是透明的消息框,如下:
似乎常用的消息框?qū)懛ㄟ@種操作是實(shí)現(xiàn)不了的。
難點(diǎn)一
用常用的方式實(shí)現(xiàn)的消息框,想要改成透明背景,似乎不太可能。
因?yàn)槿绻⒖蛴羞吙虻脑?,消息框的角通常是?:after 與 ::before 做成三角形,然后一大點(diǎn)的三角形與小一點(diǎn)的三角形重疊而成,如果我們想要把消息框的角變成透明的,總會(huì)透到后面作為是模擬邊框的三角形的顏色。
(如上圖我把作為背景三角形設(shè)置了 opacity: .5 透的是作為邊框的顏色,兩個(gè)顏色混合在了一起)
難點(diǎn)二
還有一個(gè)問(wèn)題就是消息框的角透明會(huì)透到消息框的邊框線。
如何實(shí)現(xiàn)
好了,接下來(lái)說(shuō)說(shuō)我是如何實(shí)現(xiàn)的。
消息框的角還有另一種實(shí)現(xiàn)方法就是就是寫(xiě)個(gè)小正方形旋轉(zhuǎn)45度。
然后給正方形上邊和右邊邊框
然后再給個(gè)透明背景色 background: hsla(0, 0, 0, 0);
好了一個(gè)可以透明到背景的角實(shí)現(xiàn)了我們?cè)賮?lái)解決難題二。
想寫(xiě)個(gè)消息框的主體
好,然后用主體div的::after 和 ::before 實(shí)現(xiàn)左邊和右邊的邊框,中間隔開(kāi)要放三角形的位置
然后給主體div設(shè)置下邊框
哈哈 是不是解決了難題二。
最終效果
調(diào)下絕對(duì)定位的位置,調(diào)下z-index。
好了接下啦,鎧甲合體?。?!
詳細(xì)代碼
<div class="warp" > <div class="box" > <div class="horn" ></div> <div class="content">低調(diào)哥挺帥</div> </div> </div> .warp{ margin: auto; width: 75%; height: 100vh; z-index: 1; position: relative; } .box{ overflow: hidden; .horn{ right: .75rem; top: .18rem; position: absolute; transform: rotate(45deg); width: .25rem; height: .25rem; border-width: 0.02rem 0rem 0rem 0.02rem; border-style: solid; border-color:#fff; background: #000; background: hsla(0, 0, 0, 0); } .content{ display: none; position: relative; margin: .3rem 0 .25rem 0; width: auto; float: right; padding: .1rem .3rem; font-size: .3rem; color: #fff; background: hsla(0, 0, 0, .0); letter-spacing: .05rem; border-bottom: .02rem solid #fff; border-radius:.35rem; &::after{ content:''; position: absolute; width: 1.305rem; height: 103%; top:0; left: 0; border-width: 0.02rem .0rem .02rem .02rem; border-style: solid; border-color: #fff; border-radius: .35rem .0rem 0 .35rem; } &::before{ content:''; position: absolute; width: .71rem; height: 103%; top:0; right:0; border-width: 0.02rem .02rem .02rem .0rem; border-style: solid; border-color: #fff; border-radius: 0 .35rem .35rem 0; } }
總結(jié)
以上所述是小編給大家介紹的CSS 制作帶邊框背景色透明的消息框,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
基于CSS 屬性實(shí)現(xiàn)按鈕懸停邊框和背景動(dòng)畫(huà)集合
這篇文章主要介紹了基于CSS 屬性實(shí)現(xiàn)按鈕懸停邊框和背景動(dòng)畫(huà)集合,需要的朋友可以參考下2019-05-09css3 邊框、背景、文本效果的實(shí)現(xiàn)代碼
這篇文章主要介紹了css3 邊框、背景、文本效果的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-03-21CSS3實(shí)現(xiàn)多背景模擬動(dòng)態(tài)邊框的效果
前幾天在工作的時(shí)候遇到一個(gè)問(wèn)題,項(xiàng)目需要實(shí)現(xiàn)一個(gè)效果,當(dāng)鼠標(biāo)移入一個(gè)元素的時(shí)候,元素出現(xiàn)一個(gè)動(dòng)態(tài)的邊框,通過(guò)網(wǎng)上查找資料看到有人推薦可以使用Css3來(lái)實(shí)現(xiàn),后來(lái)試了2016-11-08CSS控制背景圖像平鋪實(shí)現(xiàn)邊框陰影效果
CSS控制背景圖像平鋪,從而實(shí)現(xiàn)區(qū)域邊框陰影的效果,可貴之處是本代碼不管你需要陰影的區(qū)域是多大,它都能自動(dòng)適應(yīng),個(gè)人感覺(jué)還不錯(cuò),具體實(shí)現(xiàn)如下建議收藏下哦2013-08-25css div 邊框陰影利用背景圖或內(nèi)外層div實(shí)現(xiàn)層次感覺(jué)陰影效果
在網(wǎng)頁(yè)布局中偶爾會(huì)用到div 邊框陰影做一些特殊效果本文介紹兩種實(shí)現(xiàn)方法:一種是利用內(nèi)外層的div邊框來(lái)實(shí)例層次感覺(jué)的css邊框陰影效果,另一種是利用了背景圖片再加內(nèi)外div2012-12-18css樣式div或li在ie6下背景平鋪及border邊框斷線解決技巧
css樣式div或li在ie6下背景平鋪或邊框斷線解決辦法2011-09-04- 網(wǎng)頁(yè)制作Webjx文章簡(jiǎn)介:到現(xiàn)在為止,只有一些已經(jīng)工作的CSS3特性. 到現(xiàn)在為止,只有一些已經(jīng)工作的特性,他們中的一些如下: 圓角 從web2.0開(kāi)始,開(kāi)2009-04-02
- 本文通過(guò)代碼給大家介紹css背景和邊框標(biāo)簽的一些知識(shí),通過(guò)相關(guān)屬性設(shè)置背景顏色,背景圖像,對(duì)css背景與邊框的相關(guān)知識(shí)感興趣的朋友一起看看吧2021-05-21