jquery+css实现自适应聊天窗口效果代码

代码语言:html

所属分类:布局界面

代码描述:jquery+css实现自适应聊天窗口效果代码

代码标签: 适应 聊天 窗口 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<html lang="en">

<head>
   
<meta charset="UTF-8">

   
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">

   
<style>
        html {
        -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
        -webkit-font-smoothing: antialiased;
        -webkit-tap-highlight-color: transparent
    }
   
    article,aside,figcaption,figure,footer,header,hgroup,main,nav,section {
        display: block
    }
   
    body {
        margin: 0;
        font-family: Microsoft Yahei,PingFang SC,Avenir,Segoe UI,Hiragino Sans GB,STHeiti,Microsoft Sans Serif,WenQuanYi Micro Hei,sans-serif;
        font-size: 14px;
        line-height: 1.4;
        font-weight: 400
    }
   
    hr {
        box-sizing: content-box;
        height: 0;
        overflow: visible
    }
   
    h1,h2,h3,h4,h5,h6,p {
        margin: 0;
        font-size: 1em
    }
   
    code,kbd,pre,samp {
        font-family: inherit;
        font-size: 1em
    }
   
    pre {
        white-space: pre-wrap;
        word-wrap: break-word;
        margin: 0
    }
   
    dd,dl,li,ol,ul {
        margin: 0;
        padding: 0
    }
   
    ol,ul {
        list-style: none outside none
    }
   
    a {
        background-color: transparent;
        text-decoration: none
    }
   
    a:active {
        outline: 0
    }
   
    abbr[title] {
        border-bottom: none;
        text-decoration: underline;
        text-decoration: underline dotted
    }
   
    b,strong {
        font-weight: bolder
    }
   
    small {
        font-size: 80%
    }
   
    sub,sup {
        font-size: 75%;
        line-height: 0;
        position: relative;
        vertical-align: baseline
    }
   
    sub {
        bottom: -.25em
    }
   
    sup {
        top: -.5em
    }
   
    img {
        border-style: none;
        vertical-align: middle;
        max-width: 100%
    }
   
    button,input,optgroup,select,textarea {
        font-size: 100%;
        margin: 0
    }
   
    button,input {
        overflow: visible
    }
   
    button,select {
        text-transform: none
    }
   
    [type=button],[type=reset],[type=submit],button {
        -webkit-appearance: button
    }
   
    [type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
        border-style: none;
        padding: 0
    }
   
    [type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring {
        outline: 1px dotted ButtonText
    }
   
    fieldset {
        min-width: 0;
        padding: 0;
        margin: 0;
        border: 0
    }
   
    legend {
        box-sizing: border-box;
        color: inherit;
        display: table;
        max-width: 100%;
        padding: 0;
        white-space: normal
    }
   
    progress {
        vertical-align: baseline
    }
   
    textarea {
        vertical-align: top;
        overflow: auto;
        resize: none
    }
   
    [type=checkbox],[type=radio] {
        box-sizing: border-box;
        padding: 0
    }
   
    [type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
        height: auto
    }
   
    [type=search] {
        -webkit-appearance: textfield;
        outline-offset: -2px
    }
   
    [type=search]::-webkit-search-decoration {
        -webkit-appearance: none
    }
   
    ::-webkit-file-upload-button {
        -webkit-appearance: button;
        font: inherit
    }
   
    details {
        display: block
    }
   
    summary {
        display: list-item
    }
   
    [hidden],template {
        display: none
    }
   
    *,:after,:before {
        box-sizing: border-box
    }
   
    @font-face {
        font-family: iconfont;
        src: url(data:font/truetype;charset=utf-8;base64,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) format("truetype");
        font-weight: 400;
        font-style: normal
    }
   
    .iconfont {
        font-family: iconfont!important;
        font-size: 16px;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        line-height: 1
    }
   
    .icon-voice-close:before {
        content: "\e891"
    }
   
    .icon-voice-open:before {
        content: "\e892"
    }
   
    .icon-rebot:before {
        content: "\e893"
    }
   
    .icon-exp:before {
        content: "\e895"
    }
   
    .icon-star:before {
        content: "\e896"
    }
   
    .icon-error:before {
        content: "\e899"
    }
   
    .icon-paishe:before {
        content: "\e89a"
    }
   
    .icon-arrow-right:before {
        content: "\e89b"
    }
   
    .icon-avater:before {
        content: "\e89c"
    }
   
    .icon-add:before {
        content: "\e89d"
    }
   
    .icon-arrow-down:before {
        content: "\e89e"
    }
   
    .icon-photo:before {
        content: "\e89f"
    }
   
    .icon-contact:before {
        content: "\e607"
    }
   
    .m-chat {
        position: relative;
        overflow: hidden;
        height: 100%
    }
   
    .m-chat .inner {
        padding: 15px 15px 0
    }
   
    .chat-hd {
        position: fixed;
        width: 100%;
        font-size: 0;
        text-align: left;
        padding: 15px 100px 15px 20px;
        border-bottom: 1px solid #eaeaea;
        background: #fff;
        vertical-align: top;
        z-index: 999;
        min-height: 56px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
        -ms-flex-align: baseline;
        align-items: baseline
    }
   
    .chat-hd .title {
        font-size: 18px;
        color: #333;
        max-width: calc(100vw - 120px)
    }
   
    .chat-hd .desc,.chat-hd .title {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        word-break: break-all;
        word-wrap: normal
    }
   
    .chat-hd .desc {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        font-size: 14px;
        color: #999;
        margin-left: 10px
    }
   
    .chat-hd .iconbox {
        display: block;
        opacity: 1;
        position: absolute;
        right: 20px;
        top: 18px;
        cursor: pointer
    }
   
    .chat-hd .iconbox .iconfont {
        font-size: 20px;
        color: #666;
        margin-left: 10px
    }
   
    .chat-hd .iconbox .iconfont:first-child {
        margin-left: 0
    }
   
    .chat-hd .iconbox .iconfont:active {
        color: #4979ff
    }
   
    .chat-hd~.chat-scroll {
        padding-top: 56px
    }
   
    .chat-scroll {
        padding-bottom: 50px;
        transition: height .3s ease-in-out;
        -webkit-overflow-scrolling: touch
    }
   
    .chat-scroll .copyright {
        font-size: 12px;
        color: #ccc;
        text-align: center;
        padding-bottom: 10px
    }
   
    .no-ft .chat-scroll {
        padding-bottom: 0
    }
   
    .no-ft .chat-ft {
        display: none
    }
   
    .chat-item {
        width: 100%;
        padding-bottom: 15px
    }
   
    .chat-item .msg {
        position: relative
    }
   
    .chat-item .name {
        padding: 0 10px;
        margin-bottom: 2px;
        word-wrap: break-word;
        word-break: break-all;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical
    }
   
    .chat-item .remind {
        margin: 0 auto;
        padding: 7px 10px;
        font-size: 12px;
        border-radius: 4px;
        color: #fff;
        background: rgba(0,0,0,.12);
        line-height: 18px;
        max-width: 275px
    }
   
    .chat-item .remind .remind-link {
        color: #4979ff
    }
   
    .chat-item .remind2 {
        padding: 7px 10px;
        font-size: 12px;
        border-radius: 4px;
        color: #fff;
        background: rgba(0,0,0,.12);
        line-height: 18px;
        max-width: 275px;
        margin: 0 auto 5px
    }
   
    .chat-item .tips {
        font-size: 12px;
        color: #999;
        text-align: center;
        padding: 10px 0 15px
    }
   
    .chat-item .tips.is-tipsdot {
        position: relative
    }
   
    .chat-item .tips.is-tipsdot:before {
        content: "";
        width: 6px;
        height: 6px;
        background: #20e283;
        border-radius: 50%;
        display: inline-block;
        margin-right: 5px;
        vertical-align: 1px
    }
   
    .chat-item .avatar {
        width: 40px;
        height: 40px;
        position: absolute;
        top: 0;
        border: 1px solid #e6e6e6;
        border-radius: 2px
    }
   
    .chat-item .content {
        position: relative;
        display: inline-block;
        vertical-align: top
    }
   
    .chat-item .content.is-fail {
        font-family: iconfont
    }
   
    .chat-item .content.is-fail:after {
        content: "\e899";
        position: absolute;
        top: 50%;
        margin-top: -10px;
        line-height: 1;
        font-size: 20px;
        color: #ed4343
    }
   
    .chat-item .commodity {
        position: relative;
        width: 100%;
        height: 104px;
        padding: 10px;
        background: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        border-radius: 4px
    }
   
    .chat-item .commodity .commodity-img {
        width: 84px;
        height: 84px;
        overflow: hidden;
        margin-right: 10px
    }
   
    .chat-item .commodity .commodity-img img {
        max-width: 100%
    }
   
    .chat-item .commodity .commodity-info {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
   
    .chat-item .commodity .commodity-title {
        font-size: 14px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        text-align: left;
        color: #000;
        padding: 1px 0
    }
   
    .chat-item .commodity .commodity-price {
        margin-top: 5px
    }
   
    .chat-item .commodity .commodity-price .now {
        font-size: 14px;
        color: #4979ff;
        font-weight: 500;
        display: block;
        padding-top: 1px
    }
   
    .chat-item .commodity .commodity-price .sale {
        display: block;
        font-size: 13px;
        color: #ccc;
        text-decoration: line-through;
        margin-top: 1px
    }
   
    .chat-item .commodity .commodity-price .sale.no-price {
        text-decoration: none
    }
   
    .chat-item .commodity .commodity-link {
        position: absolute;
        right: 10px;
        bottom: 10px;
        color: #fff;
        display: inline-block;
        background: #4979ff;
        border-radius: 4px;
        font-size: 13px;
        padding: 10px 15px;
        line-height: 1
    }
   
    .chat-item .picture img {
        display: block;
        cursor: pointer;
        max-width: 140px;
        max-height: 140px
    }
   
    .chat-item .bubble {
        position: relative;
        display: inline-block;
        background: #fff;
        word-wrap: break-word;
        word-break: break-all;
        border-radius: 4px;
        text-align: left
    }
   
    .chat-item .bubble:before {
        position: absolute;
        top: 8px;
        border: 6px solid transparent;
        content: " "
    }
   
    .chat-item .bubble pre {
        padding: 9.5px 10px;
        text-align: justify;
        font-size: 15px
    }
   
    .chat-item.is-left .msg {
        text-align: left
    }
   
    .chat-item.is-left .avatar {
        left: 0
    }
   
    .chat-item.is-left .bubble {
        margin-left: 10px
    }
   
    .chat-item.is-left .bubble:before {
        border-right-color: #fff;
        border-right-width: 8px;
        right: 100%
    }
   
    .chat-item.is-left .content {
        padding-right: 20.5px
    }
   
    .chat-item.is-left .content.is-fail:after {
        right: -5px
    }
   
    .chat-item.is-left .avatar~.content {
        padding-left: 40px
    }
   
    .chat-item.is-right .msg {
        text-align: right
    }
   
    .chat-item.is-right .avatar {
        right: 0
    }
   
    .chat-item.is-right .content {
        padding-left: 20.5px
    }
   
    .chat-item.is-right .content.is-fail:after {
        left: -5px
    }
   
    .chat-item.is-right .avatar~.content {
        padding-right: 40px
    }
   
    .chat-item.is-right .commodity {
        width: 275px
    }
   
    .chat-item.is-right .bubble {
        background: #4979ff;
        margin-right: 10px;
        color: #fff
    }
   
    .chat-item.is-right .bubble:before {
        left: 100%;
        border-left-color: #4979ff;
        border-left-width: 8px
    }
   
    .chat-item.is-right .bubble.is-whitearrow:before {
        border-left-color: #fff
    }
   
    .chat-item.is-commodity {
        padding-bottom: 25px
    }
   
    .chat-item.is-commodity .bubble,.chat-item.is-commodity .content {
        width: 100%
    }
   
    .chat-appraise {
        padding: 10px
    }
   
    ..........完整代码请登录后点击上方下载按钮下载查看

网友评论0