CSS3 仿微信聊天小氣泡

今天給你們分享一個我剛作的項目中的一個小案例, 由於咱們在作一個聊天的功能,以前的聊天頁面UI很醜,我就不在這裏展現給你們了。css

如今就教你們怎麼用css3製做一個和微信聊天界面同樣的頁面。html

首先給你們看看頁面的樣子吧,以下圖所示:css3

小月博客仿微信聊天界面

小月博客仿微信聊天界面web

頁面大體就是這個樣子,接下來咱們來一塊兒學習製做步驟吧。微信

第一部分: HTML

<div class="leftd">
    <span ng-class="leftd_h">
        <img ng-src="./img/c_pic.pn" />
    </span>
    <div class="speech left" ng-class="speech left"> 
        二貨,你看你傻樣!
    </div>
</div>
<div class="rightd">
    <span ng-class="rightd_h">
        <img ng-src="./img/u_pic.pn" />
    </span>
    <div class="speech right" ng-class="speech left"> 
        嘻嘻嘻嘻。。。。。。
    </div>
</div>
<div class="leftd">
    <span ng-class="leftd_h">
        <img ng-src="./img/c_pic.pn" />
    </span>
    <div class="speech left" ng-class="speech left"> 
        笑什麼笑,沒看到本寶寶今天變漂亮了嗎?
    </div>
</div>
<div class="rightd">
    <span ng-class="rightd_h">
        <img ng-src="./img/u_pic.pn" />
    </span>
    <div class="speech right" ng-class="speech left"> 
         不不不,天天你都很漂亮的啦!
    </div>
</div>

第二部分: CSS3

PS(這裏也算是最重要的部分了我就把所有的代碼都展現出來吧!)ionic

 

/* 微信氣泡 */
div.speech {
    float: left;
    margin: 10px 0;
    padding: 8px;
    table-layout: fixed;
    word-break: break-all;
    position: relative;
    background: -webkit-gradient( linear, 50% 0%, 50% 100%, from(#ffffff), color-stop(0.1, #ececec), color-stop(0.5, #dbdbdb), color-stop(0.9, #dcdcdc), to(#8c8c8c) );
    border: 1px solid #989898;
    border-radius: 8px;
}
div.speech:before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    left: 15px;
    top: -20px;
    border: 10px solid;
    border-color: transparent transparent #989898 transparent;
}
div.speech:after {
 content: '';
 position: absolute;
 width: 0;
 height: 0;
 left: 17px;
 top: -16px;
 border: 8px solid;
 border-color: transparent transparent #ffffff transparent;
}
div.speech.right {
 display: inline-block;
 box-shadow: -2px 2px 5px #CCC;
 margin-right: 10px;
 max-width: 75%;
 float: right;
 background: -webkit-gradient( linear, 50% 0%, 50% 100%, from(#e4ffa7), color-stop(0.1, #bced50), color-stop(0.4, #aed943), color-stop(0.8, #a7d143), to(#99BF40) );
}
div.speech.right:before {
 content: '';
 position: absolute;
 width: 0;
 height: 0;
 top: 9px;
 bottom: auto;
 left: auto;
 right: -10px;
 border-width: 9px 0 9px 10px;
 border-color: transparent #989898;
}
div.speech.right:after {
 content: '';
 position: absolute;
 width: 0;
 height: 0;
 top: 10px;
 bottom: auto;
 left: auto;
 right: -8px;
 border-width: 8px 0 8px 9px;
 border-color: transparent #bced50;
}
div .left {
 display: inline-block;
 box-shadow: 2px 2px 2px #CCCCCC;
 margin-left: 10px;
 max-width: 75%;
 position: relative;
 background: -webkit-gradient( linear, 50% 0%, 50% 100%, from(#ffffff), color-stop(0.1, #eae8e8), color-stop(0.4, #E3E3E3), color-stop(0.8, #DFDFDF), to(#D9D9D9) );
}
div .left:before {
 content: '';
 position: absolute;
 width: 0;
 height: 0;
 top: 9px;
 bottom: auto;
 left: -10px;
 border-width: 9px 10px 9px 0;
 border-color: transparent #989898;
}
div .left:after {
 content: '';
 position: absolute;
 width: 0;
 height: 0;
 top: 10px;
 bottom: auto;
 left: -8px;
 border-width: 8px 9px 8px 0;
 border-color: transparent #eae8e8;
}
.leftimg {
 float: left;
 margin-top: 10px;
}
.rightimg {
 float: right;
 margin-top: 10px;
}
.leftd {
 clear: both;
 float: left;
 margin-left: 10px;
}
.rightd {
 clear: both;
 float: right;
 margin-right: 10px;
}

.leftd_h{
 width: 39px;
 height: 39px;
 border-radius: 100%;
 display: block;
 float: left;
 overflow: hidden;
}

.leftd_h img{
 display: block;
 width: 100%;
 height: auto;
}
.rightd_h{
 width: 39px;
 height: 39px;
 border-radius: 100%;
 display: block;
 float: right;
 overflow: hidden;
}

.rightd_h img{
 display: block;
 width: 100%;
 height: auto;
}

  

這裏基本是上用了CSS僞類元素,來製做的小氣泡。網上有不少的案例都是吧用戶聊天的頭像做爲背景圖,可是我感受這樣子在實際項目中,並非很合適,因此我就作了一些修改,然咱們更加實用。學習

以上的代碼就是小氣泡的所有代碼,須要運行案例的請回復給我留言。spa

下一篇文章我將要給你們介紹怎麼用 ionic 來製做聊天頁面,以及數據的交互問題。有興趣的敬請期待吧!.net

相關文章
相關標籤/搜索