今天520了,我用HTML5 + CSS3模擬了西門慶、武大郎和潘金蓮的精彩微信聊天,希望你看完以后可以在緊張的工作中,放松一下,開心一下,同時祝你在這個520可以過得開心快樂。
目錄
1 實現思路
1.1 聊天實現素材
1.2 HTML布局的素材準備?
2 聊天內容的精心打造?
2.1 金蓮心思的第一次改變
2.2? 金蓮決定與門慶說明情況
2.3 精彩大反轉?
3 完整源代碼?
1 實現思路
1.1 聊天實現素材
- 頭像圖片3個
- 聊天內容圖片4個
- 聊天表情圖片1個
- 聊天HTML頁面3個
1.2 HTML布局的素材準備?
布局過程需要搭建聊天窗口框架,頂部聊天對象,按鍵設置,等:
- 聊天窗口頂部布局
- 聊天區域布局
- 右側都是發送者
- 左側為其他人
- 區分發送對象,用CSS模擬小三角來實現
- 發送圖片,避免寬高擴張的css設置
2 聊天內容的精心打造?
為了結合HTML5 + CSS3的學習,使學習起來更有意思,所以在520精心準備了這段模擬微信聊天記錄,所以源代碼稍后會給出,你可以開心的看一下聊天內容,一起來看一下吧
2.1 金蓮心思的第一次改變
我們知道,金蓮的心思不在大郎這里了,我們看大郎如何喚醒金蓮的心
2.2? 金蓮決定與門慶說明情況
在金蓮知道了大郎的好之后,決定一起好好過日子,所以決定說明事情,但事情似乎有反轉
2.3 精彩大反轉?
當我們以為金蓮又反轉,回心轉意后,沒想到金蓮拉起來群聊,這時候,你是否相信了愛情呢
3 完整源代碼?
?這篇博客的源代碼分為3部分,分別是3個聊天窗口的記錄,圖片素材你可以自己去找一找,也可以跟我私信要,很有意思的
第一部分聊天代碼:
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>HTML5+CSS3的模擬微信窗口</title><style>html, body, * {margin: 0;padding: 0;font-size: 14px;font-family: Microsoft Yahei;}.chat-box {width: 375px;height: 667px;background: #000;}.head {position: fixed;top: 0;left: 0;height: 40px;width: 375px;}.head .back {position: absolute;height: 40px;width: 40px;background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzRCQTEyN0IzOTcwMTFFODk1OEZCOEVCMEE2QUU1NkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzRCQTEyN0MzOTcwMTFFODk1OEZCOEVCMEE2QUU1NkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NEJBMTI3OTM5NzAxMUU4OTU4RkI4RUIwQTZBRTU2RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NEJBMTI3QTM5NzAxMUU4OTU4RkI4RUIwQTZBRTU2RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PulQWg8AAAF/SURBVHja7Ni9SsRAEAfwnd1wldiIlqK1td4LiL7CFQaFCHZWgmVqH+GK4FejryA+gPcA9vZ2YnVkd5yAcBLOYJKZ3UWyRbIchPsxSzb/HUBEFfPQKvIxAP89MGn7wPHpuTLOtXoGMdl1WF4rUBug9cX25tpdnufRVHBssXxGhTu0Y6yjs1P6bRTLEo9Lp56ohquLasKcbk5sifvgAMBRRc5oWoau4FIcfRJOaPoQ+i1uwt2H3mZYcdxAdhwnUATHBRTDcQBFcX2B4rg+QC+4rsA9X7gunzpQ1j7S3QuudQWz7HKFjjBbNXNR4QhaYcMCi+LqkwxvtbSX0SWNJVGjAZhQ1T4W8Qk11e2GpkexRP5ZotVBHUmXWwlk122mCZnGAPwV+b3caQxAL0iOsCCK5IpbYkjOwCqC5I787EiJQxMrUurY2YScxNI8Woq0qKZtUpR062NmQB/+RALgqM3/+mgevRhI9imMvVIcewdtqtbH/M8BdOhRD8DA40uAAQDL2thNJDxLvAAAAABJRU5ErkJggg==) no-repeat;background-size: 80%;background-position: center;}.head .title {margin: 0 70px;height: 40px;font-size: 16px;line-height: 40px;text-align: center;color: #FFF;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.head .opera-point {position: absolute;top: 12px;right: 12px;width: 40px;background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAAMCAYAAAG2I8urAAAAAXNSR0IArs4c6QAAAddJREFUSA3VVr1OwzAQto0oqgQPABszD4BY4TVIfwR0aBgQb8ALIAbSoVD1J7wGrFRiAokVsbGwMSAVCXPn4PSSxklMGol6SM539913/jnbjEFzGu0j/GOTUvJACr5Owx0L5SBZVxtqDffbqbel7gNqG6K441ABglN3PyJ9YBHKk2qZXNVdzcJVJAwJzR92IvmgjlLH7RSrBhNPAwPohs508FqPf5wIjQVhOtg0xrgNA1GsQIW5yZ7ZFrVwTA+XIaLm/M4feHsRXUKnDOzSy+s7Lnclxrf59PhwFtPNdMvACn/orTGYEcpWXals0L5JLgOrtnGwx/k54+x51L/c4ZxPq8iUza9+3liss1vY57uUdzTwRJ6kysDi6RBJBhOrNY/vaYJGuQRscrlKtmVMIstQEJucEJenWbxGe0GsmKkodQZ1royExFAGVlVZq3Wy/jn5uknaT4ofkqxWlve73Ys3kk9hcRF4oerhtieXeeqoOWv5g3yrmRoHjIvCC6cQnM95m41vVkybWDa+c+YVeHllxQztNr4hyCDYxLLxNdCFaptY4CvwZo8/PcJgVIBzSPlSXQF5UXjDF716iTbdQ8b4AZxJwb2qZlv2Rn3vOs9L5C/z9d95fwDELzC7i+rQHQAAAABJRU5ErkJggg==) no-repeat;background-size: 80%;background-position: center;}.char-body {width: 375px;height: 587px;overflow-y: auto;position: absolute;top: 40px;}.char-body::-webkit-scrollbar { display: none;}.other-people-li, .me-people-li {display: flex;margin-top: 20px;}.me-people-li {position: relative;display: flex;flex-direction: row-reverse;margin-top: 20px;}.me-people-li .error-icon {position: absolute;left: 54px;top: 10px;width: 30px;}.other-people-li .head-photo {margin-left: 12px;width: 50px;height: 50px;vertical-align: top;border-radius: 6px;}.me-people-li .head-photo {margin-right: 12px;width: 50px;height: 50px;vertical-align: top;border-radius: 6px;}.me-people-li .word {display: inline-block;padding: 15px;background: #a1e75c;color: #000;margin-right: 10px;border-radius: 10px;}.other-people-li .word {display: inline-block;max-width: 54%;padding: 15px;background: #302b2f;color: #EEEfFF;margin-left: 10px;border-radius: 10px;}.other-people-li .word img, .me-people-li .word img{max-width: 188px;}.me-people-li .word::before {display: block;content: '';width: 0;height: 0;border-left: #a1e75c 10px solid;border-top: transparent 10px solid;border-bottom: transparent 10px solid;position: absolute;right: 64px;}.other-people-li .word::before {display: block;content: '';width: 0;height: 0;border-right: #302b2f 10px solid;border-top: transparent 10px solid;border-bottom: transparent 10px solid;position: absolute;margin-left: -22px;}.into-box {margin-bottom: 20px;padding-right: 74px;text-align: right;}.into-box span {display: inline-block;margin-top: 8px;padding: 2px 6px;background: #CCC;border-radius: 4px;color: #898989;}.emo1 {width: 30px;height: 24px;position: relative;top: 7px;}.time {color: #FFF;text-align: center;line-height: 80px}</style></head><body><div class="chat-box"><div class="head"><div class="back"></div><div class="title">大郎</div><div class="opera-point">...</div></div><div class="char-body"><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">媳婦,我今天身體不適,不能出去賣炊餅了</div></div><div class="me-people-li"><img src="./jinlian.png" class="head-photo" /><div class="word">大郎,我知道,你該吃藥了</div></div><div class="me-people-li"><img src="./jinlian.png" class="head-photo" /><div class="word"><img src="yaotang.png" /></div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">這一看就是鶴頂紅啊,我不喝</div></div><div class="me-people-li"><img src="./jinlian.png" class="head-photo" /><div class="word">大郎,喝了吧,這只是單純的一碗紅糖水</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">金蓮,我知道你最想想買車</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">我賣炊餅攢了20萬,剛好夠買一輛全新Mini</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">今天520了,我現給你發個紅包吧</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word"><img src="520.png" /></div></div><div class="me-people-li"><img src="./jinlian.png" class="head-photo" /><div class="word">大郎,其實我有件事想跟你說</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">媳婦,你別說,我都懂</div></div><div class="me-people-li"><img src="./jinlian.png" class="head-photo" /><div class="word"><img src="haixiu.png" /></div></div></div></div></body>
</html>
?群聊聊天代碼:
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>HTML5+CSS3的三者精彩群聊</title><style>html, body, * {margin: 0;padding: 0;font-size: 14px;font-family: Microsoft Yahei;}.chat-box {width: 375px;height: 667px;background: #000;}.head {position: fixed;top: 0;left: 0;height: 40px;width: 375px;}.head .back {position: absolute;height: 40px;width: 40px;background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzRCQTEyN0IzOTcwMTFFODk1OEZCOEVCMEE2QUU1NkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzRCQTEyN0MzOTcwMTFFODk1OEZCOEVCMEE2QUU1NkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NEJBMTI3OTM5NzAxMUU4OTU4RkI4RUIwQTZBRTU2RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NEJBMTI3QTM5NzAxMUU4OTU4RkI4RUIwQTZBRTU2RSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PulQWg8AAAF/SURBVHja7Ni9SsRAEAfwnd1wldiIlqK1td4LiL7CFQaFCHZWgmVqH+GK4FejryA+gPcA9vZ2YnVkd5yAcBLOYJKZ3UWyRbIchPsxSzb/HUBEFfPQKvIxAP89MGn7wPHpuTLOtXoGMdl1WF4rUBug9cX25tpdnufRVHBssXxGhTu0Y6yjs1P6bRTLEo9Lp56ohquLasKcbk5sifvgAMBRRc5oWoau4FIcfRJOaPoQ+i1uwt2H3mZYcdxAdhwnUATHBRTDcQBFcX2B4rg+QC+4rsA9X7gunzpQ1j7S3QuudQWz7HKFjjBbNXNR4QhaYcMCi+LqkwxvtbSX0SWNJVGjAZhQ1T4W8Qk11e2GpkexRP5ZotVBHUmXWwlk122mCZnGAPwV+b3caQxAL0iOsCCK5IpbYkjOwCqC5I787EiJQxMrUurY2YScxNI8Woq0qKZtUpR062NmQB/+RALgqM3/+mgevRhI9imMvVIcewdtqtbH/M8BdOhRD8DA40uAAQDL2thNJDxLvAAAAABJRU5ErkJggg==) no-repeat;background-size: 80%;background-position: center;}.head .title {margin: 0 70px;height: 40px;font-size: 16px;line-height: 40px;text-align: center;color: #FFF;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}.head .opera-point {position: absolute;top: 12px;right: 12px;width: 40px;background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAAMCAYAAAG2I8urAAAAAXNSR0IArs4c6QAAAddJREFUSA3VVr1OwzAQto0oqgQPABszD4BY4TVIfwR0aBgQb8ALIAbSoVD1J7wGrFRiAokVsbGwMSAVCXPn4PSSxklMGol6SM539913/jnbjEFzGu0j/GOTUvJACr5Owx0L5SBZVxtqDffbqbel7gNqG6K441ABglN3PyJ9YBHKk2qZXNVdzcJVJAwJzR92IvmgjlLH7RSrBhNPAwPohs508FqPf5wIjQVhOtg0xrgNA1GsQIW5yZ7ZFrVwTA+XIaLm/M4feHsRXUKnDOzSy+s7Lnclxrf59PhwFtPNdMvACn/orTGYEcpWXals0L5JLgOrtnGwx/k54+x51L/c4ZxPq8iUza9+3liss1vY57uUdzTwRJ6kysDi6RBJBhOrNY/vaYJGuQRscrlKtmVMIstQEJucEJenWbxGe0GsmKkodQZ1royExFAGVlVZq3Wy/jn5uknaT4ofkqxWlve73Ys3kk9hcRF4oerhtieXeeqoOWv5g3yrmRoHjIvCC6cQnM95m41vVkybWDa+c+YVeHllxQztNr4hyCDYxLLxNdCFaptY4CvwZo8/PcJgVIBzSPlSXQF5UXjDF716iTbdQ8b4AZxJwb2qZlv2Rn3vOs9L5C/z9d95fwDELzC7i+rQHQAAAABJRU5ErkJggg==) no-repeat;background-size: 80%;background-position: center;}.char-body {width: 375px;height: 587px;overflow-y: auto;position: absolute;top: 40px;}.char-body::-webkit-scrollbar { display: none;}.other-people-li, .me-people-li {display: flex;margin-top: 20px;}.me-people-li {position: relative;display: flex;flex-direction: row-reverse;margin-top: 20px;}.me-people-li .error-icon {position: absolute;left: 54px;top: 10px;width: 30px;}.other-people-li .head-photo {margin-left: 12px;width: 50px;height: 50px;vertical-align: top;border-radius: 6px;}.me-people-li .head-photo {margin-right: 12px;width: 50px;height: 50px;vertical-align: top;border-radius: 6px;}.me-people-li .word {display: inline-block;padding: 15px;background: #a1e75c;color: #000;margin-right: 10px;border-radius: 10px;}.other-people-li .word {display: inline-block;max-width: 54%;padding: 15px;background: #302b2f;color: #EEEfFF;margin-left: 10px;border-radius: 10px;}.other-people-li .word img, .me-people-li .word img{max-width: 188px;}.me-people-li .word::before {display: block;content: '';width: 0;height: 0;border-left: #a1e75c 10px solid;border-top: transparent 10px solid;border-bottom: transparent 10px solid;position: absolute;right: 64px;}.other-people-li .word::before {display: block;content: '';width: 0;height: 0;border-right: #302b2f 10px solid;border-top: transparent 10px solid;border-bottom: transparent 10px solid;position: absolute;margin-left: -22px;}.into-box {margin-bottom: 20px;padding-right: 74px;text-align: right;}.into-box span {display: inline-block;margin-top: 8px;padding: 2px 6px;background: #CCC;border-radius: 4px;color: #898989;}.emo1 {width: 30px;height: 24px;position: relative;top: 7px;}.time {color: #FFF;text-align: center;line-height: 80px}</style></head><body><div class="chat-box"><div class="head"><div class="back"></div><div class="title">群聊(3)</div><div class="opera-point">...</div></div><div class="char-body"><div class="me-people-li"><img src="./jinlian.png" class="head-photo" /><div class="word">@大郎 @慶哥 這里</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">剛才的藥勁兒真是大</div></div><div class="other-people-li"><img src="./menqing.png" class="head-photo" /><div class="word">為什么要拉個群?</div></div><div class="me-people-li"><img src="./jinlian.png" class="head-photo" /><div class="word">我思考了很久</div></div><div class="me-people-li"><img src="./jinlian.png" class="head-photo" /><div class="word">我們3個為什么不能融洽的生活呢?</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">你知不知道我弟弟是誰?</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">你看見這只老虎沒?</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word"><img src="laohu.png" /></div></div><div class="other-people-li"><img src="./menqing.png" class="head-photo" /><div class="word">我知道,你弟弟很厲害</div></div><div class="other-people-li"><img src="./menqing.png" class="head-photo" /><div class="word">但,你弟弟回來打我之前,我就會打你</div></div><div class="other-people-li"><img src="./menqing.png" class="head-photo" /><div class="word">來,今天520了,給你發個紅包</div></div><div class="other-people-li"><img src="./menqing.png" class="head-photo" /><div class="word"><img src="520.png" /></div></div><p class="time">大郎已收取紅包</p><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">別想520元的紅包就收買我,我弟弟打你</div></div><div class="other-people-li"><img src="./menqing.png" class="head-photo" /><div class="word"><img src="520.png" /></div></div><div class="other-people-li"><img src="./menqing.png" class="head-photo" /><div class="word"><img src="520.png" /></div></div><div class="other-people-li"><img src="./menqing.png" class="head-photo" /><div class="word">剛才給金蓮發了1個,現在給你發3個,沒有了啊</div></div><p class="time">大郎已收取紅包</p><p class="time">大郎已收取紅包</p><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word">哈哈,中午咱們3個整點</div></div><div class="other-people-li"><img src="./dalang.png" class="head-photo" /><div class="word"><img src="jirou.png" /></div></div><p class="time">群主將群名改為“520一家親”</p></div></div></body>
</html>
看到這里,你是否學習了HTML5 + CSS3知識,也順便著讀完博客,開心的笑了一下呢,我準備了非常不錯的投票,投一下吧,投一下更開心。