面試官:這些功能你能不能不用JS來完成?

2021-02-19 魚頭的Web海洋


前言

今天我們大家介紹一些可能你乍一眼以為一定需要 JavaScript 才能完成的功能,其實 CSS 就能完成,甚至更加簡單。

內容已經發布在 gitHub 【https://github.com/wanqihua/blog】了,歡迎圍觀 Star,更多文章都在 gitHub。

直接入題1. 每個單詞的首字母大寫

其實我第一次看到這個功能的時候就是使用 JS 去實現這個功能,想都沒想 CSS 可以完成這個功能。馬上就屁顛屁顛的寫了一個方法:

function capitalizeFirst( str ) {

let result = '';

result = str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase());

return result

}

寫完這個方法後,還有點小得意,也就沒想其他方案。直到有一天看到 CSS 也能做這個功能的時候,我才反應過來明明一句 CSS 就能解決的問題,我卻使用了更複雜的方案。

CSS 方案如下:

.capitalizeFirst-css {

text-transform: capitalize;

}

是不是特別簡單(代碼在上面的 blog 倉庫,訪問 cssDo 路由便可,下面的案例都是這個路由下):

text-transform 簡單介紹

這是 CSS2 中的屬性,參數有 capitalize | uppercase | lowercase | none

參數介紹:

none:默認。定義帶有小寫字母和大寫字母的標準的文本。

capitalize:文本中的每個單詞以大寫字母開頭。

uppercase:定義僅有大寫字母。

lowercase:定義無大寫字母,僅有小寫字母。

從這個屬性我們可以知道全部大寫(小寫)的需求這個屬性也能輕易實現。

2. 單選高亮

可能你看到「單選高亮」沒反應過來,直接來張圖片你就馬上清楚了:

不知道你是否第一次看到這種單選高亮的需求時,是怎麼處理的。我第一次直接是用 JS 控制的。後來我發現這個需求用 CSS 更方便處理。

主要代碼就是一段 CSS 代碼:

// 省略部分代碼,詳細代碼看倉庫

.input:checked + .colors {

border-color: #e63838;

color: #e63838;

}

<div class="single-check">

<input class="input" type="radio" name="colors" value="1">

<div class="colors">天空之境</div>

</div>

看效果:

兩個選擇器的區別

~選擇器:查找某個元素後面的所有兄弟元素

+選擇器:查找某個元素後面緊鄰的兄弟元素

擴展

其實這個技巧也完全可以使用在導航欄的交互效果,個人覺得可以簡化一部分工作。

3、多列等高問題

之前做 pc 端的客戶畫像需求時,遇到需要左右兩邊等到的需求(左邊塊的高度會隨著內容變化)。

最初我使用的 JS 計算高度再賦值,可是這樣會有頁面閃動的效果。所以找到了兩種 CSS 的處理方案:

每列設置一個很大的 padding,再設置一個很大的負的 margin

使用 display:table;

第一種有明顯的缺陷:

border-bottom 看不到了

設置的下方的兩個圓角也不見了

所以我使用了 display:table; 的方式來實現等高,可以說非常的方便。

建議不要一味的牴觸 table,有的場景還是可以使用的。

4、表單驗證

先聲明:這裡沒有用到 JS,不過用到了 HTML5 關於 <input> 的新屬性 —— pattern( 檢查控制項值的正則表達式 )。
還有一點:其實我在實際項目中沒這麼用過。

代碼如下:

input[type="text"]:invalid ~ input[type="submit"] {

display: none

}

<div class="form-css">

<input type="text" name="tel" placeholder="輸入手機號碼" pattern="^1[3456789]\d{9}$" required><br>

<input type="text" name="smscode" placeholder="輸入驗證碼" pattern="\d{4}" required><br>

<input type="submit" ></input>

</div>

效果如下(樣式不好看的問題請忽略):

invalid 偽類和 vaild 偽類後記

如果你、喜歡探討技術,或者對本文有任何的意見或建議,你可以掃描下方二維碼,關注微信公眾號「 魚頭的Web海洋 」,隨時與魚頭互動。歡迎!衷心希望可以遇見你。

相關焦點

  • 招生面試:這些問題沒回答好,拒信就在路上咯!
    如果按照功能來分類,可以分為以下常見的兩種:•信息型(informative):這類型的面試就好比一個宣講會,大致介紹一下學校的情況,你去與不去都沒有太大的差別,當然,去了也是一個跟招生官混臉熟的機會。
  • 面試官:我兒子是你兒子的爸爸,我是你的誰?美女精闢回答
    無論是在什麼公司什麼部門擔任著什麼工作職務前都要經歷最重要的一個環節,就是要和面試官談話,達到雙向標準,一個是公司方考慮著要不要應聘和面試方要不要受聘。在面試的時候總是會出現一些一個又一個讓人費勁腦汁的問題。
  • 女面試官:「饕餮」這兩個字怎麼念?美女機智回答,被錄取
    對於求職者來說最重要的事情就是面試,很多小細節會起到決定性的作用。偶爾我們會在面試時碰上有些奇葩的問題。這些問題總是都讓我們頗感意外,卻能考驗出你的隨機應變能力。HR們會從這些奇奇怪怪的問題中看到員工的能力。
  • 女面試官:一瓶水,怎樣能先喝到底部的水?美女聰明回答!
    當代社會競爭激烈,就業問題是當今社會永恆不變的熱點,企業和人才都是雙向選擇,面試就顯得尤為重要,可不能出現:酒香也怕巷子深的問題,所以短短幾十分鐘的面試
  • 面試官:你可以用純 CSS 判斷滑鼠進入的方向嗎?
    •作者:陳大魚頭•github: KRISACHAN[1]前言在之前某一個前端技術群裡,有一個群友說他面試的時候遇到了一個問題,就是面試官讓他用純 CSS 來實現一個根據滑鼠移動位置覺得物體移動方向的 DEMO。
  • 女面試官:一瓶水,怎樣能先喝到底部的水?女大學生聰明回答
    李金英和同班同學搭伴,已經參加過好幾場招聘會,並參加了多場面試,但是都以失敗告終,雖然給她了一定的打擊,但是也增長了經驗。有一天,宿舍的舍友告訴她,在網上投了簡歷,不妨去試一試,果然很快收到了網上一家公司的面試邀請。面試那天,李金英提前來到了公司,面試的人不多,加上她,一共三個面試者。時間到了後,很快進入了面試環節。
  • 4個老外應聘外教,差點被面試官搞哭……
    當他們視頻連線看到面試官時……因為,每個人的面試官竟然都是——孩子!這些挑剔的小學霸、熊孩子、小公主、小蘿莉代表全宇宙出題,4個外教將如何應對這場最意外的面試?點擊文首的視頻,揭曉答案!策劃這條有趣視頻的是在線少兒教育領導品牌 VIPKID,之所以讓孩子來面試外教,是因為他們相信:外教好不好,孩子說了算!
  • 女面試官:我沒穿衣服被你看到,會怎麼做?畢業大學生高情商回答
    職場面試奇葩題層出不窮,被面試官奇葩問題卡住過的面試者會說面試官無理取鬧,問一些跟工作沒有半毛關係的問題,但作為一名優秀的面試官,
  • Google面試官:不給我留提問時間,怎麼給你 hire?
    反思之後,應該是由於做題太慢,有幾輪只回答了一道題,面試官沒有時間 follow up。加面的情況今年很常見,有加面design,也有加面BQ的,不過像Google這樣加面3輪Coding的卻不多見。如果面試表現不好,FB一般不會直接掛你,很多情況是給你加面機會或者down level。FB 的Coding環節,面試官一般會準備兩道題。這時候如果你只是完美地做出一道題,基本上這輪就跪了。相反,你快速解決兩道題,即便有些小瑕疵,說不定也能過。
  • 效果拔群:日本網友視頻面試緊張,竟把面試官「魔改」成遊戲攻略對象!
    同樣的如果要找工作,大多數情況下也是靠視頻面試的方式。視頻面試就是跟對方公司約好時間,打開電腦跟通訊軟體,開始面試、敘述學習經歷,了解對方公司跟工作情況等等。對於應聘者來說,視頻面試是一個全面展示自己的好機會。除了過人的能力以外,種種細節也都是視頻面試取勝的關鍵。
  • 女面試官:我兒子叫你兒子爸爸,那我是你的誰?小夥神回復被錄取
    如今面試已經不像以前那樣,只問一些簡單的基礎知識來考察求職者的能力,面試官還會出一些看上去「沒頭腦」,實則考驗求職者應變能力的問題。
  • 面試官:寧字去掉寶蓋頭,是什麼字?女碩士生機智回答被錄取
    導語:一個人一輩子大部分的時間都是在賺錢,為了養家餬口,為了維持生活,職場上再大的壓力,再激烈的競爭,都必須能扛得住,而且任何時候都要做好拼搏一把的準備,就連面試也是一樣。現如今,步入職場已然不如老一輩人那麼簡單容易,每一個學生在畢業之後都得面臨著面試的洗禮,更何況現在每年的大學生也都在不斷增加,好的職位顯得尤為緊缺,這些面試官為了招聘到合適的人選,出的招越來越多,提的問題也是越來越特別。這不,女碩士楊紫就在面試過程中遇到了這樣一套特別的難題,還好機智聰明,心思縝密的她拋開常用思維去回答問題,果斷被錄取。
  • 面試官:猴子摘桃,打一成語?女大學生回答不出被淘汰
    ,往往面試官出的一些題,讓他們大多都感到很奇葩,很多時候都回答不上來,而最近一位女大學生小美參加了一家公司的面試,結果,面試官出了一道題:猴子摘桃,打一成語?  這時,走來一位面試官,直接領著三位來到了公司的會議室,看了三位的個人簡歷以後,於是,出了幾道理論知識,剛好女大學生小美就是理科專業畢業的,所以,很快就把問題給回答出來了,面試官看三位回答的都很好。
  • 面試官:因為這句話,我淘汰了90%的應屆生!
    每年秋招,500強的面試淘汰率高達70%還有花樣百出的面試環節,聽著就頭大電面/群面/壓力面/case面/HR面…這些複雜的面試關卡,讓很多同學苦不堪言熱門行業面試真題&面經我們把企業真題和面經全部按照行業分好啦,能幫你節省90%以上搜集資料的時間。
  • 面試官:請問,鉛筆姓什麼?回「鉛」的都淘汰,小姑娘巧妙作答!
    中了面試官的套路。很多面試官喜歡一些心思細膩,思維活躍的求職者們。對於這些公司來說,學歷,專業知識只是他們的門檻而已,頭腦靈活,遇事能夠應變自如的人,才是公司們想要的人才,要知道專業知識是可以培養的,然而思維邏輯方式,臨場應變能力這些可是無法培養的!餘力今年25歲,是一名典型的「90後」。從工作了一年的原公司離職後,他參加了某公司的面試,應聘銷售助理崗位。
  • 女面試官:「一口吃掉牛尾巴」是什麼字?高材生機智回答,直接被錄取
    這是一家服裝公司正在面試顧問,當時是一位美女面試官,她看上去特別的溫和,可是對於面試她還是非常的嚴格,在面試的職員的時候,她首先是讓各位求職者自我介紹,隨後進行了筆試,經過了這兩輪的考核後,就只剩下了6位,再這6位當中,面試官再次提出了一個問題,又淘汰了3位,最後也就這3位進行了最後的面試。
  • 面試官:什麼字是全世界通用的?博士答英文,卻當場被淘汰
    每個人畢業的時候都會想這些問題,但不是每個人都知道明確的答案。雖說每個畢業生都會思考這個問題,但卻不是每個畢業生都會去擔憂這些問題。因為找到工作已經不容易了,還要找到那種處處符合自己意願的工作就更加困難了。郭富城是今年剛剛畢業的博士。他讀的專業很冷門,比較難就業,但他和別人一樣,踏上了求職之旅。
  • 面試官:成語字典有幾個成語?小姑娘機智回答,被錄取
    不過在這裡小編要說一下的是,小編的水平有限,我也是在一點點的成長,希望自己能夠成長的更快一些,讓自己能寫出更多,更更優質的文章來,供大家們閱讀。所以,在這裡小編要很鄭重的跟各位說一句:如果你們覺得我的文章哪裡寫的不好了,歡迎給我提出來。你們的意見,才能讓我有更好的修正。好,廢話不多說了。我們下邊直接進入主題。
  • 職業移民面試官刁難?律師:英語要過關
    關注"北美e生活" 或 "uslifezs"關注我們,每天收到你意想不到的好文     有華人表示,美國移民官要求背出社安號,還詢問年收入金額,移民官的態度與口氣也十分不友善。對此,移民律師認為,現在刁難案件增多,意在考驗申請人的英語程度,問題也會針對申請人,當時辦理綠卡途徑的方式而有所不同,尤其對透過職業移民申請綠卡或入籍的面試為最嚴。
  • 面試官:祖瑪遊戲玩過麼?我來拷拷你~
    現在你手裡也有幾個球。每一次,你可以從手裡的球選一個,然後把這個球插入到一串球中的某個位置上(包括最左端,最右端)。接著,如果有出現三個或者三個以上顏色相同的球相連的話,就把它們移除掉。重複這一步驟直到桌上所有的球都被移除。找到插入並可以移除掉桌上所有球所需的最少的球數。如果不能移除桌上所有的球,輸出 -1 。