前端工程師必學!Emmet能減少寫HTML/CSS的時間?!

前端工程師必學!Emmet能減少寫HTML/CSS的時間?!
前端工程師必學!Emmet能減少寫HTML/CSS的時間?!

前端工程師看過來!!今天要介紹的是能幫你省下大把時間的超級神器!!Emmet!!只要有了他就不用再花大把時間編寫HTML及 CSS啦!!

身為一個前端工程師,一定要裝一個「省時神器」 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。

推薦閱讀:6個酷炫HTML5電子書翻頁效果

 

 

更多前端工程師或其他程式語言相關文章請點閱下方連結

 

 

 

其他閱讀

RWD 和 AWD 的差異與優缺點

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

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

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

2022最佳職場NVIDIA蟬聯第一!!Meta元宇宙呢?

義大利廠Brembo幫你實現人工智慧自動煞車的夢想(上)

Spotify研發人工智慧技術抓住客戶!穩坐串流音樂龍頭!

別害怕重頭學習~前端工程師等你來轉職!!

別害怕重頭學習~前端工程師等你來轉職!!
別害怕重頭學習~前端工程師等你來轉職!!

想學習前端工程師課程卻擔心沒有相關背景嗎?快來看看親身實例怎麼說吧!!

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

 

【轉職前端工程師】測試工程師的微痛學習歷程,現在切版、網站開發一把罩!
 

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

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

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

非本科系的微痛學習歷程

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

前端工程師經驗滿一年

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

 

 

 

更多前端工程師或程式設計相關文章請點閱下方連結!!

 

 

 

其他閱讀

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

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

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

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

JK羅琳就快被人工智慧取代寫出最新一集的哈利波特!?

能篩檢出視網膜病變的人工智慧眼科輔助診斷軟體終於上線!!()

中研院研發讓交通執法運用人工智慧科技讓超速一秒現行?!()

 

 

前端工程師必備的後端技能有哪些?一次教給你!!

前端工程師必備的後端技能有哪些?一次教給你!!
前端工程師必備的後端技能有哪些?一次教給你!!

你以為前端工程師只要會前端技能就好嗎?那你就錯了~快來看看那些後端技能非學不可呢!!

對於前端工程師來說,MySQL 是屬於後端工程師的技能。但是若前端工程師也略懂 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 中文亂碼的解決方式。請想提升技能的前端工程師多多關注我們的知識庫和MySQL教學

 

 

更多前端工程師或其他程式語言相關文章請點閱下方連結!!

 

 

 

其他閱讀

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

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

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

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

Python課程超強大!讓非本科轉職為大醫院網站工程師!

半年Java課程讓他成功轉換跑道成為一名程式設計師!

進修Java課程只為從硬體工程師成功轉換跑道成為一名軟體工程師!

HTML5小教室:六款電子書翻頁特效

HTML5小教室:六款電子書翻頁特效
HTML5小教室:六款電子書翻頁特效

今天要來跟大家分享HTML5的翻頁特效!!需要的同學不要錯過了!!

1. HTML5 書本翻頁動畫特效

 

 
 

這是手動翻書頁面特效的基本款。這款 HTML5 翻頁動畫可以用鼠標拖動頁面來模擬手動翻頁的效果,也可以點擊書頁的邊框來快速翻頁。

▶網頁上展示

▶原始碼下載

2. HTML5 3D書本翻頁特效

 

 
 

利用 HTML5 和 CSS3 不但可以實現翻頁動畫,還可以 3D 的立體形式實現。下面這款書本翻頁特效,使用鼠標拖拽書本頁面即可翻動頁面,在翻頁的過程中,書本還可以呈現出3D立體的效果 – 包括書本中的圖片也是。

▶網頁上展示

▶原始碼下載

3. HTML5/CSS3書本翻頁3D動畫

 

 

另一種簡潔版書本3D動畫特效,當我們將鼠標滑過書本時,書本就會自動一頁頁翻過去,書本的3D效果非常鮮明、極簡舒服。

▶網頁上展示

▶原始碼下載

 

4.超逼真書本翻頁動畫(CSS3版)

 

 
 

這款 CSS3 動畫效果是模擬書本翻頁的動畫特效。當鼠標滑過書本右上角時,書本即可向前翻一頁,而且翻頁動畫非常逼真。由於 CSS3 的運用,我們並不需要使用複雜的圖片來製造逼真的書本效果,書本翻頁可以很簡單地完成。

▶網頁上展示

▶原始碼下載

5.超逼真書本翻頁動畫(jQuery版)

 

 
 

這款 jQuery 書本翻頁 3D 動畫,功能更加強大,支援頁數不限,並且也有非常逼真美觀的視覺效果。書本的內容支持所有的 HTML 元素,彈性高、強大好用。

▶網頁上展示

▶原始碼下載

6.jQuery/CSS3書本翻頁動畫特效

 

 

這是一款基於 jQuery 和 CSS3 的書本翻頁動畫特效,外觀清新、還有指示便於操作。除了典籍滑鼠來翻頁之外,我們還可以直接點擊左右按鈕進行翻頁。

▶網頁上展示

▶原始碼下載

 

 

更多關於HTML5的相關文章請到本部落格首頁搜尋喔~

 

 

 

其他閱讀

Python vs R語言:哪個比較適合人工智慧/機器學習?

人工智慧釀酒超越人類 全球首支AI威士忌勇奪金牌

捷克新創Resistant.AI 開發2產品 揪出欺騙人工智慧的詭計

AI 人工智慧、ML 機器學習、深度學習、Python 是什麼?

有關Python的大小問題通通在這裡!!

時下最夯程式語言之一的Python和人工智慧有密不可分關係?!

一張圖秒懂Python,人工智慧和機器學習之間的關係!!

前端工程師CSS小課:float浮動屬性

前端工程師CSS小課:float浮動屬性
前端工程師CSS小課:float浮動屬性

正在學習前端工程師課程的同學過來~CSS系列課程登場嘍!!今天要介紹的是float浮動屬性!

CSS 的 float (浮動) 屬性

CSS 的 float (浮動) 屬性是前端工程師在做網頁排版時,必用的基本語法之一。使用 CSS float 浮動屬性,可將一個元素往左移或是往右移,並允許其他元素圍繞它(例如文繞圖、圖繞文等)。

float 浮動屬性的使用時機

使用 <div> 等區塊元素排版時,預設的排列方式都是由左至右、由上至下。但若想要讓多個區塊並排、或是二欄、三欄等多欄網頁前端排版時,就需要使用 float 屬性。

如下方例子,若我們使用一般的 div 區塊元素時,則所有的區塊就整齊的由左上出來,一個 <div> 區塊就佔用了一行。(溫馨提示:可以點擊下例視窗左上方的「HTML」與「CSS」按鈕來查看語法)

See the Pen Float-example-1 by Tedutw (@Tedutw) on CodePen.

承上例,若在 CSS 中加一個「float: left;」,則結果如下(溫馨提示:可以點擊下例視窗左上方的「HTML 」與「CSS」按鈕來查看語法):

See the Pen Float-example-2 by Tedutw (@Tedutw) on CodePen.

這是因為「float」屬性使 div 區塊元素「漂浮」起來,不再形成 div 區塊占滿整行的情況

承上例,若把由左側開始「漂浮」的「float: left;」改成由右側開始「漂浮」的「float: right;」,則所有的區塊就會由右側開始「飄」出來,結果如下(溫馨提示:可以點擊下例視窗左上方的「HTML」與「CSS」按鈕來查看語法):

See the Pen Float-example-3 by Tedutw (@Tedutw) on CodePen.

CSS 浮動屬性有三個參數:left、right 與 none。left 與 right 顧名思義,就是控制區塊由左側還是右側浮出用的,如上方兩個例子所示。而 none 就是不使用浮動參數的意思。

下方是另一個文繞圖排版的例子,就是文字的部分「不」設定 float 屬性,但是在 logo 圖片的部分使用浮動屬性「float:right;」,文字的部分則不使用浮動屬性。(溫馨提示:可以點擊下例視窗左上方的「HTML」與「CSS」按鈕來查看語法)

See the Pen Float-example-4 by Tedutw (@Tedutw) on CodePen.

