近年來,Vue.js 又稱 Vue,已成為最受歡迎的前端框架之一,因其簡單易用、強大的視圖控制能力而備受好評。同時,隨著 Mac 裝置的普及,許多網站設計師希望能夠模仿 Mac 裝置的頁面設計效果。在這篇文章中,我們將介紹如何使用 Vue 實現仿 MacBook 效果的頁面設計。
第一步:建立基本視圖結構和樣式
為了實現仿 MacBook 效果的頁面設計,我們需要先建立基本視圖結構和樣式。我們可以使用 Vue CLI 3 工具來快速建立一個基於 Vue 的專案。在 Vue CLI 3 中,你可以使用命令列來建立專案結構並運行開發伺服器。建立專案過程如下所示:
$npm install -g @vue/cli
$vue create my-mac-app
$cd my-mac-app $npm run serve
在專案建立完成後,我們可以在/src/App.vue
檔案中新增以下程式碼:
<template> <div class="macbook"> <div class="screen"> <!--在此处添加页面内容--> </div> <div class="keyboard"> <!--在此处添加键盘--> </div> <div class="trackpad"></div> </div> </template> <style> .macbook { width: 600px; height: 400px; position: relative; background-color: #d9d9d9; border-radius: 10px; overflow: hidden; box-shadow: 5px 5px 20px #555; } .screen { width: 80%; height: 60%; background-color: white; position: absolute; top: 10%; left: 10%; border-radius: 5px; overflow: hidden; box-shadow: inset 0 0 15px #333; } .keyboard { width: 80%; height: 20%; position: absolute; bottom: 10%; left: 10%; background-color: #b3b3b3; border-radius: 5px; box-shadow: inset 3px 1px 5px rgba(0, 0, 0, 0.3); } .trackpad { width: 30px; height: 40px; position: absolute; bottom: 13%; left: 55%; background-color: #b3b3b3; border-radius: 50%; box-shadow: inset -3px -1px 5px rgba(0, 0, 0, 0.3); } </style>
以上程式碼為我們的Mac 裝置頁面提供了基本的外觀結構和樣式。接下來,我們將在螢幕和鍵盤區域添加更多的內容。
第二步:新增螢幕區域的內容
在螢幕區域,我們可以新增以下內容:
App.vue 檔案中新增以下程式碼:
<div class="screen"> <div class="app-icons"> <div class="icon"> <img src="./assets/icons/chrome.png" alt="谷歌浏览器" /> <span>Chrome</span> </div> <div class="icon"> <img src="./assets/icons/safari.png" alt="Safari 浏览器" /> <span>Safari</span> </div> <div class="icon"> <img src="./assets/icons/word.png" alt="Microsoft Word" /> <span>Microsoft Word</span> </div> <div class="icon"> <img src="./assets/icons/powerpoint.png" alt="Microsoft PowerPoint" /> <span>Microsoft PowerPoint</span> </div> <div class="icon"> <img src="./assets/icons/excel.png" alt="Microsoft Excel" /> <span>Microsoft Excel</span> </div> </div> </div> <style> .app-icons { display: flex; justify-content: center; align-items: center; height: 10%; padding: 10px; } .icon { display: flex; flex-direction: column; align-items: center; margin-right: 20px; cursor: pointer; } .icon img { width: 50px; height: 50px; } .icon span { font-size: 12px; white-space: nowrap; } </style>
App.vue 檔案中新增以下程式碼:
<div class="screen"> <div class="app-icons"></div> <div class="app-windows"> <div class="window"> <div class="title-bar"> <div class="title">蜂巢布局</div> <div class="controls"> <div class="control"></div> <div class="control"></div> <div class="control"></div> </div> </div> <iframe src="https://vuebeijing.github.io/2019-08-27-codex-in-flames-layout-explained-by-finished-product/" frameborder="0" width="100%" height="100%" allowfullscreen ></iframe> </div> <div class="window"> <div class="title-bar"> <div class="title">Vue CLI 3</div> <div class="controls"> <div class="control"></div> <div class="control"></div> <div class="control"></div> </div> </div> <iframe src="https://www.npmjs.com/package/@vue/cli" frameborder="0" width="100%" height="100%" allowfullscreen ></iframe> </div> </div> </div> <style> .app-windows { width: 100%; height: 90%; padding: 20px; box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; } .window { width: 40%; height: 350px; margin: 20px; border-radius: 5px; box-shadow: 3px 3px 10px #333; overflow: hidden; } .title-bar { display: flex; justify-content: space-between; align-items: center; height: 30px; background-color: #d9d9d9; padding: 10px; } .title { font-size: 16px; font-weight: bold; color: #333; } .controls { display: flex; justify-content: center; align-items: center; width: 70px; } .control { width: 10px; height: 10px; border-radius: 50%; margin-right: 5px; background-color: #333; } .control:last-child { margin-right: 0; } </style>
App.vue 檔案中加入以下程式碼:
<div class="keyboard"> <div class="input-box"> <input type="text" placeholder="开始搜索" /> <span class="search-icon"></span> </div> </div> <style> .keyboard { width: 80%; height: 20%; position: absolute; bottom: 10%; left: 10%; background-color: #b3b3b3; border-radius: 5px; box-shadow: inset 3px 1px 5px rgba(0, 0, 0, 0.3); } .input-box { width: 90%; height: 60%; padding: 10px; box-sizing: border-box; background-color: white; border-radius: 5px; display: flex; justify-content: space-between; align-items: center; } input[type="text"] { width: 90%; height: 100%; padding: 0; border: none; outline: none; font-size: 16px; } .search-icon { width: 30px; height: 30px; border-radius: 50%; background-color: #b3b3b3; box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); } </style>
以上是如何使用 Vue 實現仿 MacBook 效果的頁面設計?的詳細內容。更多資訊請關注PHP中文網其他相關文章!