Heim > Web-Frontend > CSS-Tutorial > CSS3-Chat-Blasenstil

CSS3-Chat-Blasenstil

php中世界最好的语言
Freigeben: 2018-03-16 14:23:04
Original
5477 Leute haben es durchsucht

Dieses Mal werde ich Ihnen den CSS3-Chat-Blasenstil vorstellen. Was sind die Vorsichtsmaßnahmen bei der Erstellung des CSS3-Chat-Blasenstils?

In der Chat-Szene muss der Chat-Inhalt mit Blasen geändert werden, wie unten gezeigt. Lassen Sie uns sie unten einzeln erklären.

Bildstil:

Der erste Stil ist JD-Kundendienst. Die abgerundeten Ecken und Haken der Blasen bestehen alle aus Bildern. Ein Tisch wird verwendet, um einen abgerundeten Rahmen zu bilden. Der LM-Stil verdeutlicht den Haken.

 <p class="jimi_lists clearfix">
                <p class="header_img jimi3 fl"></p>
                <table class="msg" cellspacing="0" cellpadding="0">
                    <tbody><tr><td class="lt"></td><td class="tt"></td><td class="rt"></td></tr>
                    <tr><td class="lm"><span></span></td><td class="mm"><span class="wel"><span class="visitor"><p>很抱歉,现在人工客服忙,让小JIMI为您解答吧。</p></span></span></td><td class="rm"></td></tr>
                    <tr><td class="lb"></td><td class="bm"></td><td class="rb"></td></tr><tr><td></td></tr>
                    </tbody>
                </table>
            </p>
            <p class="customer_lists clearfix">
                <p class="header_img jimi3" style="background: url(img/mine.jpg) no-repeat center;">
                    <p class="header_img_hover"></p>
                </p>
                <table class="msg" cellspacing="0" cellpadding="0"><tbody><tr><td class="lt"></td><td class="tt"></td><td class="rt"></td></tr><tr><td class="lm"></td><td class="mm">你好,我是stoneniqiu</td><td class="rm"><span></span></td></tr><tr><td class="lb"></td><td class="bm"></td><td class="rb"></td></tr><tr><td></td><td class="time"></td><td></td></tr></tbody></table>
            </p>
Nach dem Login kopieren

Stil:

 .jimi_lists {
    margin: 0 -10px 20px 10px;
    position: relative;
}
 .jimi_lists .header_img.jimi3 {
    background: url(../img/jimi_50_3.png) no-repeat 0 0;
}
 .jimi_lists .header_img {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 0;
    left: 0;
}.fl {
    float: left;
}
 .jimi_lists .msg {
    margin-left: 59px;
    margin-right: 40px;
    margin-top: 2px;
    float: left;
    display: inline;
}
 .jimi_lists .lt {
    background: url(../img/msg_bg_lr.png) no-repeat 0 0;
    width: 26px;
    height: 10px;
}
 .jimi_lists .tt {
    background: url(../img/msg_bg_tb.png) repeat-x 0 -23px;
    height: 10px;
}.jimi_lists .rt {
    background: url(../img/msg_bg_lr.png) no-repeat -35px 0;
    width: 10px;
    height: 10px;
}.jimi_lists .lm {
    background: url(../img/msg_bg_lr.png) repeat-y -94px 0;
    width: 26px;
    vertical-align: top;
    position: relative;
}.jimi_lists .mm {
    padding: 0 5px;
    background-color: #FFF;
    word-break: break-all;
    word-wrap: break-word;
    color: #333;
    line-height: 20px;
}.jimi_lists .lm span {
    background: url(../img/msg_bg_lr.png) no-repeat 0 -14px;
    display: inline-block;
    width: 26px;
    height: 16px;
    position: absolute;
    top: 5px;
}.jimi_lists .rm {
    background: url(../img/msg_bg_lr.png) repeat-y -113px 0;
    width: 10px;
}.jimi_lists .lb {
    background: url(../img/msg_bg_lr.png) no-repeat 0 -43px;
    width: 10px;
    height: 10px;
}.jimi_lists .bm {
    background: url(../img/msg_bg_tb.png) repeat-x 0 -25px;
    height: 10px;
}.jimi_lists .rb {
    background: url(../img/msg_bg_lr.png) no-repeat -35px -43px;
    width: 10px;
    height: 10px;
}.customer_lists {
    position: relative;
    margin: 0 12px 20px 20px;
}.customer_lists .msg {
    float: right;
    margin-right: 73px;
    _margin-right: 38px;
    margin-top: 2px;
}.customer_lists .lt {
    background: url(../img/msg_bg_lr.png) no-repeat -47px -0;
    width: 10px;
    height: 10px;
}.customer_lists .tt {
    background: url(../img/msg_bg_tb.png) repeat-x 0 0;
    height: 10px;
}.customer_lists .rt {
    background: url(../img/msg_bg_lr.png) no-repeat -63px 0;
    width: 26px;
    height: 10px;
}.customer_lists .lm {
    background: url(../img/msg_bg_lr.png) repeat-y -126px 0;
    width: 10px;
}.customer_lists .mm {
    padding: 1px 8px;
    background-color: #3897E7;
    word-break: break-all;
    word-wrap: break-word;
    color: #FFF;
}.customer_lists .rm {
    background: url(../img/msg_bg_lr.png) repeat-y -129px 0;
    width: 26px;
    vertical-align: top;
    position: relative;
}.customer_lists .lb {
    background: url(../img/msg_bg_lr.png) no-repeat -47px -36px;
    width: 10px;
    height: 10px;
}.customer_lists .bm {
    background: url(../img/msg_bg_tb.png) repeat-x -106px -4px;
    height: 10px;
}.customer_lists .rb {
    background: url(../img/msg_bg_lr.png) no-repeat -63px -36px;
    width: 26px;
    height: 10px;
}.customer_lists .rm span {
    background: url(../img/msg_bg_lr.png) no-repeat -63px -14px;
    display: inline-block;
    width: 26px;
    height: 16px;
    position: absolute;
    top: 5px;
}.customer_lists .header_img_hover {
    position: absolute;
    background: url(../img/avatar_mask_01.png);
    top: 0;
    width: 50px;
    height: 50px;
}.customer_lists .header_img {
    position: absolute;
    top: 0;
    right: 14px;
    width: 50px;
    height: 50px;
}
 .clearfix:after {
    content: " .";
    display: block;
    clear: both;
    visibility: hidden;
    height: 0;
}
Nach dem Login kopieren

Code anzeigen

Hintergrundstil:

Der zweite verwendet hauptsächlich: vor der Pseudoklasse zum Zeichnen Dreiecke wurden hergestellt und dann mithilfe der Positionierung zusammengesetzt.

  <p class="jimi_lists clearfix">
                <p class="header_img jimi3 fl"></p>
                <p class="bkbubble right">
                     <p>换个气泡如何</p>
                </p>
            </p>
            <p class="customer_lists clearfix">
                <p class="header_img jimi3" style="background: url(img/mine.jpg) no-repeat center;">
                    <p class="header_img_hover"></p>
                </p>
                <p class="bkbubble left">
                    <p>这个不错</p>
                </p>
            </p>
Nach dem Login kopieren

Stil:

  .bkbubble.right p:before, .bkbubble.left p:before {
      width: 0;
    position: absolute;
    top: 12px;
    border-style: solid;
    content: "";
  }
  .bkbubble.left {
      text-align: right;
  }
 .bkbubble.right p:before {
     left: -12px;
    border-color: transparent #00bfff;
    border-width: 0 12px 12px 0; }
 .bkbubble.left p:before {
     right: -12px;
    border-color: transparent #00bfff;
    border-width: 0 0 12px 12px ; }
Nach dem Login kopieren

Weitere Dreiecke: http://www.cnblogs.com/lhb25/p/css-and-css3-triangle.html

Rahmenstil:

Was passiert, wenn die Rahmenfarbe und die Hintergrundfarbe unterschiedlich sein müssen? Die obige Methode funktioniert nicht, da die Verwendung von :before zum Zeichnen eines Dreiecks das Prinzip der Umrandung nutzt. Mit anderen Worten: Bei der obigen Methode kann das kleine Dreieck am Rand der Blase nicht zwei Farben anzeigen, da es nur eine Umrandung hat . Farbe. Dann müssen wir einen Weg finden, ein Dreieck mit einem Rand zu machen.

  <p class="jimi_lists lim_operator clearfix">
                <p class="header_img jimi3 fl"></p>
                <p class="lim_bubble lim_shadow"><p class="lim_dot">您好,请问有什么可以帮到您?</p></p>
                <p class="lim_tale"><p class="radiusborder"></p></p>
            </p>
Nach dem Login kopieren

1. Zeichnen Sie zunächst ein kleines Rechteck.

.lim_operator .lim_tale {
    left: -1px;
    background-color: #c8f064;
    border-color: #a5d01b;
    margin-left: 70px;
}.lim_tale {
    position: absolute;
    width: 12px;
    height: 8px;
    overflow: hidden !important;
    top: 10px;
    z-index: 2;
    border-top-style: solid;
    border-top-width: 1px;
}
Nach dem Login kopieren

2. Zeichnen Sie eine diagonale Linie.

Es gibt keine Schrägstriche im CSS. Hier wird ein Kreisbogen verwendet, um es auszudrücken. Auf einem großen Kreis ist der Schnittpunkt eines Bogens eine diagonale Linie.

.lim_operator .radiusborder {
    position: absolute;
    background-color: #EFF0F2;
    top: -29px;
    left: -94px;
    height: 160px;
    width: 160px;
    border-top-style: solid;
    border-top-width: 1px;
    border-right-style: solid;
    border-right-width: 1px;
    border-top-right-radius: 154px;
    border-color: #a5d01b;
}
Nach dem Login kopieren

Überlagerungsstil:

Das Prinzip entspricht der Verwendung von „Vorher“ zum Zeichnen eines farbigen Hintergrunds, der Verwendung von „Danach“ zum Zeichnen eines weißen Hintergrunds und dem anschließenden Überlagern und Versetzen der oberen 1-2 Pixel , sodass ein Dreieck mit einem Rand und einem Hintergrund erscheint. So macht es Web-WeChat

.expression:before {
    content: '';
    position: absolute;
    left: 16px;
    top: 100%;
    margin-left: -7px;
    border: 7px solid transparent;
    border-top-color: #CFCFCF}.expression:after {
    content: '';
    position: absolute;
    left: 16px;
    top: 100%;
    margin-left: -7px;
    margin-top: -1px;
    border: 7px solid transparent;
    border-top-color: #FFF}
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

JavaScripts var und this, {} und function

So verwenden Sie SS3-Verläufe

Das obige ist der detaillierte Inhalt vonCSS3-Chat-Blasenstil. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage