vue3实现移动端上门维修保洁家政维修按摩等服务app的ui原型图代码

代码语言:html

所属分类:布局界面

代码描述:vue3实现移动端上门维修保洁家政维修按摩等服务app的ui原型图代码

代码标签: vue 移动端 上门 维修 保洁 家政 维修 按摩 服务 app ui 原型图 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>到位服务 - 品质生活专家</title>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue3.2.22.js"></script>
    <style>
        :root {
            --primary-color: #3498db; /* 专业、可靠的蓝色 */
            --primary-light-color: #eaf5fc;
            --secondary-color: #f39c12; /* 用于突出/评分的橙色 */
            --text-color: #34495e;
            --text-light-color: #7f8c8d;
            --bg-color: #f4f7f6;
            --card-bg-color: #ffffff;
            --border-color: #ecf0f1;
            --shadow: 0 6px 15px rgba(52, 73, 94, 0.08);
        }
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body {
            font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
            background-color: var(--bg-color);
            color: var(--text-color);
            -webkit-tap-highlight-color: transparent;
        }

        /* App Layout */
        .app-layout {
            max-width: 600px;
            margin: 0 auto;
            background-color: var(--card-bg-color);
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }
        .app-content {
            flex: 1;
            padding-bottom: 70px; /* Space for bottom nav */
            overflow-y: auto;
        }
        
        /* Page Common Styles */
        .page {
            padding: 20px;
            animation: fadeIn 0.4s ease-in-out;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(5px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .page-header {
            display: flex;
            align-items: center;
            margin-bottom: 25px;
            position: relative;
        }
        .back-btn {
            position: absolute;
            left: -10px;
            top: 50%;
            transform: translateY(-50%);
            cursor: pointer;
            padding: 10px;
        }
        .page-title {
            font-size: 22px;
            font-weight: 600;
            text-align: center;
            width: 100%;
        }
        .section-title {
            font-size: 18px;
            font-weight: 600;
            margin-bottom: 15px;
        }

        /* Bottom Navigation */
        .bottom-nav {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            max-width: 600px;
            margin: 0 auto;
            height: 65px;
            background-color: var(--card-bg-color);
            display: flex;
            justify-content: space-around;
            align-items: center;
            border-top: 1px solid var(--border-color);
        }
        .nav-item {
            cursor: pointer; text-align: center; color: var(--text-light-color); transition: all 0.2s;
        }
        .nav-item .icon { width: 24px; height: 24px; margin-bottom: 3px; }
        .nav-item .label { font-size: 12px; }
        .nav-item.active { color: var(--primary-color); transform: translateY(-3px); }
        
        /* Common Components */
        .btn {
            display: inline-block; padding: 12px 25px; border-radius: 8px; border: none;
            cursor: pointer; font-size: 16px; font-weight: 500; transition: all 0.3s ease;
        }
        .btn-primary { background: var(--primary-color); color: white; }
        .btn-primary:hover { background: #2980b9; }
        .btn-full { display: block; width: 100%; text-align: center; }
        .card {
            background-color: var(--card-bg-color); border-radius: 12px;
            padding: 20px; margin-bottom: 15px; box-shadow: var(--shadow);
        }

        /* Home Page Styles */
        .home-header { padding: 20px; background: linear-gradient(135deg, var(--primary-color), #5dade2); color: white; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}
        .search-bar input {
            width: 100%; padding: 12px 20px; border-radius: 25px;
            border: none; font-size: 14px; background-color: rgba(255,255,255,0.9);
        }
        .service-grid {
            display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px;
            text-align: center; margin-top: 30px;
        }
        .service-item { cursor: pointer; }
        .service-item .icon-wrapper {
            width: 60px; height: 60px; border-radius: 50%; display: flex;
            align-items: center; justify-content: center; margin: 0 auto 10px;
            color: white; font-size: 30px;
        }
        .service-item p { font-size: 14px; font-weight: 500; }
        .promo-banner { margin-top: 30px; }
        .promo-banner img { width: 100%; border-radius: 12px; }
        
        /* Service List & Technician Card */
        .technician-card { display: flex; gap: 15px; }
        .technician-avatar { width: 60px; height: 60px; border-radius: 8px; object-fit: cover; }
        .technician-info { flex: 1; }
        .technician-info h4 { font-size: 16px; margin-bottom: 5px; }
        .rating { color: var(--secondary-color); font-size: 14px; display: inline-flex; align-items: center; gap: 4px; }
        .tags { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 5px; }
        .tag { background-color: var(--primary-light-color); color: var(--primary-color); padding: 3px 8px; border-radius: 5px; font-size: 12px; }
        .technician-action { display: flex; flex-direction: column; justify-content: space-between; align-i.........完整代码请登录后点击上方下载按钮下载查看

网友评论0