網頁版簡歷制作經驗分享


轉自:Heero.Luo

2012年中,因為換工作面試的需要,我得更新舊的簡歷。但是在Word中排版實在是各種不順手,於是就發揮了作為前端工程師的優勢把簡歷做成了網頁;2014年末想換工作時又對其進行了改版。這份簡歷曾經受到好幾位HR和獵頭的好評,所以特地分享制作經驗,也算是給想換工作的同行參考。

進入正題之前,先想想HTML簡歷的好處:

  • 無須下載,直接打開。
  • 可以采用更豐富的設計和更靈活的排版。
  • 可以通過超鏈接訪問其他資源。
  • 可以順帶展示自己設計以及前端方面的技能。

而在此基礎上,我還給這份簡歷定下了以下目標:

  • 一個頁面中展示所有內容。
  • Write once, run anywhere. 兼容PC設備與移動設備,最好還能直接打印。
  • 簡單實用,最好連JS都不用寫。那些用上了各種動畫做出來的甚至是做成了小游戲的炫酷簡歷,其實並不利於閱讀。

好了,下面具體講講如何打造這樣一份簡歷。

設計

很多程序員會喊:“我是寫代碼的,不懂設計。”但俗話說得好:沒吃過豬肉,總見過豬跑吧。平時逛這么多網站,難道沒有幾個特別順眼的?現在瀏覽器的開發工具非常先進,看上哪個直接扒過來“參考”就行。像簡歷這種簡單頁面也不需要先做PSD稿,構思好之后直接寫HTML和CSS更為方便。

設計時應盡量使用圖形、圖像表達內容,這是因為相比大段的文字,人更喜歡看圖。這里也貼一下我簡歷中其中一節改版前后的對比(左舊右新):

盡量用圖形、圖像表達內容

相比左側大段密密麻麻的文字,右側的柱狀圖讓人一眼就能看清技能水平。

字體大小

這年頭顯示器越來越大,相對地文字就越來越小,現在大部分網站都把標准文字大小設為14px。考慮到簡歷的內容不多,排版可以寬松一些,因此建議把標准文字大小設為16px,這在屏幕尺寸較小的移動設備上看起來也不會那么吃力。

關於兼容

簡歷的受眾是誰?無非是兩類人:HR以及技術工程師。可以確定的是,技術工程師基本上是用Chrome或者Firefox的好同志,並且非常鄙視IE。HR常年耳濡目染,也會逐漸地換上新的瀏覽器。然而,考慮到那小部分的HR以及極小部分的技術工程師的感受,還是准備一段“溫馨”的提示吧:

4oie

實現方法很簡單,通過條件注釋對IE 9.0以下版本的瀏覽器,直接用iframe套個提示頁面去把原頁面擋住:

<!--[if lt IE 9]>
<script>
!function(body) {
body.style.width = body.style.height = '100%';
body.parentNode.style.overflow = body.style.overflow = 'hidden';
}(document.body);
</script>
<iframe src="4oie.html" frameborder="0" scrolling="no" style="position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 99999;"></iframe>
<![endif]—>

為什么連IE8也要拋棄呢?這是因為它不支持Media query以及一些CSS 3樣式,而這恰好是后面說到的多設備適配所必須要用到的技術。

加密聯系方式

這一步主要是為了避免被各種騷擾電話、垃圾郵件的掃號軟件掃到,這里說的加密並不需要做得很復雜,只要稍微加一點干擾因素即可。比如你的QQ號是1234567,那么在網頁上可以這樣輸出:

<p>QQ:<script>document.write( 'a1b2c3d4e5f6g7h'.replace(/\D/g, '') );</script></p>

至於郵件地址則可以這樣(以 abc@126.com 為例):

<p>Email: <script>document.write( ['com', '126', 'abc'].reverse().join('.').replace('.', '@') );</script></p>

電話號碼是比較敏感的信息,可以搞復雜點,這里我采用的是base64方案。可能很多朋友還不知道,稍微先進點的瀏覽器都已經原生支持base64的編碼和解碼了,分別是調用window.btoawindow.atob兩個函數。所以電話號碼可以這樣輸出(以 13800138000 為例):

<p>Phone number: <script>if (window.atob) { document.write( window.atob('MTM4MDAxMzgwMDA=') ); }</script></p>

再者,我並不想任何人都能看到我的電話號碼,所以還可以加點限制。比如URL帶有某個參數才顯示電話號碼:

<p id="phone-number" style="display: none;">Phone number: <script> if (window.atob) { document.write( window.atob('MTM4MDAxMzgwMDA=') ); } if ( /[?&]show-phone-number(&|$)/.test(window.location.search) ) { document.getElementById('phone-number').style.display = ''; } </script></p>

適配PC與移動設備

首先,通過Media query在不同的寬度下采用不同的布局。

其次,市場上Retina屏幕的設備(如大部分iPad、部分Macbook、大部分手機)越來越多,像圖片這些非矢量內容在這些屏幕上會因為被拉大而失真。所以,在准備內容圖片的時候,最好是做成實際顯示尺寸的兩倍,再通過CSS縮小。而對於裝飾性質的小圖標,可以用兩倍大小的圖片(通過background-size縮小),也可以用字體圖標。這里我不建議用SVG,因為它的性能比較差,在移動設備上打開會明顯地卡了一下。

最后,不要忘了貼上個二維碼,方便移動設備掃碼訪問。

做好這一步,就可以帶着iPad去面試了。

打印

其實打印機也是一種設備,按理說這部分內容應該跟上一節放一起的,但是打印設備的情況比較特殊,而且有不少坑,所以就單獨作為一節。

打印設備特殊在哪呢?A4紙的尺寸是寬21cm高29.7cm,但是我用Chrome把頁面存成PDF(在打印的界面可以存)之后,看到的分辨率是寬595px高842px。這到底是怎么算的呢?研究了一番之后發現這是按72ppi(Pixels Per Inch,即一英寸所含的像素數)換算的:

1in = 2.54cm

21cm / 2.54cm * 72px ≈ 595px

按照Media query的規則,這個寬度在打印的時候明顯是進入了手機設備的布局。而16px大小的文字打印出來之后的大小就是:

2.54cm * 16px / 72px ≈ 0.56cm

這文字明顯太大了,所以得縮:

@media print { body { font-size: 12px; } }

可這縮了之后,內容相對變小,再用原來小寬度的布局就不合適了,反而是大寬度的布局更好,於是就有了這樣的代碼:

@media not print and (max-width: 639px) { /* ... */ }

然后坑來了,這里的Media query表達的並非“不是打印設備並且寬度不超過639px”,而是“不是寬度不超過639px的打印設備”。(關於這一點可以看看Mozilla的解釋說明

這個小問題難不倒我們,把代碼改成嵌套的Media query

@media not print { @media (max-width: 639px) { /* ... */ } }

本來以為問題已經解決,但是用微信掃一掃后發現樣式異常。原來手機QQ瀏覽器的內核還不支持嵌套的Media query,順帶查了一下,IE系列全部瀏覽器也不支持這項特性。

被折騰地沒辦法了,最后乖乖地寫了兩個CSS:

<link href="css/style.css" media="not print" rel="stylesheet" type="text/css" /> <link href="css/style-for-print.css" media="print" rel="stylesheet" type="text/css" />

接下來再研究一下打印的樣式要怎么寫。首先是 @page ,可以用來修改頁面容器的版式,最常用的是指定頁面的尺寸及邊距:

@page { size: A4 portrait; margin: 2.1cm 1.9cm; }

其次,某些瀏覽器默認是不打印背景色和背景圖片的,這樣一來背景小圖標就沒了。對於Chrome,可以加上這段CSS代碼強制打印背景:

body { -webkit-print-color-adjust: exact; }

再次,要處理鏈接。要知道打印出來之后,用手指往紙上戳是戳不開網頁的。所以諸如“在線地址”、“個人博客”這樣的文字鏈接要么隱藏,要么把鏈接地址也打印出來。要顯示鏈接地址可以這么寫:

a:after { content: '[' attr(href) ']'; }

此外,紙質簡歷的篇幅不宜過長,可以選擇性地隱藏一些內容。比如黑白打印的簡歷可以忽略圖片:

網頁版簡歷和打印版簡歷對比

最后,大家還要記住一個前提,以上這些都是不兼容IE 6、IE 7、IE 8的,但是落后的打印店可能用的還是XP系統,所以輸出個PDF去打印是比較保險的。

簡歷做完以后

先用各種瀏覽器看一下有沒有露餡,不過更重要的是:請閱讀你的簡歷至少10遍。程序員的表達能力普遍不強,在這個過程中,你可以發現:

  • 各種錯別字。比如把“登錄”寫成了“登陸”。
  • 各種錯誤術語。比如把“jQuery”寫成了“JQuery”,把“iOS”寫成了“IOS”。
  • 各種語句不通。
  • 各種表達累贅。

至於放置簡歷的服務器,可以用Github pages,也可以每年花¥100多租個虛擬主機

成功換工作以后

當你在新公司完成一個有價值的項目時,請及時更新你的簡歷。為何?因為此時你對項目的記憶最深,要是等到想再跳槽的時候再更新簡歷,往往在那時候忘記了項目的許多細節。

最后

附上我新版簡歷的截圖(圖大,移動網絡慎開;請允許我對敏感內容打馬賽克)。

 

出處:點我


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM