DevPlatform
Home
Components
Search
Submit
Earn
Login
Sign Up Free
Chat Mobile Mockup - Preview | DevPlatform
DevPlatform
Categories
Accordion
Animation
Box Shadow
Button
Card
Footer
Form
Gallery
Hero Section
Inputs
Loader
Marquee
Modal
Modules
Navbar
Progress Bar
Radio Buttons
Search-Bar
Sections
Slider
Tab
Timeline
Toggle
Chat Mobile Mockup
rohitwushu
Jan 27, 2026
6
0
Share
Live Preview
Refresh
Live Editor
HTML
CSS
JS
HTML
CSS
JavaScript
1
<div class="mobile-device"> <!-- Chat List --> <div class="chat-list-container"> <div class="chat-list" id="chatList"> <div class="chat-item active" data-user="Amily burns" data-status="online"> <div class="avatar online">👩</div> <div class="chat-info"> <div class="chat-name">Amily burns</div> <div class="chat-preview">Sure thing! Our startup...</div> </div> <div class="chat-meta"> <span class="verified-badge">✓</span> </div> </div> <div class="chat-item" data-user="Betty stevens" data-status="offline"> <div class="avatar">👱♀️</div> <div class="chat-info"> <div class="chat-name">Betty stevens</div> <div class="chat-preview">Hi, we have a new pr...</div> </div> <div class="chat-meta"> <div class="chat-time">1:48</div> <div class="unread-badge">2</div> </div> </div> <div class="chat-item" data-user="Danny roman" data-status="offline"> <div class="avatar">👨</div> <div class="chat-info"> <div class="chat-name">Danny roman</div> <div class="chat-preview">Hi, we have a new pr...</div> </div> <div class="chat-meta"> <div class="chat-time">2:30</div> <div class="unread-badge">1</div> </div> </div> </div> </div> <!-- Chat Window --> <div class="chat-window-container"> <div class="chat-header"> <div class="avatar online">👩</div> <div class="header-info"> <div class="header-name">Amily burns</div> <div class="header-status">online</div> </div> </div> <div class="chat-messages" id="chatMessages"> <div class="message received"> <div class="message-content"> Hi there, I'm interested in buying your startup. Can you give me a brief overview of the company and its current performance? <div class="message-time">2:10 PM</div> </div> </div> <div class="message sent"> <div class="message-content"> Sure thing! Our startup is a SaaS platform that provides innovative solutions for small businesses. We've been growing rapidly and have a solid customer base. <div class="message-time">2:10 PM</div> </div> </div> <div class="typing-indicator" id="typingIndicator"> <div class="typing-dot"></div> <div class="typing-dot"></div> <div class="typing-dot"></div> </div> </div> <div class="message-input-container"> <input type="text" class="message-input" id="messageInput" placeholder="Write a message..."> <button class="send-button" id="sendButton"> <svg viewBox="0 0 24 24"> <path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/> </svg> </button> </div> </div> </div>
1
* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; } /* Mobile Device Frame */ .mobile-device { width: 100%; max-width: 900px; display: flex; gap: 20px; animation: fadeIn 0.8s ease; } @keyframes fadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } } /* Chat List Section */ .chat-list-container, .chat-window-container { background: #f5f5f5; border-radius: 30px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); } .chat-list-container { width: 350px; height: 650px; display: flex; flex-direction: column; } .chat-window-container { flex: 1; height: 650px; display: flex; flex-direction: column; } /* Chat List */ .chat-list { flex: 1; overflow-y: auto; padding: 20px; } .chat-item { background: white; padding: 15px; border-radius: 15px; margin-bottom: 10px; display: flex; align-items: center; gap: 12px; cursor: pointer; transition: all 0.3s ease; animation: slideInLeft 0.5s ease; } .chat-item:hover { transform: translateX(5px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } @keyframes slideInLeft { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: translateX(0); } } .chat-item.active { background: #e8f5e9; } .avatar { width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(135deg, #667eea, #764ba2); display: flex; align-items: center; justify-content: center; font-size: 24px; position: relative; flex-shrink: 0; } .avatar.online::after { content: ''; position: absolute; bottom: 2px; right: 2px; width: 12px; height: 12px; background: #4caf50; border: 2px solid white; border-radius: 50%; } .chat-info { flex: 1; min-width: 0; } .chat-name { font-weight: 600; font-size: 16px; color: #333; margin-bottom: 4px; } .chat-preview { font-size: 14px; color: #999; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .chat-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; } .chat-time { font-size: 12px; color: #999; } .unread-badge { background: #4caf50; color: white; font-size: 12px; font-weight: 600; padding: 3px 8px; border-radius: 12px; min-width: 20px; text-align: center; } .verified-badge { color: #2196f3; font-size: 20px; } /* Chat Window */ .chat-header { background: white; padding: 20px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #eee; } .header-info { flex: 1; } .header-name { font-weight: 600; font-size: 16px; color: #333; } .header-status { font-size: 14px; color: #4caf50; } .chat-messages { flex: 1; overflow-y: auto; padding: 20px; background: #e8e8e8; } .message { margin-bottom: 20px; animation: messageSlide 0.4s ease; } @keyframes messageSlide { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .message-content { max-width: 70%; padding: 12px 16px; border-radius: 18px; font-size: 14px; line-height: 1.5; position: relative; } .message.received .message-content { background: white; border-bottom-left-radius: 4px; margin-right: auto; } .message.sent { display: flex; justify-content: flex-end; } .message.sent .message-content { background: #d4f4dd; border-bottom-right-radius: 4px; margin-left: auto; } .message-time { font-size: 11px; color: #999; margin-top: 5px; text-align: right; } /* Message Input */ .message-input-container { background: white; padding: 15px 20px; display: flex; align-items: center; gap: 12px; border-top: 1px solid #eee; } .message-input { flex: 1; padding: 12px 16px; border: 1px solid #e0e0e0; border-radius: 25px; font-size: 14px; outline: none; transition: all 0.3s ease; } .message-input:focus { border-color: #667eea; box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); } .send-button { width: 45px; height: 45px; background: #667eea; border: none; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; } .send-button:hover { background: #5568d3; transform: scale(1.05); } .send-button:active { transform: scale(0.95); } .send-button svg { width: 20px; height: 20px; fill: white; } /* Scrollbar Styling */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #ccc; border-radius: 10px; } ::-webkit-scrollbar-thumb:hover { background: #999; } /* Typing Indicator */ .typing-indicator { display: none; align-items: center; gap: 4px; padding: 12px 16px; background: white; border-radius: 18px; width: fit-content; margin-bottom: 20px; } .typing-indicator.active { display: flex; animation: messageSlide 0.4s ease; } .typing-dot { width: 8px; height: 8px; background: #999; border-radius: 50%; animation: typingAnimation 1.4s infinite; } .typing-dot:nth-child(2) { animation-delay: 0.2s; } .typing-dot:nth-child(3) { animation-delay: 0.4s; } @keyframes typingAnimation { 0%, 60%, 100% { transform: translateY(0); } 30% { transform: translateY(-10px); } } /* Responsive Design */ @media (max-width: 768px) { .mobile-device { flex-direction: column; } .chat-list-container { width: 100%; height: 500px; } .chat-window-container { height: 500px; } }
1
Comments
0
Want to comment?
Please
login
or
sign up
to post comments.
No comments yet
Be the first to comment on this component!
Comments 0
Want to comment?
Please login or sign up to post comments.
No comments yet
Be the first to comment on this component!