Vue開發實例(五)修改項目入口頁面布局

修改項目入口

  • 一、創建新入口
  • 二、分析代碼,修改入口
  • 三、搭建項目主頁面布局
    • 1、Container 布局容器介紹
    • 2、創建布局
    • 3、布局器鋪滿屏幕
    • 4、創建Header頁面
    • 5、加入Aside、Main和Footer模塊

一、創建新入口

創建新的入口,取消原來的HelloWorld入口
在這里插入圖片描述
參考代碼如下:

<template><div><h1>{{ msg }}</h1></div>
</template>
<script>
export default {name: "Index",props: {msg: String,},
};
</script>
<style scoped>
</style>

二、分析代碼,修改入口

查看main.js 我們可以看到,項目是通過App.vue來加載的
在這里插入圖片描述
分析App.vue代碼
在這里插入圖片描述
這里3個地方加載并使用HelloWorld頁面,此時我們來改成自己的Index.vue,修改這3個地方

圖片也可以換成自己的,建議放在assets目錄下
在這里插入圖片描述

三、搭建項目主頁面布局

上面修改完成自己的項目入口之后,接下來搭建項目主頁面頭部、導航、主體等頁面布局

因為很多項目都是類似管理系統的界面,最上面是頭部、左邊是導航菜單、右邊是主體頁面、下方是Footer的框架結構,所以我們也按照這個方式來搭建。

1、Container 布局容器介紹

用于布局的容器組件,方便快速搭建頁面的基本結構:

組件名描述
<el-container>外層容器。當子元素中包含 <el-header><el-footer> 時,全部子元素會垂直上下排列,否則會水平左右排列。
<el-header>頂欄容器
<el-aside>側邊欄容器
<el-main>主要區域容器
<el-footer>底欄容器

以上組件采用了 flex 布局,使用前請確定目標瀏覽器是否兼容。此外, 的子元素只能是后四者,后四者的父元素也只能是 。

2、創建布局

修改Index.vue的代碼

<template><div  class="container"><el-container><el-header>Header</el-header><el-container><el-aside width="200px">Aside</el-aside><el-main>Main</el-main></el-container><el-footer>Footer</el-footer></el-container></div>
</template><script>
export default {name: "Index",props: {msg: String,},
};
</script>
<style>
.el-header,
.el-footer {background-color: #b3c0d1;color: #333;text-align: center;line-height: 60px;
}.el-aside {background-color: #d3dce6;color: #333;text-align: center;line-height: 200px;
}.el-main {background-color: #e9eef3;color: #333;text-align: center;
}body > .el-container {margin-bottom: 40px;
}.container {position: absolute;top: 0;left: 0;width: 100%;height: 100%;
}
</style>

查看頁面效果:
在這里插入圖片描述

問題:布局器沒有鋪滿

3、布局器鋪滿屏幕

  1. 創建全局css文件
    在src/assets/css創建global.css 文件,代碼如下:
*{margin:0;padding:0;box-sizing: border-box;/* 全局設置100%,可能后面會有坑,其他的組件巨長,在變形的標簽設置height:auto;可解決 */height: 100%;
}

這里主要是用到了:height: 100%;
其他的是為了把其他空格占位去除,為后面做準備。

  1. 在main.js 中注冊此全局的css文件
import '@/assets/css/global.css';
  1. 這一步可做可不做,我是根據自己的電腦屏幕設置的15.6的,注釋App.vue中style的margin-top,要不然屏幕超出高度
    在這里插入圖片描述

4、創建Header頁面

  1. 新建一個Header/index.vue,采用flex布局,講頭部分成左、中、右3個部分。
<template><div style="display:flex;"><div style="width: 200px;">頭部</div><div style="flex:1"></div><div style="width: 100px;">歡迎</div></div>
</template><script>export default {name: "Header"}
</script><style scoped>
</style>
  1. 修改Index.vue
  • 使用 import Header from "./Header/index.vue";
  • export中加入 components: {Header}
  • templateel-header中使用 Header 組件

