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