前端工程師想要做出兩欄或多欄的網頁,則可以善用 float 屬性搭配寬度需要進行初步的排版。

以下範例為兩欄的排版示例。兩個欄位視為兩個區塊, float 屬性都設定為「left」,左欄寬度為 20%;右欄為 80%:

See the Pen Float-example-5 by Tedutw (@Tedutw) on CodePen.

網路上有人說:前端工程師的網頁 layout 基石除了本章介紹的浮動(float) 屬性之外,還有下一張會介紹的清除浮動(clear)。想當前端工程師的各位同學們請先把本章再複習一次,並親自使用 codepen 自己練習一次程式,才會達到最佳的學習效果!

 

 

更多關於前端工程師的文章請點閱下方連結!!

 

 

 

其他閱讀

從哆啦A夢到 iPhone…為何 UI 設計用「圓角」就是比較討喜?

APCS 程式檢定,該從 CJava 還是 Python 下手?

【前端工程師CSS教學】float浮動屬性

AI人工智慧救地球!GoogleAI 保護環境還比人類快 3000

所有APCS認證要知道的事都在這!!()

前端工程師起步的t初學小課(22):數學物件

如何分辨全端,後端和前端工程師?還不知道的可是不行的喔~

前端工程師CSS小課:定位元素

前端工程師CSS小課:定位元素
前端工程師CSS小課:定位元素

正在學習前端工程師課程的同學過來~CSS系列課程登場嘍!!今天要介紹的是定位元素~

為了要設計出更複雜的網頁前端版面,前端工程師都必須知道 CSS 的所有「position 屬性」。如下所示,它有一大堆屬性值,這些屬性值不好理解且也不好記憶,但稍一設定不好,就會讓許多 CSS 區塊若入走鐘、重疊等窘境。這些屬性一個個介紹如下,也建議各位想當前端工程師的學員們把這頁加入網頁書籤中,以便日後方便查詢。

See the Pen CSS:Position 範例 by Tedutw (@Tedutw) on CodePen.

CSS:Positioning Elements 定位元素

CSS 定位屬性(positioning properties)是用來定位元素使用。它可將一個元素置於另一個元素之後,還可以指定當某個元素的內容太大時該如何做。

所有的元素都可用 top(上)、bottom(下)、left(左) 與 right(右) 屬性來定位。但若沒事先將「定位屬性」設置好的話,以上四種屬性(top、bottom、left 與 right)皆不起作用。它們亦會依照定位方法的不同,而以不同的方式呈現。

靜態定位(position: fixed)

「靜態定位(position: fixed)」是所有 HTML 元素的預設值。當元素為「靜態定位(position: fixed)」時,會遵循「Normal flow (指從左到右、上到下的常態佈局)」來排列。

靜態定位的元素不受 top、bottom、left 與 right 屬性的影響。如下例,儘管我們 CSS 設定為「top: 30px;right: 5px;」(上方距離30px、右側距離50px),被靜態定位的 HTML 元素,排版仍不受這些 CSS 影響。

See the Pen position_static by Tedutw (@Tedutw) on CodePen.

固定定位(position:fixed)

固定定位(position: fixed)的元素會相對於瀏覽器視窗來定位,這意味著即便頁面捲動,它還是會固定在相同的位置。

不同於靜態定位,固定定位(position: fixed)的元素可由 top、bottom、left 與 right 屬性的來指定位置。我們將上一段「靜態定位(position: fixed)」的範例,其中的 CSS 「position:static」改為「position:fixed」,則排版受到「top: 30px;right: 5px;」(上方距離30px、右側距離50px)的屬性影響,如下所示:

See the Pen position_fixed by Tedutw (@Tedutw) on CodePen.

固定定位(position: fixed)的元素會從「Normal flow (從左到右、上到下的排列)」的常態佈局中移除。所以其他未設定為「固定定位(position: fixed)」的元素,仍然依照「左到右、上到下」的排列,彷彿其中不存在固定定位的元素般。而 固定定位的元素可與其他的元素重疊。

相對定位(position:relative)

