pet/src/components/DeviceShell.vue

66 lines
1.3 KiB
Vue
Raw Normal View History

2025-11-20 07:01:22 +00:00
<template>
<div class="device">
<div class="device-title">PET EGG</div>
<div class="screen-wrapper">
<slot></slot>
</div>
<div class="buttons">
<div class="btn"></div>
<div class="btn"></div>
<div class="btn"></div>
</div>
</div>
</template>
<style scoped>
/* 外殼 */
.device {
2025-11-22 18:17:13 +00:00
width: 448px;
height: 544px;
2025-11-20 07:01:22 +00:00
border-radius: 60% 60% 55% 55%;
background: radial-gradient(circle at 30% 0%, #ffe7ff, #ffc6f1);
box-shadow:
2025-11-22 18:17:13 +00:00
0 29px 64px rgba(0, 0, 0, 0.35),
inset 0 6px 16px rgba(255, 255, 255, 0.8);
padding-top: 61px;
2025-11-20 07:01:22 +00:00
display: flex;
flex-direction: column;
align-items: center;
2025-11-22 18:17:13 +00:00
gap: 29px;
2025-11-20 07:01:22 +00:00
}
.device-title {
2025-11-22 18:17:13 +00:00
font-size: 22px;
2025-11-20 07:01:22 +00:00
letter-spacing: 0.08em;
text-transform: uppercase;
color: #333;
}
.screen-wrapper {
2025-11-22 18:17:13 +00:00
width: 336px;
height: 256px;
border-radius: 29px;
2025-11-20 07:01:22 +00:00
background: #888;
2025-11-22 18:17:13 +00:00
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
padding: 10px;
2025-11-20 07:01:22 +00:00
}
.buttons {
display: flex;
2025-11-22 18:17:13 +00:00
gap: 26px;
margin-top: 6px;
2025-11-20 07:01:22 +00:00
}
.btn {
2025-11-22 18:17:13 +00:00
width: 48px;
height: 48px;
2025-11-20 07:01:22 +00:00
border-radius: 50%;
background: radial-gradient(circle at 30% 20%, #fff8e7, #f3a3af);
box-shadow:
2025-11-22 18:17:13 +00:00
0 6px 0 #c26c7a,
0 6px 13px rgba(0, 0, 0, 0.35);
2025-11-20 07:01:22 +00:00
}
</style>