小編給大家分享一下Vue+Element如何實現(xiàn)網(wǎng)頁版?zhèn)€人簡歷系統(tǒng),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司專注于大石橋企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站開發(fā)。大石橋網(wǎng)站建設(shè)公司,為大石橋等地區(qū)提供建站服務(wù)。全流程按需定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
一.項目介紹
本項目是一個網(wǎng)頁版的個人簡歷系統(tǒng),主要使用的技術(shù)為vue2+element進行實現(xiàn)。
個人簡歷系統(tǒng) 主要包含六個單文件組件:頂部菜單、首頁、個人簡介、個人技能、工作經(jīng)歷和底部頁腳。
先來一個動圖感受一下:
項目目錄:
下面就來詳細(xì)介紹一下每個組件。
二.頂部菜單
頂部菜單組件為:src\components\menu\TopMenu.vue
1.源代碼
JEmbrace
首頁 個人簡介 個人技能 工作經(jīng)歷
2.說明 菜單
菜單的實現(xiàn)使用了element的 NavMenu 導(dǎo)航菜單 組件
菜單整體使用了fixed定位,將其固定在瀏覽器頂部;并且使用z-index設(shè)置菜單堆疊在最頂層。
圖標(biāo)
圖標(biāo)采用了element的icon 組件
菜單跳轉(zhuǎn)
我們點擊菜單欄的四個選項,頁面會自動滾動到對應(yīng)的視圖。對應(yīng)的實現(xiàn)的函數(shù)是handleSelect函數(shù),該函數(shù)作用于 NavMenu 導(dǎo)航菜單 提供的select事件的回調(diào)函數(shù)。
在這里,需要關(guān)注的參數(shù)為index,它是
handleSelect函數(shù)根據(jù)index參數(shù),可以得知當(dāng)前激活了那個菜單,然后根據(jù)菜單的name值,讓滾動條至對應(yīng)的視圖。
//點擊菜單欄的選擇,自動滾動到對應(yīng)的視圖 handleSelect (index, indexPath) { var name = '' if (index === '1') name = 'homepage' if (index === '4') name = 'productpage' if (index === '3') name = 'securityresearch' if (index === '2') name = 'aboutus' var targetEle = document.querySelector('.' + name) var offsetTop = targetEle.offsetTop document.documentElement.scrollTop = offsetTop - 150 }
三.首頁
首頁組件為:src\components\home\HomePage.vue
1. 源代碼
{{sign}}
2.說明
首頁主要是一個動畫和中間的文字布局。
動畫
關(guān)于背景圖片的動畫特性使用的就是css3的animation,動畫名為bg,在整個動畫過程中改變background-size的大小,改變background-position的位置即可。
中間文字和布局
中間的文字和文字周圍的局部依靠的是p標(biāo)簽和四個div去實現(xiàn)的。
按照正常的文檔流,這一個p元素和四個div的布局如下:
設(shè)置四個div元素為行內(nèi)塊級元素:display:inline-block;(此時p元素依然是塊級元素)
這個時候布局基本是下面的樣子
然后在使用相對定位將四個邊框的top/bottom/left/right位置進行調(diào)整
最后就是將對應(yīng)的border邊框進行修改,比如:左上角的div#box1只設(shè)置border--top和border-left;左下角的div#box3只設(shè)置border-left和border-bottom。
修改完成后的樣式:
四.個人簡介
個人簡介組件代碼:src\components\AboutUs\AboutUs.vue
1.源代碼
個人簡介
xxxx大學(xué) 本科 于2005.07月畢業(yè)于某喵喵喵大學(xué),本科學(xué)歷。在校專業(yè)為xxxxxxx,主修課程為xxxx、xxxx、xx和xxxx等課程。在校期間主要技能為java和php語言,和實驗室小伙伴一起完成過內(nèi)部管理平臺(成員在線時長記錄、周計劃制定和組長評價)、納新面試系統(tǒng)等。 畢業(yè)后在某某公司做web開發(fā)工作,主要的技能為css、javascript、jquery和python。主要參與的產(chǎn)品有xxxxxxx、xxxx?,F(xiàn)就職于一家創(chuàng)業(yè)公司做web前端崗位,主要的技能為vue全家桶。 工作中比較自律,對待工作認(rèn)真負(fù)責(zé),喜歡不斷學(xué)習(xí)來提升自己。希望能找到一群志同道合的人一起工作,不斷進步和成長。
2.說明
個人簡介這個組件中,主要包含三個內(nèi)容:分割線標(biāo)題、分割線標(biāo)題下的藍色標(biāo)簽、內(nèi)容部分和文字上方半透明圓形/方形陰影
分割線標(biāo)題
分割線使用了element的 Divider 分割線 組件,并且在分割線上面添加子自定義的文字內(nèi)容。
分割線的樣式為公共的樣式,在src\components\Product\Product.vue組件中,可以在瀏覽器中-右鍵-查看元素樣式,可以看到生效的樣式來源于該Product組件。
藍色標(biāo)簽
藍色的標(biāo)簽使用了element的 Tag 標(biāo)簽 組件。
內(nèi)容
內(nèi)容部分使用了element的 layout24分欄布局 ,總共分為三列,每一欄占據(jù)的列數(shù)為8列:el-col的span屬性設(shè)置為8(同一行的span設(shè)置數(shù)組相加不能超過24,否則會換行)
同時三列中間的間隔通過設(shè)置el-row的gutter屬性來實現(xiàn)。
文字上方半透明圓形/方形陰影
文字上方有兩個陰影:藍色方形半透明陰影和橙色圓形半透明陰影
這兩個也比較簡單,代碼位于分欄布局下方,設(shè)置了兩個div
對這兩個div都設(shè)置為100*100的大小,圓形形狀的實現(xiàn)通過設(shè)置圓角屬性border-radius為50%;菱形形狀通過將div進行2d的旋轉(zhuǎn)45度即可實現(xiàn)。
兩個陰影的顏色和透明度可以自行修改,兩個陰影的位置通過設(shè)置兩個元素的定位為absolute,并且設(shè)置相應(yīng)的偏移量(top、bottom、left、right)即可。
五.個人技能
個人技能組件代碼:src\components\SecurityResearch\SecurityResearch.vue
1.源代碼
個人技能
vue全家桶 javascript css Vue JS CSS Echarts webpack python linux
2.說明
個人技能組件主要就是技能模塊的布局(分割線和藍色標(biāo)簽在個人簡介組件介紹時已經(jīng)說過,這里不再重復(fù))
技能模塊布局
所有的技能模塊均使用span元素實現(xiàn)
默認(rèn)的情況下,這七個技能模塊并排在一行顯示,且沒有任何樣式
然后給這七個模塊設(shè)置共同的樣式:字體顏色白色、圓角50%;在給這七個技能模塊設(shè)置你想要的元素大?。╳idth/height)、字體大小、背景顏色。
然后我們需要設(shè)置兩個定位:
技能模塊的父元素div#skill設(shè)置為relative相對定位
將vue技能模塊之外的其他六個技能模塊進行absolute絕對定位
最后一步就是根據(jù)自己的喜好設(shè)置其他六個技能模塊的偏移量(top、bottom、left、right),將不同的技能模塊移動到不同的位置。
六.工作經(jīng)歷
工作經(jīng)歷組件代碼:src\components\SecurityResearch\SecurityResearch.vue
1.源代碼
工作經(jīng)歷
某司 某某司 某司
主要負(fù)責(zé)某某產(chǎn)品、某某某產(chǎn)品的前端開發(fā)和部分后端功能開發(fā)
產(chǎn)品bug修復(fù)
產(chǎn)品前場問題反饋處理
xxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
項目1
項目2
項目3
項目介紹:{{projectInfo[currentIndex]['intro']}} 所在公司:{{projectInfo[currentIndex]['company']}} 開發(fā)環(huán)境:{{projectInfo[currentIndex]['developEnv']}} 職責(zé)描述:{{projectInfo[currentIndex]['responsibility'][key]}}
2.說明
工作經(jīng)歷組件主要包含兩個部分:時間軸、項目介紹、點擊項目打開詳情
時間軸
時間軸使用的是element的 Timeline 時間線 組件。
項目介紹
項目介紹這塊先說一下三個項目的布局。
這三個div包裹在div#project中,div#project采用了flex布局,就可以輕松的實現(xiàn)三個div并排顯示,并且根據(jù)屏幕大小自適應(yīng)顯示。
點擊項目打開詳情
點擊項目顯示的這個詳情使用了element的 Drawer 抽屜 組件,在這里有一些邏輯代碼,就是div#content的drawerHander函數(shù)。在點擊項目時,傳遞了對應(yīng)項目的編號index,然后設(shè)置兩個數(shù)據(jù):
drawer=true currentIndex = index-1
drawer數(shù)據(jù)是控制 Drawer 抽屜 組件是否顯示的一個變量,設(shè)置為true表示抽屜打開。
currentIndex用于記錄當(dāng)前用戶點擊打開的是那個項目,假如傳遞的index是1,表示當(dāng)前用戶點擊打開的是項目1,那么currentIndex的值就為0(使用index-1的原因就是因為數(shù)組下標(biāo)是從0開始的,后面需要從projectInfo數(shù)組中獲取數(shù)據(jù))。
此時我們就可以通過這個currentIndex,從保存項目數(shù)據(jù)的projectInfo中獲取下標(biāo)為0的元素的項目的標(biāo)題(title)、項目介紹(intro)、開發(fā)該項目時所屬的公司(company)、項目開發(fā)環(huán)境(developEnv)和職責(zé)(responsibility),并且將這幾個數(shù)據(jù)展示到 Drawer 抽屜 組件中。
項目介紹:{{projectInfo[currentIndex]['intro']}} 所在公司:{{projectInfo[currentIndex]['company']}} 開發(fā)環(huán)境:{{projectInfo[currentIndex]['developEnv']}} 職責(zé)描述:{{projectInfo[currentIndex]['responsibility'][key]}}
七.底部頁腳
底部頁腳組件:src\components\Footer\Footer.vue
1.源代碼
法律聲明 友情鏈接 聯(lián)系我
版權(quán)所有 JEmbrace電話:18822299999
郵箱:18822299999@163.com
博客:https://www.cnblogs.com/HouJiao/
github:https://github.com/JEmbrace
2.說明
底部頁腳組件比較簡單,三個文字+兩個分割線也是使用了element的分割線組件 中的垂直分割線。
點擊聯(lián)系我,可以打開一個抽屜,這個跟工作經(jīng)歷中的抽屜一樣,不在重復(fù)說明。
以上是“Vue+Element如何實現(xiàn)網(wǎng)頁版?zhèn)€人簡歷系統(tǒng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!