所謂的「相對」,是以原本正常的位置為中心點,依照元素偏移原本位置多少而定數值。相對定位(position:relative)的元素可以結合 top、bottom、left、right 等屬性,使其元素「相對地」偏移原本該出現的位置。

如以下的例子,我們在原本的位置安插粉紅色背景的文字(文字為「相對定位」)區塊,並且設定該區塊相對於原本該出現的區塊「上方留空間 5px(top: 5px;)、 左方留空間 5px(left: 5px;)」。

See the Pen position_relative by Tedutw (@Tedutw) on CodePen.

相對位置的元素內容可移動到指定位置、也可以與其他的元素重疊。但是該元素原本該出現的正常位置,會被保留而不會消失。

相對值不能用於 table cells、columns、column groups、rows、row groups 或是 captions。

絕對定位(position:absolute)

不得不說,絕對定位(position:absolute)是網頁前端比較弔詭的定位屬性。absolute 與 relative 的行為很像,不一樣的地方在於 absolute 元素的定位是相對於父層元素的位置、relative 元素則是相對於他本該出現的位置。

當元素的 position 設定為 absolute 後,它就會看它父層的元素是否有被設定為 relative、absolute 或是 fixed,若有,則以父元素為定位的基準點;若無,則以該網頁頁面(“body”)的左上角為定位點置,看起來就是這張網頁的絕對位置一樣。

以下範例為兩個絕對定位(position:absolute)元素的範例,右上方的元素的父元素 position 沒有設定,因此被默認為「static」——也就是不屬於 relative、absolute、fixed 或是 inherit 的任一個,因此該元素會以整個網頁區域為定位點,從最上方往下移動 30 px、從最右方往左移動 30 px;而另一個元素的父元素 position 是 relative,因此會以父元素為定位點,從最上方往下移動 30 px、從最右方往左移動 30 px。

See the Pen position: absolute by Tedutw (@Tedutw) on CodePen.

同學們可以點擊以上範例中左上角的「HTML」與「CSS」按鈕來練習 coding。

所有的 CSS 版面配置:Positioning Elements 定位元素介紹到此結束。光看以上的解釋,會容易搞混。此時,不妨回到此章節的最前面的範例,點擊範例框左上角的「HTML 」與「CSS」按鈕來研究原始碼,並且親自練習一次這些 CSS 碼,試試各種不同的 position 屬性所呈現的效果。未來想要成為前端工程師的話,就請多練習幾遍。本系列「前端工程師課程」下一章即將介紹網頁 layout 基石之一——浮動(float)屬性

 

更多關於前端工程師的文章請點閱下方連結!!

 

 

 

其他閱讀

從哆啦A夢到 iPhone…為何 UI 設計用「圓角」就是比較討喜?

APCS 程式檢定,該從 CJava 還是 Python 下手?

【前端工程師CSS教學】float浮動屬性

AI人工智慧救地球!GoogleAI 保護環境還比人類快 3000

所有APCS認證要知道的事都在這!!()

前端工程師起步的t初學小課(22):數學物件

如何分辨全端,後端和前端工程師?還不知道的可是不行的喔~

超夯網頁前端小教室:display與visible

超夯網頁前端小教室:display與visible
超夯網頁前端小教室:display與visible

想學習網頁前端的你絕對不能不知CSS!今天要來跟大家就紹的就是display 屬性與visibility屬性!

本篇介紹網頁前端排版的兩個CSS屬性:display 屬性與 visibility 屬性。

CSS:display 屬性

display:block

對於 CSS 語法來說,網頁前端的每個元素都是一個矩形盒(rectangular box)模型。使用「display」屬性可以決定「盒(box)」的呈現方式。

又「區塊元素(block element)」則會佔用可用寬度的最大值,前後有換行符

以下範例分別顯示了是否有將<span>元素顯示為區塊元素(block element)的結果。在下方的顯示視窗中,按「CSS」可以觀看 CSS 的語法如何設定。

See the Pen display: block by Tedutw (@Tedutw) on CodePen.

上述範例的網頁前端 CSS 語法設定如下:

span.block{
  display:block;
}

display:inline

inline 元素只佔用可用寬度的最大值,並不強制換行。

將上一段範例的<span>元素,CSS 換成「display: inline」的結果如下。跟上一個範例一樣,在下方的顯示視窗中,按「CSS」可以觀看 CSS 的語法如何設定。

See the Pen display: block by Tedutw (@Tedutw) on CodePen.

上述範例的 CSS 語法設定如下:

span{
  display:inline;
}

display:none

「display:none」用來將元素隱藏使用,元素隱藏後就不佔用任何空間,在網頁前端頁面顯示時不會展現出來,就好像該元素不存在一樣。

以下範例中,我們將第 2、4 段設為「display:none」,其他設為「display:block」。

See the Pen display: none by Tedutw (@Tedutw) on CodePen.

上述介紹的「block」、「inline」、「none」都是最常用的 display 參數。display 還有很多其他次常用的參數值,如 list-item、table、table-cell、table-column、grid 等,會在往後的章節中一一介紹

visibility 屬性

visibility 屬性用於指定元素是可見的還是隱藏的。最常見的值是 visible 和 hidden

當我們想要隱藏園素食,有兩個方法:一是上一段介紹的,將「display」屬性設為「 none」參數;二是將「visibility」屬性設置為「hidden」來隱藏元素。

注意:以上兩個方法雖然都能將元素隱藏,但都呈現出不同的結果:

被「display:none」隱藏後的元素,就不會佔用任何的空間,就好像它從來都不存在一樣;而被「visibility:hidden」隱藏後的元素,雖然在網頁前端不會顯示,但仍佔用了對應的空間(就是被隱藏的元素有多大,網頁上空出來的空間就有多大),所以仍會影響排版。範例如下:

我們準備要將以下的例子,第一個<p>元素設為「visibility:hidden」、第二個<p>元素設為「display: none」。

See the Pen visible:hidden-before by Tedutw (@Tedutw) on CodePen.

將以上的第一個<p>元素設為「visibility:hidden」、第二個<p>元素設為「display: none」的結果如下:

See the Pen visible:hidden-after by Tedutw (@Tedutw) on CodePen.

由以上例子我們可知,同樣都是將元素隱藏,第一個<p>元素雖然被「visibility:hidden」隱藏了,但是仍遺留下空間;第二個被「display: none」隱藏的<p>元素則是完完整整的「被消失」,連原本的位置都不見了。

下一張我們將介紹網頁前端排版的另一個 CSS 屬性:Positioning Elements。

 

更多網頁前端相關文章請到本部落格首頁搜尋~

 

 

 

其他閱讀

Python寫出唐鳳「番茄鐘工作法」程式,讓AI幫你集中注意力!

AI機器狗Aibo成最新愛寵 真狗會被取代嗎?

今年10月即將入手的新身分證,它的UI設計有啥亮點?

你是我的眼!Google AI 眼鏡助視障朋友「看見」世界

給零基礎網站前端學員的入門簡介!!

前端工程師一定要懂的JavaScript變數命名規範~

UI學員看過來!即將登場的新式身分證有甚麼特別的呢!()

前端工程師必讀之新手上路(22):數學物件

前端工程師必讀之新手上路(22):數學物件
前端工程師必讀之新手上路(22):數學物件

想當前端工程師的你,時下最熱門的程式語言之一JavaScript開始學了嗎?先來看看我們為你準備的文章吧!!(22)

Math物件的屬性

Math 是 JavaScript 的原生物件,可進行多種數學運算。該物件不是用函式建構式來生成,所有的屬性和方法都必須在 Math 物件上呼叫。

Math 物件包含多種屬性,列舉如下表:

 

    1. 屬性
    2. 描述
    1. 歐拉常數,是自然對數函數的底數,約為 2.718。
    1. LN2
    2. 2 的自然對數
    1. LN10
    2. 10 的自然對數
    1. LOG2E
    2. 以 2 為底的歐拉常數(E),其值約為 1.442。
    1. LOG10E
    2. 以 10 為底的歐拉常數(E),其值約為 0.434。
    1. PI
    2. 圓周率,其值約為 3.14159
    1. SQRT2
    2. 2 的平方根,其值約為 2.414
    1. SQRT1_2
    2. 1/2 的平方根,其值約為 0.707

 

以上 Math 物件的屬性,範例如下:

See the Pen The Math object by Tedutw (@Tedutw) on CodePen.

Math物件的方法

Math 物件除了有許多屬性外,也有許多方法,列表如下:

 

    1. 方法
    2. 描述
    1. abs(x)
    2. 不用懷疑,就是回傳x的絕對值
    1. acos(x)
    2. 回傳x的反餘弦(三角函數,數學符號是arccos)
    1. asin(x)
    2. 回傳x的反正弦(反三角函數,數學符號是arcsin)
    1. atan(x)
    2. 回傳x的反正切(反三角函數,數學符號是arctan)
    1. ceil(x)
    2. 回傳離x最近的整數:若x為浮點數則向上取整數;x為整數擇取x本身
    1. cos(x)
    2. 回傳x的餘弦(三角函數,數學符號是cos)
    1. exp(x)
    2. 回傳值為以x指數的E
    1. floor(x)
    2. 回傳離x最近的整數:若x為浮點數則向下取整數;x為整數擇取x本身
    1. log(x)
    2. 回傳x的自然對數
    1. max(x,y,z…,n)
    2. 回傳最大值
    1. min(x,y,z…,n)
    2. 回傳最小值
    1. pow(x,y)
    2. 回傳值為x的y次方
    1. random()
    2. 隨機回傳0與1之間的任一數
    1. sin(x)
    2. 回傳x的正弦(三角函數,數學符號是sin)
    1. sqrt(x)
    2. 回傳值為x的平方根
    1. tan(x)
    2. 回傳x的正切(三角函數,數學符號是tan)

 

以上 Math 物件的方法,範例如下(不包含三角函數):

See the Pen The Math object-method by Tedutw (@Tedutw) on CodePen.

綜合練習

讓我們來撰寫一個 JavaScript 程式:省先彈出一個視窗,要求使用者輸入數字。使用者輸入數字後,即會出現警示視窗,顯示該數字的平方根。

var x = prompt("請輸入一個數字","");
var answer = Math.sqrt(x);
alert(x+" 的平方根是 "+ answer);

執行結果如下:

此時前端工程師輸入「64」,則會有以下結果:

JavaScript 的數學物件就介紹到此。若能善用數學物件,則可減省時間。不必自己寫函數。下一章我們將介紹另一個 JavaScript 的原生物件——日期物件。

 

更多關於前端工程師HTML的文章請到本部落格首頁搜尋喔!!

 

 

 

其他閱讀

達內教育評價:別再抱怨不景氣了!高中生靠SEM接案創業每月額外收入7

Python寫出唐鳳「番茄鐘工作法」程式,讓AI幫你集中注意力!

痛失英才!台灣人工智慧學校執行長陳昇瑋辭世

人生是自己的, 達內教育評價要靠自己來體驗!

Javascript新手上路(十九):Method

前端工程師一定要懂的JavaScript變數命名規範~

想學習網站前端的零基礎學員不可不知的新手常識!!

 

 

 

 

一次讓你弄清楚全端,後端,前端工程師差在哪裡!!

一次讓你弄清楚全端,後端,前端工程師差在哪裡!!
一次讓你弄清楚全端,後端,前端工程師差在哪裡!!

今天要來幫大家一解前端工程師與後端工程師的差異~連全端工程師也一併送喔!!還不知道的同學請享用~

一、前端方向

網站的“前端”是與用戶直接交互的部分,包括你在瀏覽網頁時接觸的所有視覺內容–從字體到顏色,以及下拉菜單和側邊欄。這些視覺內容,都是由瀏覽器解析、處理、渲染相關 HTML、CSS、Javascript 文件後呈現而來。

技能與工具

前端開發,就是要創造上面提到的網站面向用戶的部分背後的代碼,並通過建立框架,構建沉浸性的用戶體驗。為了實現這個目標,開發需要熟練運用下列語言、框架、工具庫:

三大語言:HTML,CSS,和 JavaScript

此外,掌握 jQuery 和 LESS 等工具庫也很重要,它們能幫助工程師以更高效的方式編碼;