在這里插入圖片描述
運行結果
在這里插入圖片描述
接下來實現一下頭部的具體代碼,頭部就實現3個東西:

  • 加入”歡迎來到Vue2項目”的字樣
  • 編寫用戶頭像顯示代碼
    • 可以指定圖片路徑為遠程的,比如我指定一個圖片網址。
  • 點擊用戶頭像出現下拉(個人中心、退出登錄…)
    • 用戶頭像點擊一般都是選擇個人中心、退出登錄這些的,這個功能需要用到el-dropdown

在這里插入圖片描述

代碼實現:

具體的寬高值,根據自己的電腦分辨率進行代碼實現,我的mac和windows的值就不一樣。

<template><header><div><h1 class="hd_title">歡迎來到Vue2項目</h1></div><div class="opt-wrapper"><el-dropdown :hide-on-click="false"><div class="demo-basic--circle"><div class="block"><el-avatar :size="40" :src="avatar" :class="['avatar-info']"></el-avatar></div></div><el-dropdown-menu slot="dropdown" class="personinfo"><el-dropdown-item><i class="el-icon-info"></i>個人中心</el-dropdown-item><el-dropdown-item><i class="el-icon-switch-button"></i>退出登錄</el-dropdown-item></el-dropdown-menu></el-dropdown></div></header>
</template><script>
export default {name: "Header",data() {return {// 使用靜態資源圖片//avatar: require('@/assets/images/logo.png')// 使用網絡圖片avatar:"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png",};},
};
</script><style scoped>
header {display: flex;align-items: center;justify-content: space-between;color: #fff;
}
.hd_title {color: #425049;font-size: 30px;
}
/*設定頭像圖片樣式*/
.avatar-info {margin-top: 10px;margin-right: 40px;cursor: pointer;
}
.personinfo {height: auto;margin-top: 0px;margin-left: -20px;
}
</style>

在這里插入圖片描述

5、加入Aside、Main和Footer模塊

上面的代碼中只寫了頭部Header,接下來加入Aside、Main和Footer。
分別創建文件夾,然后創建index.vue
在這里插入圖片描述
最后分別加入下列代碼,只需要對應的name: "Main",換成Aside,Footer即可,不要讓幾個一樣

<template><div>main div</div>
</template><script>export default {name: "Main"}
</script><style scoped></style>

修改components/Index.vue中的幾個內容,全部如下代碼:
在這里插入圖片描述

<template><div class="container"><el-container><el-header><Header /></el-header><el-container><el-aside width="200px"><Aside /></el-aside><el-main><Main /></el-main></el-container><el-footer><Footer /></el-footer></el-container></div>
</template><script>
import Header from "./Header/index.vue";
import Aside from "./Aside/index.vue";
import Footer from "./Footer/index.vue";
import Main from "./Main/index.vue";export default {name: "Index",components: { Header, Aside, Footer, Main },props: {msg: String,},
};
</script>
<style>
.el-header,
.el-footer {background-color: #b3c0d1;color: #333;text-align: center;line-height: 60px;
}.el-aside {background-color: #d3dce6;color: #333;text-align: center;line-height: 200px;
}.el-main {background-color: #e9eef3;color: #333;text-align: center;
}body > .el-container {margin-bottom: 40px;
}.container {position: absolute;top: 0;left: 0;width: 100%;height: 100%;
}
</style>

效果如圖
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716788.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716788.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716788.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

劍指offer刷題記錄Day2 07.數組中重復的數字 ---> 11.旋轉數組的最小數字

名人說&#xff1a;莫道桑榆晚&#xff0c;為霞尚滿天。——劉禹錫&#xff08;劉夢得&#xff0c;詩豪&#xff09; 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 目錄 1、重建二叉樹①代碼實現&#xff08;帶注釋&am…

【重溫設計模式】職責鏈模式及其Java示例

職責鏈模式的介紹 在開發過程中&#xff0c;我們經常會遇到這樣的問題&#xff1a;一個請求需要經過多個對象的處理&#xff0c;但是我們并不知道具體由哪個對象來處理&#xff0c;或者說&#xff0c;我們希望由接收到請求的對象自己去決定如何處理或者是將請求傳遞給下一個對…

CSS 選擇器的常見用法

這里CSS選擇器主要分為以下這幾種&#xff1a;1. 標簽選擇器 2. class選擇器 3. id選擇器 4. 復合選擇器 5. 通配符選擇器 CSS 選擇器的主要功能就是選中??指定的標簽元素. 選中了元素, 才可以設置元素的屬性. 1.標簽選擇器 <style>p{color: red;} </style> &…

表單控件上的事件

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>光標聚焦和失焦事件</title><style type"text/css">.text{color: red;font-size: 12px;}</style> </head> <bod…

【深度學習筆記】計算機視覺——錨框

錨框 目標檢測算法通常會在輸入圖像中采樣大量的區域&#xff0c;然后判斷這些區域中是否包含我們感興趣的目標&#xff0c;并調整區域邊界從而更準確地預測目標的真實邊界框&#xff08;ground-truth bounding box&#xff09;。 不同的模型使用的區域采樣方法可能不同。 這里…

吳恩達deeplearning.ai:正則化對于偏方差的影響制定用于性能評估的基準

以下內容有任何不理解可以翻看我之前的博客哦&#xff1a;吳恩達deeplearning.ai專欄 這節我們看看正則化系數 文章目錄 以線性回歸為例交叉驗證誤差對于確定 λ \lambda λ的作用 指定用于性能評估的基準語音識別的例子 以線性回歸為例 讓我們舉一個例子&#xff1a; 模型&am…

Outlook郵箱IMAP密碼怎么填寫?賬戶設置?

Outlook郵箱IMAP密碼是什么&#xff1f;Outlook如何設置IMAP&#xff1f; 許多用戶會選擇通過IMAP協議將郵箱與各種郵件客戶端進行連接。而在設置過程中&#xff0c;填寫IMAP密碼是必不可少的一步。那么&#xff0c;Outlook郵箱的IMAP密碼應該如何填寫呢&#xff1f;接下來&am…

【Linux】深入理解ls命令

&#x1f34e;個人博客&#xff1a;個人主頁 &#x1f3c6;個人專欄&#xff1a;Linux ?? 功不唐捐&#xff0c;玉汝于成 目錄 前言 正文 基本用法 常用選項 示例 高級用法 結語 我的其他博客 前言 在 Linux 系統中&#xff0c;ls 命令是一個強大而又基礎的工具&am…

高刷顯示器 - HKC VG253KM

&#x1f525;&#x1f525; 今天來給大家揭秘一款電競神器 - HKC VG253KM 高刷電競顯示器&#xff01;這款顯示器可是有著雄鷹展翅般的設計靈感&#xff0c;背后的大鵬展翅鷹翼圖騰讓人過目難忘。那么&#xff0c;這款顯示器到底有哪些過人之處呢&#xff1f;一起來看看吧&…

【MySQL】基于Docker搭建MySQL一主二從集群

本文記錄了搭建mysql一主二從集群&#xff0c;這樣的一個集群master為可讀寫&#xff0c;slave為只讀。過程中使用了docker&#xff0c;便于快速搭建單體mysql。 1&#xff0c;準備docker docker的安裝可以參考之前基于yum安裝docker的文章[1]。 容器相關命令[2]。 查看正在…

如何系統的學習Python——Python的基本語法

學習Python的基本語法是入門的第一步&#xff0c;以下是一些常見的基本語法概念&#xff1a; 注釋&#xff1a; 用#符號來添加單行注釋&#xff0c;或使用三引號(或""")來添加多行注釋。 # 這是一個單行注釋 這是 多行 注釋 變量和數據類型&#xff1a; 變量用…

Pod和容器設計模式

為什么需要 Pod&#xff1b; Pod 的實現機制&#xff1b; 詳解容器設計模式。 一、為什么需要 Pod 容器的基本概念 現在來看第一個問題&#xff1a;為什么需要 Pod&#xff1f;我們知道 Pod 是 Kubernetes 項目里面一個非常重要的概念&#xff0c;也是非常重要的一個原子調…

144. 二叉樹的前序遍歷

給你二叉樹的根節點 root &#xff0c;返回它節點值的 前序 遍歷。 示例 1&#xff1a; 輸入&#xff1a;root [1,null,2,3] 輸出&#xff1a;[1,2,3]示例 2&#xff1a; 輸入&#xff1a;root [] 輸出&#xff1a;[]示例 3&#xff1a; 輸入&#xff1a;root [1] 輸出&am…

java方法

目錄 方法的定義 方法的命名規則 方法的調用與重載 方法調用實例 方法的重載 變量的作用域 算法中常見的方法 1&#xff1a;gcd&#xff08;求兩個整數中的最大公約數&#xff09; 2&#xff1a;lcm&#xff08;求兩個整數的最小公倍數&#xff09; 3:判斷一個整數是否…

SpringCloud(18)之Sleuth +Zipkin鏈路追蹤

一、Zipkin介紹 Zipkin是一個開放源代碼分布式的跟蹤系統&#xff0c;它可以幫助收集服務的時間數據&#xff0c;以解決微服務架構中的延遲問 題&#xff0c;包括數據的收集、存儲、查找和展現。每個服務向zipkin報告計時數據&#xff0c;zipkin會根據調用關系通 過Zipkin UI…

LeetCode: 數組中的第K個最大元素

問題描述 在未排序的數組中找到第k個最大的元素。請注意&#xff0c;你需要找的是數組排序后的第k個最大的元素&#xff0c;而不是第k個不同的元素。 解題思路 解決這個問題有多種方法&#xff0c;下面是幾種常見的解題策略&#xff1a; 排序后選擇: 將數組排序&#xff0c…

ProChat 如何接入 WebSocket

WebSocket是一種在單個TCP連接上進行全雙工通信的協議&#xff0c;允許客戶端和服務器之間進行雙向實時通信。與Server-Sent Events (SSE)類似&#xff0c;WebSocket也能實現實時數據推送&#xff0c;但其功能更為強大且靈活。 全雙工通信&#xff1a;WebSocket不僅允許服務器向…

【TestNG】(4) 重試機制與監聽器的使用

在UI自動化測試用例執行過程中&#xff0c;經常會有很多不確定的因素導致用例執行失敗&#xff0c;比如網絡原因、環境問題等&#xff0c;所以我們有必要引入重試機制&#xff08;失敗重跑&#xff09;&#xff0c;來提高測試用例成功率。 在不寫代碼的情況沒有提供可配置方式…

Mysql 慢查詢日志

查詢是否開啟慢SQL日志 show variables like %slow_query_log; 開啟慢查詢日志 set global slow_query_logON; 可以通過修改MySQL的配置my.cfg或者my.ini永久生效 slow_query_logON # 開啟慢查詢日志開關 slow_query_log_file/var/lib/mysql/alvin-slow.log # 慢查詢日志…

1.2 在卷積神經網絡中,如何計算各層感受野的大小

1.2 在卷積神經網絡中&#xff0c;如何計算各層感受野的大小 分析與解答&#xff1a; 在卷積神經網絡中&#xff0c;由于卷積的局部連接性&#xff0c;輸出特征圖上的每個節點的取值&#xff0c;是由卷積核在輸入特征圖對應位置的局部區域內進行卷積而得到的&#xff0c;因此這…