1. 程式人生 > >Emmet前端開發神器

Emmet前端開發神器

前端開發神器Emmet

1-1  簡介

Emmet是專門給前端開發人員準備的一個快捷開發工具,是從原來的ZenCoding發展而來的,原來的意思是程式碼壓縮輸出,通過極少的程式碼,來快速生成包含大量程式碼的模板。

下面看一個簡單的案例,在編輯工具中編寫如下程式碼

#page>div.logo+ul#nav>li*5>a{導航選單$}

然後按下tab鍵,你會發現,神奇的變化出現了,編輯工具中程式碼變成了如下程式碼:

<div id=”page”>

<div class=”logo”>

    <ul id=”nav”>

        <li>導航選單1</li>

        <li>導航選單2</li>

        <li>導航選單3</li>

        <li>導航選單4</li>

        <li>導航選單5</li>

    </ul>

</div>

</div>

怎麼樣,現在看到ZenCoding,或者說Emmet要做的事情有多麼的神奇了吧?!

1-2  IDE工具中使用Emmet

首先,Emmet作為一個高速提升前端開發效率的工具,已經被很多的IDE工具支援了,諸如當前流行的一些工具如Dreamweaver、HBuilder、WebStrom等等,這些工具中直接使用Emmet語法就可以實現程式碼的快速編輯了。

同樣的,在我們進行維護的過程中,使用的工具並不是前面提到的半自動化的工具,而是超級記事本如Editplus、Ultraedit、Sublime等等,對於這樣的工具,都有各自的外掛已經提供了對Emmet的支援,如sublime中可以通過package install來搜尋安裝Emmet外掛,安裝完成後就可以直接在sublime中使用emmet語法快速編輯程式碼了!

1-3  Emmet語法之HTML操作

這裡直接上乾貨,相信開始關注emmet的程式設計師,已經是比較專業的前端開發人員了。

SO,廢話不說了。

1-3-1 快速生成標籤

書寫標籤名稱,然後按下tab鍵即可完成一個標籤的輸入

div

<div></div>

1-3-2 標籤id,class屬性

書寫標籤名稱,在標籤後面使用符號“#”來指定標籤的id名稱,使用符號“.”來指定標籤的class屬性名稱,是不是和css語法有點類似呢?Bingo!

div#logo

<div id=”logo”></div>

div.nav

<div class=”nav”></div>

div#box.detail

<div id=”box” class=”detail”></div>

1-3-3 標籤其他屬性操作

書寫標籤名稱,在標籤的後面,新增一堆方括號,在方括號中新增屬性的名稱和屬性值,就可以對標籤的屬性內容進行指定了。

img[src=”imgs/bg.png”]

<img src=”imgs/bg.png”/>

1-3-4 標籤內容操作

書寫標籤名稱,在標籤的後面,新增一對大括號“{}”,在大括號的內部新增內容,然後按下tab鍵,就可以在生成的標籤中間新增指定的內容

div{this is content}

<div>this is content</div>

1-3-5 生成多個標籤

書寫標籤名稱,在標籤的後面,緊跟符號“*”,然後寫上要輸出的整數數量,就可以讓某個指定的標籤同時出現多個,同時可以通過符號“$”對內容進行編號

div{test$ content$$}*5

<div>test1 content01</div>

<div>test2 content02</div>

<div>test3 content03</div>

<div>test4 content04</div>

<div>test5 content05</div>

同時可以在$符號後面緊跟一個符號@,用於指定編號的起始數字和排列順序

div{[email protected]}*3

<div>item3</div>

<div>item4</div>

<div>item5</div>

div{[email protected]}*3

<div>item7</div>

<div>item6</div>

<div>item5</div>

1-3-6 生成父子標籤

書寫父標籤名稱,然後緊跟符號“>”,後面寫子標籤名稱,就可以自動轉換成父子標籤

ul>li{item$}*3

<ul>

<li>item1</li>

<li>item2</li>

<li>item3</li>

</ul>

1-3-7 生成同級標籤

書寫標籤,然後緊跟符號“+”,後面寫同級別的其他標籤,就可以自動轉換成同級別標籤