很多前端開發崗也要求 Ajax 方法的使用經驗,它可以幫助你使用 Javascript 在後台從服務器拉取數據,協助實現頁面的動態加載。

打個比方,前端工程師的工作專注於“房屋”裝修,而蓋房子的工作由後端工程師負責。

通過一些專門的工具,前端工程師與設計師/用戶體驗分析師密切合作,幫助構建原型或是線框圖,參與產品開發到發布的全過程。

一些前端工程師甚至能準確定位影響用戶體驗的特定問題,並給出建議或是代碼解決方案,對產品設計帶來積極影響。

在專業能力外,與其它團隊協作,以理解特定目標、需求、機遇,以及高效的執行力也非常重要。

這聽起來工作內容很多,但也回報豐厚。 “我是一名技術人員,也是一名設計者,在數字平台上使用標記語言和代碼修改視覺元素並與之互動是很自然而有趣的體驗,”有八年前端開發經驗的Mikey Ilagan 說“這讓我能夠直接影響到用戶體驗,操縱應用和網站裡用戶所見並直接與之交互的元素,這非常棒!”

總之,前端工程師要為後端工程師搭建的“房屋”進行內部設計和裝修工作。裝潢風格由房屋所有者指定。 Apptix 的產品市場負責人 Greg Matranga 表示:“前端工程師有時更容易為他們的工作感到振奮,因為他們有更廣闊的空間發揮自己的創造力。”

二、後端方向

是什麼給網站前端提供支持?數據存放在哪裡?這就涉及後端內容了。網站後端包括服務器、應用還有數據庫。後端工程師構建並維護這些組件,為網站提供多方面支持。

技能與工具

為了讓服務器、應用、數據庫能夠彼此交互,後端工程師需要具有如下技能:

用於應用構建的服務器端語言:PHP, Ruby, Python, Java, .Net 等;

數據相關工具:MySQL, Oracle, SQL Server 等;

PHP框架:Zend, Symfony, CakePHP等;

版本控制工具:SVN, CVS , Git 等;

還要熟練使用 Linux 作為開發和部署環境。

後端工程師使用這些工具編寫乾淨、可移植、具有良好文檔支持的代碼來創建或更新 網站 應用。但在寫代碼之前,他們需要與客戶溝通,了解其實際需求並轉化為技術目標,制定最有效且精簡的方案來進行實現。

“我熱愛後端開發因為我喜歡操縱數據”,資深後端工程師就職於 Wildbit 的 JP Toto 說。 “現在共有和私有 API 已變成移動設備、網站以及其它互聯繫統交換數據的必備通道。創建對大家有用的 API 是我工作裡非常鼓舞人心的部分”。

三、全端

有時前後端之間並沒有明確的界限,“前端工程師通常需要額外學習後端技巧,反之亦然,尤其在特定市場條件下”,Matranga 說:“工程師需要跨領域知識,有時甚至需要成為全才。”

全端工程師,最初是6年多以前由 Facebook 帶動的概念。全端的核心,是指這批工程師能夠承擔包括前端、後端在內的所有功能開發任務,他們擁有一個技能全家桶。

“能夠同時承擔服務器端和客戶端工作會為你帶來更多機會,” Grovo 的全端工程師Federico Ulfo 說“當然這也就意味著更多的挑戰。以廚藝作類比,掌握烹飪和烘焙都需要時間與經驗積累,同時掌握兩者要花費更多精力。照著菜譜做誰都可以,我此處所說的是做出真正美味東西的能力。”

技能與工具

全端工程師也通常在服務器端進行編程工作,但他們熟練前端語言,能夠操縱網站面向用戶的部分。基本上可以形容他們是百事通。

具體工具依項目和客戶需求而定,全端工程師需要對網站 架構的每一個層次都有足夠的了解:搭建和配置Linux 服務器,編寫服務器端API,利用客戶端Javascript 代碼驅動應用,將設計層面的東西轉化到實際的CSS 代碼。

掌握並使用大量工具的同時,全端工程師需要敏捷地分配服務器端和客戶端任務,提供解決方案並對比不同方案的優劣。

想知道更多關於前端工程師的相關知識嗎?快到本部落格首頁搜尋吧!!

其他閱讀

