前端開發者們值得了解的 11 項前端技巧

2021-01-14 InfoQ
不容錯過的 11 項 HTML/JS/CSS 技巧。

通過以下 HTML/CSS/JavaScript 相關技巧,希望能幫助大家填補一點點關於前端開發方面的知識空白。

元素這項 HTML 元素的使用頻率極低,今天我們就要為它正名!

< datalist>標籤用於為< input>元素提供一項「自動補全」功能。在鍵入過程中,您會看到如下圖所示的預定義下拉菜單及選項。

示例:

<input**list="animals"**name="animal" id="animal"><datalist**id="animals"**><option value="Cat"><option value="Dog"><option value="Chicken"><option value="Cow"><option value="Pig"></datalist>

如果大家希望使用帶有複選框的可點擊標籤,最常見的作法可能是將 label 元素與「for」屬性結合使用,詳見以下代碼。

<input type="checkbox" name="checkbox" id="checkbox_id" value="value"><label for="checkbox_id">I agree</label>

實際上,您完全可以將 label 元素直接放在複選框旁邊以達成相同的效果。這樣,我們就能點擊「I agree」並輕鬆選中該複選框!

示例:

<label><input type="checkbox" name="checkbox" id="checkbox_id" value="value"></label>

這可能是本份清單中知名度最高的技巧了,但大多數朋友並沒有意識到它的強大力量。

子選擇器用於匹配某一指定元素的全部子元素。它能夠給出兩項元素之間的關係。

示例:

/* 1st <li> element */li:first-child{    color: red;}
/* Last <li> element */li:last-child{ color: green;}
// Select All <li> elements but The First Three */li:nth-child(n+4) { color: yellow;}
/* Select only the first 3 <li>elemets*/li:nth-child(-n+3) { color: green;}
/* Styles are elements that are not a <p> */.my-class:not(p) { display: none;}

寫作模式是一項鮮為人知,但卻極為強大的 CSS 屬性。

您可以藉此讓文本以垂直形式排列:

完成此操作的代碼非常簡單。

writing-mode: vertical-rl;

完整示例:

<style>.sideway {    writing-mode: vertical-rl;}.normal {    width: 5%;    float: left;}</style><p>    Hi some paragraph text</p><p>    Hey I'm somesidwaytext</p>

其中 writing-mode 屬性還包含五個具體選項。

writing-mode: horizontal-tb;writing-mode: vertical-rl;writing-mode: vertical-lr;writing-mode: sideways-rl;writing-mode: sideways-lr;

calc()CSS 函數允許您在指定 CSS 屬性值的前提下執行計算。

大家在 calc() 中用得最多的功能,應該就是混合單位了,例如將百分比與像素相混合。這項任務無法由預處理器完成,只能在渲染過程中執行。

示例:

width:calc(5px + 100px);width:calc(6em * 8);width:calc(100% - 50px);

6 Math.round 與 Math.floor 備選項

這項技巧雖然有點難度,但效果也相當出色。

Math.floor() 您可以使用 0|:

**0|**743.4343 // returns 743Math.floor(743.4343) // returns 743

Math.round() 您可以使用 +.5|0:

812.777**+.5|0**// returns 813Math.round(812.777) // returns 813

不少朋友可能已經聽說並使用過 console.log(),但對於 console.table() 恐怕還比較陌生。它的作用是接收一個數組或者一個對象,從而以非常整潔的方式在控制臺視圖內顯示一份表格!

數組示例:

let car1 ={ name: "Audi", model : "A4" }let car2 = { name : "Volvo", model : "XC90" }let car3 = { name : "Ford", model : "Fusion" }console.table([car1, car2, car3]);


另一項非常實用的控制臺方法。console.time() 會啟動一個計時器,以參數作為標籤,而後使用具有相同標籤名稱的 console.timeEnd(),使控制臺以毫秒為單位輸出以 console.time() 及 console.timeEnd() 調用為起點的時間。

示例:

// Starts the timerconsole.time("MyTimer");// Ends the timer and outputs the time in millisecondsconsole.timeEnd("MyTimer");

「In」操作符能夠檢查數組中是否存在索引,並返回 true 或 false 結果。

示例:

let cars = ['Audi', 'BMW', 'Mini', 'Bentley', 'Porsche'];0 in cars // returns true3 in cars // returns true6 in cars // returns false

您也可以藉此檢查對象中是否存在某項屬性。

示例:

constperson ={firstName: "Dave", surname: "Smith", age: 34 };'firstName' in person // returns true'surname' in person // returns true'age' in person // returns true'gendar' in person // returns false

這是一項偶然的發現:如果大家在 Chrome 瀏覽器的網址欄中輸入以下內容,然後按下回車,瀏覽器就會變成記事本形式。

data:text/html, <html contenteditable>

11 在 if 代碼塊中,去掉多個語句之間的大括號
if (1 === 1)alert("Alert 1"), alert("Alert 2");

雖然這 11 項技巧未必都很實用,但至少也算是各具價值,而且大多沒能在實際前端開發中得到重視。肯定還有更多重要技巧等待我們挖掘,期待聽到大家的分享與推薦!

原文連結:

https://medium.com/javascript-in-plain-english/11-frontend-tricks-that-most-frontend-developers-dont-know-about-68dc48199ed6

相關焦點

  • 推薦一些 GitHub 上值得前端學習的開源實戰項目,進階必看!
    最近好多同學問我了解找一些學習的實戰項目;看一個別人寫的優秀的項目,從中可以學到很多;比如代碼的規範,項目的結構;從項目作者每次提交記錄,去學習一些別人的開發思維以及開發整個項目的流程;下面我主要找了一些比較火的一些框架以及 node 項目。
  • 葡萄城首席架構師:前端開發與Web表格控制項技術解讀
    與此同時,還會為大家深入解讀「面對不斷變化的業務需求,開發者如何保持並不斷提升Web應用的開發迭代速度」。 最後,作為一名技術狂熱愛好者, Issam還會就當今最熱的前端技術發展趨勢發表看法。 下面,是本期公開課的核心內容,更多精彩分享,請點擊此處觀看。
  • Web前端三大主流框架是什麼?
    前端框架對於前端開發的好處是顯而易見的,比如減少代碼中因失誤產生的bug,還能大大節約時間和人力成本,縮短開發周期等等。目前,市面上Web前端三大主流框架分別指的是Angular、React和Vue,在Web前端開發中,它們平分秋色,各有優劣。
  • 前端幹法脫硫:高爐煤氣脫硫新途徑
    不久前,北京北大先鋒科技股份有限公司有關專家在介紹高爐煤氣脫硫技術發展時,對《中國冶金報》記者強調了此項工作的重要性。  選擇前端脫硫還是末端脫硫  據介紹,高爐煤氣的脫硫處理可以分為前端脫硫和末端脫硫,主要區別在於處理的硫形態和處理的氣量不同。
  • Web前端是做什麼的?
    Web前端開發工程師是一個相對較新的行業,在國內外真正開始受到關注不到5年。Web前端的發展是從網頁製作演變而來的,其名稱具有明顯的時代特徵。網際網路的演化過程中,網頁製作是Web1.0時代的產物,當網站的主要內容是靜態的時候,用戶使用網站的行為多數也只是瀏覽。
  • 深度學習預測比特幣價格;基於神經網絡的自動化前端開發 | Github...
    雷鋒網 AI 研習社按:對於開發者來講,證明其編程能力最好的方式是展示他們的項目和代碼。雷鋒網 AI 研習社本周從 YouTube、知乎以及 Github 官網上搜羅了數個與 AI 相關的開源項目,為 AI 開發者的設計提供參考。
  • 哈爾濱前端移動框架Angular
    哈爾濱前端移動框架Angular!哈爾濱前端移動框架Angular.js!Angular.js是一個功能齊全的框架,支持Model-View-Controller編程結構,非常適合構建動態的單頁網絡應用程式。
  • web前端開發常用工具有哪些
    Web前端是一個新興職業,市場需求大,薪資待遇高,吸引了很多人加入學習。無論是初學小白亦或是自身前端開發人員,好用的軟體工具可以幫助他們更好的工作。下面為大家介紹一些常用的web前端開發工具:1、BootstrapBootstrap 是快速開發 Web 應用程式的前端工具包。它是一個 CSS 和HTML 的集合,它使用了最新的瀏覽器技術,給你的 Web 開發提供了時尚的版式,表單,buttons,表格,網格系統等等。
  • 如何做好一個Web前端開發工程師
    無論是後端開發、設計行業,還是零基礎行業,只要你對Web前端感興趣,就可以加入前端開發行業,這是一個報酬優厚的行業,在網際網路企業中不可或缺。很多人對 web前端都有濃厚的興趣,但卻不知道如何開始學習,今天就為大家推薦7步法幫助你成為 web前端開發工程師。
  • LTE/11ac引領潮流 手機射頻前端設計翻新
    拆解支援4G/LTE、Wi- Fi/802.11ac智慧型的無線終端產品,如智慧型手機、射頻前端模組(Radio Frequency Frond-end Module, RF FEM)的創新技術,也將是成就所謂智慧的、無界的、高效率的、高性價比的重要關鍵技術。
  • 9個目前流行的MATERIAL DESIGN前端框架
    谷歌推出的Material Design風格已見有一些APP UI採用,視覺和交互體驗都很棒,對於想嘗試這個風格但又不懂實現一些效果的前端設計師們,可以試試今天分享的9個目前流行的Material Design前端框架 。
  • Web前端的就業前景如何
    Web前端對網站而言,通常指前端部分,它包括網站表現層和網站結構層。所以一般來說,前端技術分為前端設計和前端開發,網絡的視覺設計主要是有前端設計負責,網站的前端代碼實現,主要是由前端開發負責。基本的有 HTML和 CSS, JavaScript/ajax,以及目前新的高級版本HTML5,CSS3,以及 SVG等等。
  • SDCC 2015前端專場札記:Facebook、百度、騰訊、美團、餓了麼等...
    【編者按】11月21日,為期三天的 SDCC2015中國軟體開發者大會成功閉幕,主辦方總計邀請了95餘位演講嘉賓,為參會者奉獻了10個主題演講,9大技術專場論壇(80餘場技術演講),另外還有5場特色活動。另外,據官方統計參會人數高達1067名(不含工作人員)。
  • Web前端和後端有什麼區別(上)
    關於Web前端與後端之間有什麼區別呢,下面有小編帶你了解一下,相信看完本文你會有新的理解。 一.定義不同 一般來說,我們把網站分為前端和後端。前端主要負責頁面展示,後端是業務邏輯的實現。
  • 曾經的迷茫,WEB前端是做什麼的?
    相信不少的人都有過迷惑,web前端是做什麼的?什麼時候開始有了web前端的這個概念?不知何時,不管是web前端行業的從業者,還是非從業者,都對web前端產生了濃厚的興趣。但在這個前端培訓機構多如牛毛,一批批培訓人員從培訓機構輸出的時代,幾乎大多數人不太清楚web前端這個名詞的起源。他們僅知道的是,從事這個行業會有很好的發展前途,會拿到不錯的薪水,至少很多的招聘機構是這麼寫的,也有不少的公司求賢若渴,給出的薪水很高。也許大家都知道,web前端是做網頁設計的。
  • 5G建設:射頻前端需求爆發
    7、射頻前端模塊需求爆發,產業鏈公司已開始爭搶市場。8、我國固態電池領域取得新進展,產業鏈進程有望加速。9、美國發布新出口管制措施,助推我國地理信息技術自主可控。10、三星摺疊屏正式對外銷售,華為成為首家客戶然後是小米。
  • Web前端就業前景如何 學完能從事哪些行業
    2020-11-27 23:45:16 來源: 水墨遇丹青 舉報
  • Vue+Axios+Vuex+Vux+Vue-Router全家桶搭建前端框架
    不知從何時起,前端開發變成一件工程化的事情,曾經的紅極一時的Jquery如今也慢慢退出歷史的舞臺,取而代之的是更前沿的技術;前端框架層出不窮,Angular 2+,React + Redux,Dojo 2,Vue。。。等等,太多了,那我們如何在這繁雜的框架中選擇一個合適的呢?
  • 關於RFID電感耦合方式的射頻前端工作原理,你了解嗎?
    引言:IoT的核心技術之一就是RFID,對於RFID的組件RFID讀寫器和電子標籤的工作原理,你了解嘛?其實RFID的兩種組件是通過天線進行通信,採用電感耦合的方式進行,接下來我們一起看一看關於RFID電感耦合方式的射頻前端工作原理!
  • 教程:通過 Subspace 和 Infura 實現實時前端數據
    在本指南中,我們將介紹如何跟蹤已部署合約的交易,以及當它們在每個新確認的區塊中進行更新時,如何在前端顯示和更新這些數字。我們以跟蹤 Uniswap 上的 Dai<>Eth 交易為例來進行說明。