顯示具有 前端工程師 標籤的文章。 顯示所有文章
顯示具有 前端工程師 標籤的文章。 顯示所有文章

2022年4月11日 星期一

前端工程師網頁開發就是要學Emmet!

前端工程師網頁開發法寶Emmet入門教學!

前端工程師網頁開發法寶Emmet入門教學!


當你是前端工程師,就必須要裝一個「省時神器」 Emmet 外掛,如此可以大大節省前端工程師在編寫 HTML 及 CSS 的時間。省下的時間可以讓你去體驗人生各種美好的事物,如玩玩喵星人、上上健身房運動等等。

Emmet 支援的網頁編輯器如下圖:


安裝下載的方式因個網頁編輯器而異,且在網路上皆可以查到教學,故此省略。以下小編先介紹基本的使用方式:

快速產生標籤名稱 (Tag Name)

前端工程師在寫網頁的第一步,就是在網頁編輯器中開出新的頁面,並產生標準的 HTML5 樣板。透過 Emmet,我們可以先在編輯器中輸入「!」或是「html:5」後,再按下 Ctrl+E 鍵即可。



假設我們要產生一個 p 元素,那麼我們只要直接輸入 p 後,再按下 Ctrl+E 鍵,就能自動產生起始元素及結束元素。如下所示:



只要是 HTML 所定義的元素,如 h1-h6、center、title 等等,都能使用上述方示,快速產生出相對應的語法如下


有些元素還會帶入跟該元素有關的屬性,例如:iframe、a 或是 img 等


快速產生 className 與 id

我們也可以在產生元素時,直接加上指定的 Class Name。寫法是元素名稱與 Class Name 名稱中間用英文句點隔開。例如今天我們要產生 Class Name 為「title」的 h1 標籤,則輸入「h1.title」後按 Ctrl+E



若是要針對單一元素要加上多個 class name 的話,只要把它們用半形的句號隔開,接在一起就可以了。例如今天我們要產生 Class Name 為「news_p c1」的 div 標籤,則輸入「div.news_p.c1」後按 Ctrl+E


前端工程師省時神器 Emmet 一般預設的元素是 div,所以如果直接輸入英文句號後,寫 class name 的話,就會自動產生一個 div 元素加上指定的 class name。承上例,輸入「.news_p.c1」後按 Ctrl+E



除了 class name,我們也可以幫元素加上指定的 id。只要先打 # 號再輸入 id name 即可。例如今天我們要產生 id 為「news_p」的 div 標籤,則輸入「#news_p」後按 Ctrl+E



class name 和 id 可以同時使用,例如今天我們要產生 class name 為「news_p c1」、id 為「paragraph-1」的 div 標籤,則輸入「.news_p.c1#paragraph-1」後按 Ctrl+E



以上介紹過個常用的 Emmet 標籤快捷縮寫方式,更多的元素縮寫方式都可在 Emmet 官方文件中找到:Emmet cheat sheet

父子兄弟階層、群組、上一層

這一篇有簡略說到父子階層(父元素與子元素)之間的關係。想成為前端工程師的同學們未來在處理網頁時,一定會遇到父子元素、兄弟元素等。本文就簡單列出各種階層關係的 Emmet 縮寫方式:

父子元素一次輸入

前端工程師在使用 Emment 在設定子元素時非常方便,只要在父子元素間加入 > 符號即可。如下方的動態圖所示:假設我們要在 class name 名為「news_p」以及 id 名為「paragraph1」的 div 父元素中放置 子元素 p,並在 p 中在加上孫元素 ol 與 li 等動作,只要輸入「.news_p#paragraph1>p>ol>li」後按下 ctrl+E 就可一次寫完!



兄弟階層一次輸入

承上面「父子元素一次輸入」的範例,若想在 p 的上方放置 h2 標題,但是 h2 標題不屬於 p 的父元素,位階是跟 p 同等的,則 h2 與 p 互為兄弟元素。

上方提到:元素間互為父子關係則用 > 隔開;若為兄弟元素,就用「+」隔開。因此此例為輸入「.news_p#paragraph1>h2+p>ol>li」



將元素設為同一階層的群組

承上面「兄弟階層一次輸入」的範例,若前端工程師想在互為兄弟階層的 h2+p 的階層下,再多放一組一模一樣且位階相同的 h2+p 的階層的話該如何做?那就把 h2+p 視為一個群組,用 () 括號的方式包起來,把用括號起來元素視為同一階層來看即可,所以我們的語法就可以這樣寫「.news_p#paragraph1>(h2+p>ol>li)+(h2+p>ol>li)」之後再按 ctrl+E 即可。



上一層

承上面「群組 Grouping」的範例,若前端工程師想在兩個互為兄弟階層的 h2+p 群組後方,新增一個 div 父元素(class name 名為「news_p」以及 id 名為「paragraph2」),就可以在元素間加入 ^ 符號即可。所以語法就可以這樣寫「.news_p#paragraph1>(h2+p>ol>li)+(h2+p>ol>li)^.news_p#paragraph2」之後再按 ctrl+E 即可。



本例的 div 元素使用 ^ 符號來往上爬一個階層,如果想要爬兩層的話,就是 ^^ 符號。

想成為前端工程師,這些快速鍵要記得多練習幾次,熟練後才能在編寫 HTML 時更有效率。

複製元素

前端工程師要產生 ol 或是 ul 清單標籤時,都會包含一拖拉庫的 li 元素。如果要一個一個手動輸入的話,就算是使用 Emmet 的「+」快捷輸入法,還是會花去不少時間。幸好 Emmet 有複製的快捷輸入法:「*」。用法是:若想要一次產生 5 個相同的元素的話,就在原宿後方輸入「*5」。由此類推,產生 7 個就是「*7」。假使我們今天要建立一個 ul 清單標籤,包含 5 個 li 元素,語法就可以這樣寫「ul>li*5」之後再按 ctrl+E 即可。



再假設我們要在一個 .news 中放置 5 個 .block,然後每個 .block 中都有 1 個 h2 標題及 3 個 p 段落,每個 p 段落中又放置兩張圖片,則輸入「.news>(.block>h2+(p>img*2)*2)*5」



編號

有時前端工程師在輸入 li 標籤時,會給這些 li 一個共用的 .className 以及流水編號。若搭配 Emmet 的「$」時,就可以快速的產生。例如,今天我們要輸入五個 li 標籤,標籤的 class name 分別為 list-1、list-2、list-3、list-4、list-5,則輸入「li.list-$*5」



若要在這些流水編號前面加個「零」,例如 01、001,則補上只要補上相對數量的 $ 即可。像是 01 就是 $$、001 就是 $$$。承上例,我們輸入「li.list-$$*5」以及「li.list-$$$*5」



設定起始編號

$的用法,預設數字是從 1 開始累加。有時前端工程師會需要指定起始數字,這時則在 $ 後面多補上一個 @ 並加上指定的起始數字,承上例,我們要設定起始數字為 5 就輸入「li.list-$$@5*5」



Emmet 預設的編號是由小到大,若是希望編號由大到小,那麼就是在 @ 後面補上一個 – 負號 (就算是沒要設定起始值也是要多補 @)。例如我們要輸入 5 個 li 標籤,編號由大到小,就輸入「li.list-$@-*5」 我們要設定起始數字為 5 ,就輸入「li.list-$@-5*5」。



顯示文字

使用 Emmet 能讓前端工程師快速展開各種 HTML 元素,但如果能在撰寫的時候就能產生內文,不需等到元素展開後才補上內文就更棒了!這個功能 Emmet 也有!不塊是前端工程師的省時神器!

如果想要產生元素中的文字時,可以透過加上 {} 大括號並在其中寫上文字,如我們想要輸入名為「標題」的 h1 標籤、名為「副標題」的 h2 標籤,以及內容為 「內文」 的 p 標籤,就輸入「h1{標題}+h2{副標題}+p{內文}」後按下 Ctrl+E。



自訂屬性值

Emmet 除了可以讓前端工程師快速展開標籤與文字之外,對於像是 a href、img 等需要設定屬性的標籤,也可以在寫的時候就產生。

如果想要產生元素中的屬性時,可以透過加上 [] 中括號並在其中寫上屬性與值的內容,值需要用雙引號或是單引號包起來。例如我們今天要產生一個連結到網站「https://www.tedu.tw」的 a 元素,就輸入「a[href=”https://www.tedu.tw”]」後按下 Ctrl+E。



若想要增加顯示文字,則在 [] 中括號後方加上{} 大括號並在其中寫上文字即可。承上例,我們可加上「達內教育」文字,就輸入「[a[href=”https://www.tedu.tw”]{達內教育}」後按下 Ctrl+E。



若想要多增加一些屬性值,只要在同一個 [] 中括號中,將每個屬性值用空格隔開就可以了。如在上個例子中,想要設定網站在新分頁開啟,我們就輸入輸入「[a[href=”https://www.tedu.tw” target=”blank”]{達內教育}」後按下 Ctrl+E。



 

相關文章:

RWD 和 AWD 的差異與優缺點

前端工程師一定得選擇RWD嗎?AWD要怎麼做才能無痛SEO?

秀程式設計也能交女友!工程師專屬交友App:VSinder

Nature:語言天才比數學高手更適合學 Python!別在嘴文科生、女性不能寫程式了

人工智慧語音助理項鍊超神!你都不必出聲!

SEO優化小教室!教你快速學會設定網頁robots!

Python連續兩年霸榜,蟬聯今年度的程式語言冠軍!

2020年12月16日 星期三

非本科系不能轉職前端工程師?誰說的!

 想轉職當個前端工程師,卻心慌慌!他是怎麼做到的!?

想轉職當個前端工程師,卻心慌慌!他是怎麼做到的!?

測試工程師察覺現況,決定學習網頁前端

 

 

大學就讀電子工程學系的林先生,目前是網頁前端工程師,在公司負責網頁前端的切版及開發。

在轉職之前,林先生是科技業的測試工程師,但當時公司所有的產線、設備基本上都在大陸,且公司也在管控出差的人員。林先生察覺到這樣下去,根本學不到實際的東西,因此埋下了轉職的念頭

當時因緣際會下接觸到達內教育的「前端工程師」課程,聽完說明後理解到:這是一份包含了從入門到進階應用、從前端到後端的一條龍式課程,非常的全面,於是就決定報名了。

非本科系的微痛學習歷程

畢竟不是本科系,從未接觸過網頁開發的林先生在學習過程中,感到壓力非常大。從基礎的網頁切版到學習 Javascript 框架,並獨自一人整合網頁前後端,完成專案。雖然過程中壓力非常大,且遇到非常多不會的問題,但是當把獨立完成的網頁呈現出來時,成就感不是言語能描述的。

前端工程師經驗滿一年

林先生轉職前端工程師至今,已累積了超過一年的前端工程師經歷。他說:每天都會有新的技術需要學習、新的問題需要解決。「如何調整心態,並不斷精進能力,是當前需要解決的課題。但有著在達內這段學習前端工程師的歷練,相信我很快便能夠克服。」

相關文章:

Python與R語言之戰鹿死誰手?盤點5個即將消失的程式語言!

Google 在 Search Console 中啟用新的檢索統計報告

Google 12 月更新演算法!SEO今年排名最大洗牌

用說的就能寫程式!人工智慧替手傷工程師開發語音程式工具

人工智慧也要懂得如何安全駕駛!

Python教學小祕方-控制結構4運算子優先順序

人工智慧的未來樣貌從電影中看端倪

2020年8月17日 星期一

前端工程師也該懂的後端工程師技能是?

前端工程師也要懂點後端,技能永遠不嫌多,求職加分利器!

 前端工程師 會點後端技能,求職大加分!

前端工程師來說,MySQL 是後端工程師的技能。可是如果前端工程師也懂 MySQL ,不論是求職上會有很大的幫助。

因為在人力銀行網站搜尋前端工程師的職缺,會發現有些公司會把 MySQL 列為前端工程師的必備技能。通常 (非全部) 擁有 MySQL 技能的前端工程師獲得高薪的機會較大。多一項能力,調薪的籌碼就越大。

推薦閱讀:前端工程師的學習路線圖整理

我們就直接切入基礎的 MySQL教學 !本篇先來簡介一下資料庫 4 大基要語句,他們分別是定義資料庫的 DDL (Data Definition Language)、操作資料庫的 DML (Data Manipulation Language)、控制資料庫的 DQL (Data Control Language) 與查詢資料用的 DCL (Data Query Language)。簡介如下:

資料庫定義語言 - DDL (Data Definition Language)

定義資料庫的結構,常見語句有 CREATE、DROP、ALTER。

DROP

丟棄或刪除資料庫。寫法如下:

刪除一個「已經確定存在」的資料庫:

DROP DATABASE 資料庫名稱;

範例:

DROP DATABASE xz;

刪除一個「不確定是否存在」的資料庫:

DROP DATABASE 資料庫名稱; 

範例一. 在不確定名為「xz」的資料庫是否存在的狀況下,刪除 xz 資料庫:

DROP DATABASE IF EXISTS xz;

▲ 在命令提示字元使用 MySQL 的 DROP DATABASE 語法

CREATE

創建資料庫或表格。寫法為:

CREATE DATABASE 資料庫/表格名稱;

範例一、創建名為 "xz" 的資料庫:

CREATE DATABASE xz;

範例二、創建名為「FrontEndElements (網頁元素)」的表格,表格有兩個欄目,分別為「element(元素)」、「usage(用途)」;又令「element」的內容限制為 10 個字元、「usage(用途)」則為 32 字元,代碼如下所示:

CREATE TABLE FrontEndElements(`element` VARCHAR(10),`usage` VARCHAR(32));

註:MySQL 本身內建一些具有特定功能的保留字,這些保留字中包含「usage」,與我們欲建的欄目名稱同名,會令 MySQL 混淆導致無法建表 (如下圖)。


▲ 在命令提示字元使用 MySQL 創建的欄目名稱「usage」與保留字重複,而導致無法建表。

為了區分,因此加了反引號,為「`usage`」。

其實 MySQL 的保留字很多,前端工程師不可能每個都記熟。所以寧可在每次創建表格時,都在欄目名稱的左右側加上反引號。如下圖所示:

 

▲ 在命令提示字元使用 MySQL 創建名為「FrontEndElements (網頁元素)」的表格,表格有兩個欄目,分別為「element(元素)」、「usage(用途)」;又令「element」的內容限制為 10 個字元、「usage(用途)」則為 32 字元

資料庫操作語言 - DML (Data Manipulation Language)

INSERT

新增資料到資料表中。寫法如下:

INSERT INTO 資料表名稱 VALUE('值一','值二');

範例、今天要新增 4 個內容到上述的 "FrontEndElements" 表中,對應的欄目分別為'element'、'usage':

INSERT INTO FrontEndElements VALUE('HTML','管理網頁的架構');
INSERT INTO FrontEndElements VALUE('CSS','管理網頁的外貌');
INSERT INTO FrontEndElements VALUE('JavaScript','管理網頁的內容以及使用者的操作行為、互動');
INSERT INTO FrontEndElements VALUE('MySQL','資料庫');

▲ 在命令提示字元使用 MySQL 創建 4 個內容,內容的值對應到兩個表格欄目「element(元素)」、「usage(用途)」。

下圖為從 MySQL 叫出表格「FrontEndElements」的所有內容。指令稍後在本文 DQL 段落會講解。


▲ 在命令提示字元使用 MySQL 觀看 FrontEndElements 表中所有內容

UPDATE

更改資料到資料表中。寫法如下:

UPDATE 資料表名稱 SET 欄位名稱='更新後的內容' WHERE 條件敘述;

範例、今天將上述的表格中,'JavaScript' 的 'usage' 修改為 '管理網頁的互動與動態內容'。如下所示:

UPDATE FrontEndElements SET `usage`='管理網頁的互動與動態內容' WHERE element='JavaScript';

▲ 在命令提示字元使用 MySQL 將「JavaScript」的 `usage`欄目中,內容改為 '管理網頁的互動與動態內容'。

DELETE

刪除資料表中的資料。寫法如下:

DELETE FROM 資料表名稱 WHERE 條件敘述;

範例、今天將上述的表格的 'SQL' 刪掉,寫法如下所示:

DELETE FROM FrontEndElements WHERE element='SQL';

▲ 在命令提示字元使用 MySQL 將名稱為「MySQL」的 整欄刪除。

資料庫查詢語言 - DQL (Data Query Language)

查詢資料使用,不會對資料產生任何更動的語句。指令只有一種:

SELECT

撈出表中的資料,例如我們要撈出上述表格的所有內容,寫法如下:

SELECT * FROM  FrontEndElements;

▲ 在命令提示字元使用 MySQL 觀看 FrontEndElements 表中所有內容

資料庫控制語言 - DCL (Data Control Language)

控制用戶權限,例如把某個電商網站的管理權、上架權等不同層級的權限,分派給不同的員工。

GRANT

授予權限

REVOKE

收回權限

上述的 MySQL教學 語句種類,前端工程師只須看得懂 DDL、DML 與 DQL 就好。下一篇文章會講述 MySQL 中文亂碼的解決方式。請想提升技能的前端工程師多多關注我們的知識庫!

相關文章:

Facebook 開源 Python 語言的安全與隱私工具 Pysa

人工智慧又寫歌了!這次是跟重金屬天團 Metallica 致敬

暴躁老人唱情歌、憂鬱阿嬤笑了!4個翻轉家庭的人工智慧 讓家更溫暖

人工智慧貓砂盆 - 因愛貓腎病過世 工程師研發預防性貓用醫療品

有人工智慧在,取名不再是個大難題!

Java課程提升自我,不靠學歷,就靠實力!

他做到了!就憑短期Python課程,他成功成為醫院網站工程師!?