JavaScript入門教學#21|陣列的方法與屬性

JavaScript入門教學#22|數學物件

今年10月即將入手的新身分證,它的UI設計有啥亮點?

差點被拋棄的冠軍程式語言-Java入門教學(一)Java 身世之謎/寫出第一個Java程式

Javascript新手上路(十九):Method

前端工程師一定要懂的JavaScript變數命名規範~

想學習網站前端的零基礎學員不可不知的新手常識!!

給零基礎網站前端學員的入門簡介!!

給零基礎網站前端學員的入門簡介!!
給零基礎網站前端學員的入門簡介!!

對網站前端有興趣嗎?想踏入這行卻還不清楚網站前端是在做甚麼嗎?那你看這篇就對了!!

很多想要轉行的朋友紛紛把目光投降了網站前端技術。 網站前端作為一個薪資前景好的熱門行業,吸引了很多人的加入。但是對於剛剛準備轉行的朋友來說並不知道網路前端是什麼?零基礎怎麼學習Web?下面就來和小編一起看一看文章內容吧~

 

零基礎怎麼學習Web?

 

一、網路前端是什麼呢?

 

當你在網絡、APP上瀏覽網頁時看到的所有漂亮的頁面都是由網路前端實現的,在我們看來簡單,但是一個小小的按鈕,一個小小的符號都是網路前端工作者仔細斟酌過的。

 

網路前端工作相對於其他軟件開發工作是比較容易入門的,但是深入學習會比較困難,它需要從業人員掌握一定的設計、代碼、交互技能,有的公司還會要求有一點SEO技能。達妹帶你看看零基礎怎樣入門?

 

二、零基礎怎麼學習Web?

 

網路前端培訓零基礎入門有兩種方式:

 

· 第一,通過自己自學進入該行業

 

· 第二,通過參加Web培訓機構入門

 

通過自身學習入門你需要通過的是最開始學習時多看看視頻,有一定了解後針對自身情況挑選合適的書籍,進行知識性的查漏補缺。當然這學習的過程很重要,需要將自己學習的知識串成知識點時常溫習。平時多練習代碼,堅持一段時間之後一定能有所成就。最好可以挑選合適的教育機構,這樣可以減少你學習的時間,有針對性的學習。

 

三、網路前端技術的三個階段

 

分別是前端美工、前端開發和前端架構。

 

前端美工主要負責最基本的一些平面設計,視覺互動設計,不需要參加太多代碼問題,中級網路前端會寫js,應用js,用戶交互等,前端架構是開發、優化框架和服務器,用戶體驗等涉汲就比較廣。三者薪資根據等級不同也逐漸升高。

 

四、網路前端開發包括三個要素

 

HTML5、CSS和JS,是網路前端開發包括的三要素,當然服務器端語言以及基本的PS、視覺設計也是需要了解的。 網路前端既需要與上游的視覺互動設計師、視覺設計師和產品經理溝通,又要與下游的服務器端工程師溝通,需要掌握的技能比較多。所以對於有些知識只需要入門不需要精通,有些知識卻需要融會貫通,這對網路前端開發的學習比較重要。

 

五、HTML5和網路前端的區別

 

HTML5是現在網路前端開發一項重要的內容,由於技術的不斷發展,市場需求的不斷變化,加之新媒體時代的衝擊,例如微信的小程式,這都決定了HTML5的重要性,未來HTML5工程師的需求一定會大大增加,由於這是新鮮產物,市場的需求一定是向偏年輕化需求發展,因為他們的接受能力和學習能力高於中年人,所以現在進入HTML5的學習和網路前端的學習時機很好。

更多程式語言或網路前端相關文章請點下方連結或至本部落格首頁搜尋!!

其他閱讀

JavaScript入門教學#22|數學物件

你是我的眼!Google AI 眼鏡助視障朋友「看見」世界

JavaScript入門教學#21|陣列的方法與屬性

今年10月即將入手的新身分證,它的UI設計有啥亮點?

Python學員找工作免擔心!!就業種類選擇看這篇!!

原來用Python輔助Excel的好處這麼多?!

純國產技術木蘭被懷疑抄襲Python?!到底誰是正宗?