I'll help you create a simple MacBook clone UI using HTML, CSS, and JavaScript. This will include a screen, keyboard, and basic UI elements.
I'll help you create a simplified MacBook clone UI without the keyboard. Here's the updated version:
Here's a simplified MacBook-style desktop UI for computers:
Here's a refined version with macOS styling:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>macOS Desktop</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Helvetica Neue', sans-serif;
}
body {
background-color: #f0f0f0;
height: 100vh;
overflow: hidden;
}
.desktop {
height: 100vh;
display: flex;
flex-direction: column;
}
.menu-bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 10px;
background-color: rgba(240, 240, 240, 0.8);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
height: 25px;
font-size: 13px;
color: #333;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.apple-menu {
font-weight: 500;
}
.menu-items {
display: flex;
gap: 15px;
}
.menu-item {
cursor: default;
}
.menu-item:hover {
color: #000;
}
.right-menu {
display: flex;
gap: 15px;
}
.desktop-area {
flex: 1;
position: relative;
background: linear-gradient(135deg, #f0f0f0, #e0e0e0);
padding: 20px;
}
.dock {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50);
display: flex;
background-color: rgba(240, 240, 240, 0.5);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-radius: 12px;
padding: 6px;
gap: 8px;
border: 1px solid rgba(0, 0, 0, 0.1);
}
.dock-item {
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 10px;
transition: all 0.2s ease;
}
.dock-item:hover {
transform: scale(1.2);
}
.dock-icon {
width: 40px;
height: 40px;
background-color: rgba(0, 0, 0, 0.1);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
}
.dock-separator {
width: 1px;
height: 50px;
background-color: rgba(0, 0, 0, 0.1);
margin: 0 5px;
}
.desktop-icon {
position: absolute;
width: 80px;
text-align: center;
cursor: default;
padding: 5px;
border-radius: 5px;
}
.desktop-icon:hover {
background-color: rgba(0, 0, 0, 0.1);
}
.icon-image {
width: 50px;
height: 50px;
margin: 0 auto;
background-color: rgba(0, 0, 0, 0.1);
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 30px;
}
.icon-label {
font-size: 12px;
color: #333;
margin-top: 5px;
text-align: center;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
</head>
<body>
<div class="desktop">
<div class="menu-bar">
<div class="apple-menu"></div>
<div class="menu-items">
<div class="menu-item">Finder</div>
<div class="menu-item">File</div>
<div class="menu-item">Edit</div>
<div class="menu-item">View</div>
<div class="menu-item">Go</div>
<div class="menu-item">Window</div>
<div class="menu-item">Help</div>
</div>
<div class="right-menu">
<div class="menu-item">12:00 PM</div>
<div class="menu-item">WiFi</div>
<div class="menu-item">100%</div>
</div>
</div>
<div class="desktop-area">
<div class="desktop-icon" style="top: 20px; left: 20px;">
<div class="icon-image">📁</div>
<div class="icon-label">Documents</div>
</div>
<div class="desktop-icon" style="top: 20px; left: 120px;">
<div class="icon-image">💿</div>
<div class="icon-label">Applications</div>
</div>
<div class="dock">
<div class="dock-item">
<div class="dock-icon">📁</div>
</div>
<div class="dock-item">
<div class="dock-icon">🌐</div>
</div>
<div class="dock-item">
<div class="dock-icon">📧</div>
</div>
<div class="dock-item">
<div class="dock-icon">📷</div>
</div>
<div class="dock-item">
<div class="dock-icon">🎵</div>
</div>
<div class="dock-separator"></div>
<div class="dock-item">
<div class="dock-icon">🗑️</div>
</div>
</div>
</div>
</div>
<script>
// Update time
function updateTime() {
const now = new Date();
let hours = now.getHours();
const minutes = now.getMinutes().toString().padStart(2, '0');
const ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12;
document.querySelector('.right-menu .menu-item:first-child').textContent = `${hours}:${minutes} ${ampm}`;
}
updateTime();
setInterval(updateTime, 1000);
// Dock hover effect
document.querySelectorAll('.dock-item').forEach(item => {
item.addEventListener('mouseenter', () => {
item.style.transform = 'scale(1.2)';
});
item.addEventListener('mouseleave', () => {
item.style.transform = 'scale(1)';
});
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>macOS Desktop</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Helvetica Neue', sans-serif;
}
body {
background-color: #f0f0f0;
height: 100vh;
overflow: hidden;
}
.desktop {
height: 100vh;
display: flex;
flex-direction: column;
}
.menu-bar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 10px;
background-color: rgba(240, 240, 240, 0.8);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
height: 25px;
font-size: 13px;
color: #333;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.apple-menu {
font-weight: 500;
}
.menu-items {
display: flex;
gap: 15px;
}
.menu-item {
cursor: default;
}
.menu-item:hover {
color: #000;
}
.right-menu {
display: flex;
gap: 15px;
}
.desktop-area {
flex: 1;
position: relative;
background: linear-gradient(135deg, #f0f0f0, #e0e0e0);
padding: 20px;
}
.dock {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50);
display: flex;
background-color: rgba(240, 240, 240, 0.5);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-radius: 12px;
padding: 6px;
gap: 8px;
border: 1px solid rgba(0, 0, 0, 0.1);
}
.dock-item {
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 10px;
transition: all 0.2s ease;
}
.dock-item:hover {
transform: scale(1.2);
}
.dock-icon {
width: 40px;
height: 40px;
background-color: rgba(0, 0, 0, 0.1);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
}
.dock-separator {
width: 1px;
height: 50px;
background-color: rgba(0, 0, 0, 0.1);
margin: 0 5px;
}
.desktop-icon {
position: absolute;
width: 80px;
text-align: center;
cursor: default;
padding: 5px;
border-radius: 5px;
}
.desktop-icon:hover {
background-color: rgba(0, 0, 0, 0.1);
}
.icon-image {
width: 50px;
height: 50px;
margin: 0 auto;
background-color: rgba(0, 0, 0, 0.1);
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 30px;
}
.icon-label {
font-size: 12px;
color: #333;
margin-top: 5px;
text-align: center;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
</head>
<body>
<div class="desktop">
<div class="menu-bar">
<div class="apple-menu"></div>
<div class="menu-items">
<div class="menu-item">Finder</div>
<div class="menu-item">File</div>
<div class="menu-item">Edit</div>
<div class="menu-item">View</div>
<div class="menu-item">Go</div>
<div class="menu-item">Window</div>
<div class="menu-item">Help</div>
</div>
<div class="right-menu">
<div class="menu-item">12:00 PM</div>
<div class="menu-item">WiFi</div>
<div class="menu-item">100%</div>
</div>
</div>
<div class="desktop-area">
<div class="desktop-icon" style="top: 20px; left: 20px;">
<div class="icon-image">📁</div>
<div class="icon-label">Documents</div>
</div>
<div class="desktop-icon" style="top: 20px; left: 120px;">
<div class="icon-image">💿</div>
<div class="icon-label">Applications</div>
</div>
<div class="dock">
<div class="dock-item">
<div class="dock-icon">📁</div>
</div>
<div class="dock-item">
<div class="dock-icon">🌐</div>
</div>
<div class="dock-item">
<div class="dock-icon">📧</div>
</div>
<div class="dock-item">
<div class="dock-icon">📷</div>
</div>
<div class="dock-item">
<div class="dock-icon">🎵</div>
</div>
<div class="dock-separator"></div>
<div class="dock-item">
<div class="dock-icon">🗑️</div>
</div>
</div>
</div>
</div>
<script>
// Update time
function updateTime() {
const now = new Date();
let hours = now.getHours();
const minutes = now.getMinutes().toString().padStart(2, '0');
const ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12;
document.querySelector('.right-menu .menu-item:first-child').textContent = `${hours}:${minutes} ${ampm}`;
}
updateTime();
setInterval(updateTime, 1000);
// Dock hover effect
document.querySelectorAll('.dock-item').forEach(item => {
item.addEventListener('mouseenter', () => {
item.style.transform = 'scale(1.2)';
});
item.addEventListener('mouseleave', () => {
item.style.transform = 'scale(1)';
});
});
</script>
</body>
</html>
Key macOS styling improvements:
The layout now closely resembles macOS with proper spacing, typography, and visual effects. The menu bar is translucent with blur, the dock has proper spacing and a separator, and the desktop icons have hover effects. The color scheme is light gray with subtle gradients, matching macOS's aesthetic.*