div{test}+p{p content}

<div>test</div>

<p>p content</p>

1-3-8 生成父級同級標籤

書寫標籤名稱,在其子標籤的後面,新增符號“^”,繼續編寫其他的標籤,此時在“^”後面生成的標籤,是和父級標籤同級別的標籤

div>a[href=”http://www.baidu.com”]{BAIDU}^div{description info}

<div>

    <a href=”http://www.baidu.com”>BAIDU</a>

</div>

<div>

    description info

</div>

1-3-9 通過分組簡化Emmet語法

一旦涉及到一次輸出父子標籤,同時父級標籤還有同級標籤的情況下,會比較麻煩,可以通過新增圓括號“()”進行標籤分組來簡化Emmet語法結構,參考程式碼如下:

(div>a[href=”http://www.baidu.com”])+(div{description info})

<div>

    <a href=”http://www.baidu.com”>BAIDU</a>

</div>

<div>

    description info

</div>

使用分組能極大程度的簡化Emmet複雜的語法結構,如下案例:

# 不使用分組編寫的一段Emmet語法

header>ul#nav>li*5>a[href="#"]{menu$}^^^div#container{body content}^footer>ul>li*10>a{friend links}

# 使用分組編寫的一段Emmet語法

(header>ul#nav>li*5>a[href="#"]{menu$})+(div#container{body content})+(footer>ul>li*10>a{friend links})

注意觀察,可以看到分組的語法,會相對來說更加切合我們的思路,最終生成的程式碼如下

同樣的,我們可以看到Emmet給我們帶來了多大的便利!

<header>

         <ul id="nav">

              <li><a href="#">menu1</a></li>

              <li><a href="#">menu2</a></li>

              <li><a href="#">menu3</a></li>

              <li><a href="#">menu4</a></li>

              <li><a href="#">menu5</a></li>

         </ul>

     </header>

     <div id="container">body content</div>

     <footer>

         <ul>

              <li><a href="">friend links</a></li>

              <li><a href="">friend links</a></li>

              <li><a href="">friend links</a></li>

              <li><a href="">friend links</a></li>

              <li><a href="">friend links</a></li>

              <li><a href="">friend links</a></li>

              <li><a href="">friend links</a></li>

              <li><a href="">friend links</a></li>

              <li><a href="">friend links</a></li>

              <li><a href="">friend links</a></li>

         </ul>

     </footer>

1-4  Emmet語法之CSS操作

Emmet同時對CSS也進行了程式碼壓縮輸出,在一定程度上簡化了CSS語法的繁瑣程度,但是樣式操作根據個人開發習慣可以適當使用,畢竟樣式的操作在一定程度上調整的頻率較大

1-4-1 簡寫CSS屬性

通過簡寫屬性名稱和屬性值,完成程式碼的快捷輸出,如:

w100

width:100px;

w100p

width:100%;

w100r

width:100rem;

h100

height:100px;

h100p

height:100%;

h100r

height:100rem;

bd10

border:10px;

bg#0

background:#000;

bgc#20

background-color:#202020

bgi

backgoround-image:url()

fsi

font-style: italic;

fz16

font-size:16px;

fw100

font-weight:100;

bd5#8s

border:5px #888 solid;

bdrs5

border-radius:5px;

bdl2

boder-left:2px;

1-4-2 簡寫多個屬性

­­­­某些情況下,我們會簡寫樣式語法,如margin值,會控制上、右、下、左各個方向的外邊距資料,此時,通過中劃線”-”來拆分多個數據

mg10-20-30-40

margin:10px 20px 30px 40px;

1-4-3 一次生成多條語句

如果我們對樣式已經非常熟悉了,可以通過Emmet語法來一次性生成多條樣式語句,通過符號“+”來連線。

h10p+m5e

height:10%;margin:5em;

1-4-4 顏色操作

顏色資料在Emmet中主要通過16進位制的方式進行處理,簡要語法如下

bd5#0s

border:5px #000 solid;

規則方式

#0

#000;

#80

#808080;

#fc0

#ffcc00;

1-4-5 擴充套件選項

CSS3標準中增加了很多新的語法格式,如字型設定@font-face

通過@f可以生成簡單結構

通過@f+可以生成比較完整的結構

@f

@font-face{

font-family:;

src:url();

}

@f+

@font-face {

              font-family: 'FontName';

              src: url('FileName.eot');

              src: url('FileName.eot?#iefix') format('embedded-opentype'),

                    url('FileName.woff') format('woff'),

                    url('FileName.ttf') format('truetype'),

                    url('FileName.svg#FontName') format('svg');

              font-style: normal;

              font-weight: normal;

         }

     </style>

</head>

<body>

     <div>item3</div>

     <div>item4</div>

1-4-6 瀏覽器相容性字首

在樣式屬性的前面,增加一個符號“-”,可以生成支援不同瀏覽器的樣式屬性

-transform

-webkit-transform: ;

-ms-transform: ;

-o-transform: ;

transform: ;

-animation

-webkit-animation-timing-function: ease-in-out;

-o-animation-timing-function: ease-in-out;

animation-timing-function: ease-in-out;

1-4-7 漸變背景

CSS3中新增加了linear-gradient樣式屬性,可以直接製作漸變效果,這個效果引數較為複雜,而且需要新增不同瀏覽器的字首操作。不過可以通過lg()來快速生成。

lg(left,#f 50% #0)

background-image: -webkit-linear-gradient(left, #f 50%);

background-image: -o-linear-gradient(left, #f 50%);

background-image: linear-gradient(to right, #f 50%);

相關推薦

Emmet-前端開發神器

{} -i sel grouping css選擇器 cat app scrip 括號 Emmet是一款編輯器插件,支持多種編輯器支持。在前端開發中,Emmet 使用縮寫語法快速編寫 HTML、CSS 以及實現其他的功能,極大的提高前端開發效率。 下載地址http://em

Emmet前端開發神器

前端開發神器Emmet 1-1  簡介 Emmet是專門給前端開發人員準備的一個快捷開發工具,是從原來的ZenCoding發展而來的,原來的意思是程式碼壓縮輸出,通過極少的程式碼,來快速生成包含大量程式碼的模板。 下面看一個簡單的案例,在編輯工具中編寫如下程式碼 #pa

前端開發神器Emmet外掛

今天在逛CSDN時,發現了一個前端神器,IDEA內建了這個外掛。所有操作按下“Tab”鍵完成 生成HTML基本結構 !或html:5或html:4s,按下Tab鍵 巢狀操作 使用“>”生成子元素 使用“+”生成兄弟元素 使用“^”生成父元素 使用“”生成

前端開發神器Charles從入門到解除安裝

## 前言 本文將帶大家學習使用前端開發神器-```charles```,從基本的下載安裝到常見配置使用,為大家一一講解。 ## 一、花式誇獎Charles + 擷取 Http 和 Https 網路封包。 + 支援重發網路請求,方便後端除錯。 + 支援修改網路請求引數。 + 支援網路請求的截獲並動態修改。

前端開發必備!Emmet使用手冊

++ value 表達 ive 運行時 row net 能夠 com 介紹 Emmet (前身為 Zen Coding) 是一個能大幅度提高前端開發效率的一個工具: 基本上,大多數的文本編輯器都會允許你存儲和重用一些代碼塊,我們稱之為“片段”

JDialog 彈出框,前端開發必備神器

JDialog是一個簡單易用但是功能強大的開源JS彈出視窗,具有很強的擴充套件性和相容性,相容IE6.0,目前版本1.2.1. 包括鎖屏物件JDialog.lock, 提示工具 JDialog.tip, 確認框 JDialog.confirm 彈出視窗 JDialog.w

前端開發利器Emmet外掛的基本使用總結

1.Emmet的簡介 Emmet (前身為 Zen Coding) 是一個能大幅度提高前端開發效率的工具,能夠實現 HTML、CSS 的快速編寫。 官網地址:http://emmet.io/ 官方文件:http://docs.emmet.io/cheat-sheet/ 1.1 使用E

自學前端開發:模擬Array功能 不是擴展子類

自學 下使用 .cn 解決 shift this var 擴展 method function MyArray(){};//創建模擬數組功能的構造函數 MyArray.prototype.length=0;//解決IE下使用擴展子類

前端開發中的JS調試技巧

pre 整潔 選擇 輸入 越來越大 代碼執行 auto move ctr 前言:調試技巧,在任何一項技術研發中都可謂是必不可少的技能。掌握各種調試技巧,必定能在工作中起到事半功倍的效果。譬如,快速定位問題、降低故障概率、幫助分析邏輯錯誤等等。而在互聯網前端開發越來越重要的今

自學前端開發 新版css時鐘效果圖

mat absolute ont poi dbo .cn second 交流 meta 想要自學前端開發,你要的學習資料到了-web前端交流學習群21,新版css時鐘效果圖 <!DOCTYPE html> <html> <he

前端開發100元/頁,空心科技切入IT人才共享

項目 服務費 流程 標準化 綜合 之前 基本 上推 htm 共享經濟的風口,IT人才如何共享? 空心科技前端人才共享平臺 滴滴、摩拜、airbnb等共享經濟大火的背景下,區別於產品流通共享的人才領域共享如何實現? 豬八戒新一輪26億、一品威客C輪、兼職貓A輪6300萬、

進行獨立於後臺後端的前端開發——學習Mockjs

lis 返回值 大於等於 con 函數 ddl -m sca 註意 Mockjs實現的功能 1.讓前端攻城師獨立於後端進行開發。 2.通過隨機數據,模擬各種場景。增加單元測試的真實性 3.不需要修改既有代碼,就可以攔截 Ajax 請求,返回模擬的響應數據。 4.用法簡單 5

web端設計和web前端開發 的區別

mage ima cnblogs 前端開發 src web前端開發 log alt .cn web端設計和web前端開發 的區別

移動前端開發和 Web 前端開發的區別

平臺 所有 ref 答案 關聯 工程師 禁止 全屏 分享 pc,我們需要考慮什麽呢?有點開發經驗的同學都知道,ie6-11,firefox,chrome,safari都得兼容的吧。哪個都夠你吃一壺的,無論是css還是js。mobile的網頁開發,我們需要考慮什麽呢?就目前

前端開發工具網址

trigger can trigge 代碼 動畫設計 date gif 壓縮 tools 判斷css兼容性http://caniuse.com/# css屬性改變會觸發瀏覽器渲染的階段https://csstriggers.com/ svg轉為字體圖標https://ic

手機/移動前端開發需要註意的20個要點

客戶端 select radius 效果 target 重要 瀏覽器 right 文本框 在網上看到的,先保留起來,後續再添加一些自己的兼容性心得 1、首先我們來看看webkit內核中的一些私有的meta標簽,這些meta標簽在開發webapp時起到非常重要的作用 &

前端開發--ajax

參數錯誤 接收 三個參數 流程 結果 前端 change isset 開發工程師 使用ajax,他是有兩個模塊的,一個是客戶端,一個是服務端。 客戶端負責發送數據,發送數據的方式有兩種,一種是GET,另一種是POST。

淺析前端開發中的 MVC/MVP/MVVM 模式

所有 團隊 sub 策略 代碼 告訴 簡單 ava 關心 MVC,MVP和MVVM都是常見的軟件架構設計模式(Architectural Pattern),它通過分離關註點來改進代碼的組織方式。不同於設計模式(Design Pattern),只是為了解決一類問題而總結出的抽

學web前端開發,哪個機構好呢

是否 高效 規範 隨著 深入 十分 目前 前端工程師 深入淺出 學習web前端開發已然成為一種潮流,甚至有很多做後臺的轉行來學。學習web開發,選擇一家好的web前端開發機構至關重要。但是,現在各類的web前端開發機構如雨後春筍般迅速崛起,這也增加了我們的選擇難度。那麽,學

Web前端開發實戰4:導航菜單(一)

pan 解決 博文 xmlns 背景圖 20px mar 水平 經典 在前面的博文中我們提到橫向一級菜單,這裏我們來看看導航菜單。導航菜單種類非常多,可是制作原理都是大同 小異的。這裏看的比二級下拉式菜單還簡單。來看一些站點上的導航菜單: