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