<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>男丁格爾&#8217;s 脫殼玩</title>
	<atom:link href="http://abgne.tw/feed" rel="self" type="application/rss+xml" />
	<link>https://abgne.tw</link>
	<description>分享各種 jQuery 外掛的使用及 jQuery 跑馬燈、廣告輪播及選單等實用的 jQ 範例。</description>
	<lastBuildDate>Mon, 25 Jun 2018 17:21:22 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.8.24</generator>
	<item>
		<title>Emmet 教學 - 自訂屬性</title>
		<link>https://abgne.tw/web/emmet-tutorial-series-exploring-custom-attributes.html</link>
		<comments>https://abgne.tw/web/emmet-tutorial-series-exploring-custom-attributes.html#respond</comments>
		<pubDate>Mon, 07 Dec 2015 10:04:40 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Emmet]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8272</guid>
		<description><![CDATA[我們在前幾篇的教學中已經學會如何快速輸出元素了，但除了 id 跟 class 之外，其它輸出的屬性都是 Emmet 內建的一些基本必須的，如果是再編寫過程中想要針對屬性來自訂的話，那...要如何來寫呢]]></description>
				<content:encoded><![CDATA[<p>有網友透過即時聊天系統來詢問說：「若當 HTML 產生後也存檔又重新開啟，但想要再調整某區塊或是一大塊的內容的話，那有辦法再還原成 Emmet 語法片段嗎？」，Emmet 其實只是設計在編寫過程中使用，但一但產生後就不可逆了，所以我建議該網友，若可以的話，可以參考使用一些 HTML 的樣板引擎，像是 Haml 或 Jade 等等。</p>
<p>Jade 的部份梅干有寫一篇<a href="https://www.minwt.com/webdesign-dev/html/13931.html" title="JADE基本使用教學：規則、文字、繼承、匯入、函式寫法" target="_blank">JADE基本使用教學：規則、文字、繼承、匯入、函式寫法</a>，有興趣的人可以參考學習。</p>
<p>回到主題吧~我們在前幾篇的教學中已經學會如何快速輸出元素了，但除了 id 跟 class 之外，其它輸出的屬性都是 Emmet 內建的一些基本必須的，如果是再編寫過程中想要針對屬性來自訂的話，那...要如何來寫呢？</p>
<h3>自訂屬性 Custom attributes: [attr]</h3>
<p>如同在 CSS 中選擇器中篩選元素屬性的用法一樣，在 Emmet 中一樣是使用 [] 中括號的方式來表示要自訂屬性<br />
<img src="//abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_exploring_custom_attributes_01.gif" alt="emmet_tutorial_series_exploring_custom_attributes_01" width="700" height="210" class="alignnone size-full wp-image-8275" /></p>
<p>如果一次想要自訂多個屬性的話，只要在同一個 [] 中括號中將每個屬性用空格隔開就可以了。假設筆者要產生一個超連結連到 http://abgne.tw 並用另開視窗的方式的話：<br />
<img src="//abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_exploring_custom_attributes_02.gif" alt="emmet_tutorial_series_exploring_custom_attributes_02" width="700" height="210" class="alignnone size-full wp-image-8277" /></p>
<p>屬性的值用雙引號或單引號來包裹在 Emmet 中都是允許的，甚至不包也可以<br />
<img src="//abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_exploring_custom_attributes_03.gif" alt="emmet_tutorial_series_exploring_custom_attributes_03" width="700" height="210" class="alignnone size-full wp-image-8280" /></p>
<p>但要注意的話，若屬性值中有空格的話，那就一定得選用雙引號或單引號。畢竟 Emmet 自訂多屬性是用空白當區隔的<br />
<img src="//abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_exploring_custom_attributes_04.gif" alt="emmet_tutorial_series_exploring_custom_attributes_04" width="700" height="210" class="alignnone size-full wp-image-8281" /></p>
<p>仔細看，一開始 data-title 值是寫成 'Emmet is cool'，所以可以產生正確的屬性內容，不過若沒用雙引號或單引號包裹字串的話，就會變成 is 跟 cool 都是自訂屬性了。從這個錯誤的範例也能看到一個技巧，如果只有寫屬性但沒給值的話，一樣會產生該屬性，只是值為空字串而已。</p>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/web/emmet-tutorial-series-exploring-custom-attributes.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emmet 教學 - 複製元素及編號</title>
		<link>https://abgne.tw/web/emmet-tutorial-series-replication-elements-and-numbering.html</link>
		<comments>https://abgne.tw/web/emmet-tutorial-series-replication-elements-and-numbering.html#respond</comments>
		<pubDate>Wed, 02 Dec 2015 15:26:08 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Emmet]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8259</guid>
		<description><![CDATA[當我們要產生 ul 清單時，通常需要一次輸出大量的 li，如果要一個一個使用 + 的方式來建立的話，那應該會瘋掉吧。不過在 Emmet 中，這當然都考慮到了]]></description>
				<content:encoded><![CDATA[<p>當我們要產生 ul 清單時，通常需要一次輸出大量的 li，如果要一個一個使用 + 的方式來建立的話，那應該會瘋掉吧。不過在 Emmet 中，這當然都考慮到了。</p>
<h3>複製 Multiplication: *</h3>
<p>如果想要一次產生一組類似的區塊的話，我們可以使用 * 來當做類似數學的乘法效果，假設需要 5 個一樣的內容就是 *5<br />
<img src="http://abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_replication_elements_and_numbering_01.gif" alt="emmet_tutorial_series_replication_elements_and_numbering_01" width="700" height="210" class="alignnone size-full wp-image-8260" /></p>
<p>再假設筆者想要再一個 .container 中放置 3 個 .block，然後每個 .block 中都有 1 個 h3 標題及 1 個 p 段落，在 p 段落中放置一些文字及一個 read more 的超連結<br />
<img src="http://abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_replication_elements_and_numbering_02.gif" alt="emmet_tutorial_series_replication_elements_and_numbering_02" width="700" height="399" class="alignnone size-full wp-image-8262" /></p>
<p>應該比在那邊選取區塊後複製&#038;貼上方便吧！</p>
<h3>編號 Item numbering: $</h3>
<p>接著再來看喔~一般我們輸出 li 時可能會給它們一個共用的 .className，同時也可能再多一給一個帶有流水序號的 .className，那麼再搭配 Emmet 時也能快速的產生<br />
<img src="http://abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_replication_elements_and_numbering_03.gif" alt="emmet_tutorial_series_replication_elements_and_numbering_03" width="700" height="210" class="alignnone size-full wp-image-8265" /></p>
<p>使用 $ 錢符號就能自動幫您依序帶入數字了，不過它是從一位數開始累加，如果您的數字是想要固定呈現兩位數或是三位數的話，只要補上相對數量的 $ 即可，例如：.item-$$ 就是會產生 .item-01、.item-02...；.item-$$$ 則是產生 .item-001、.item-002...<br />
<img src="http://abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_replication_elements_and_numbering_04.gif" alt="emmet_tutorial_series_replication_elements_and_numbering_04" width="700" height="210" class="alignnone size-full wp-image-8266" /></p>
<p>不過預設數字是從 1 開始累加，如果想要指定起始數字的話，要在 $ 後面多補上一個 @ 並加上指定的起始數字，例如 .item-$@6<br />
<img src="http://abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_replication_elements_and_numbering_05.gif" alt="emmet_tutorial_series_replication_elements_and_numbering_05" width="700" height="210" class="alignnone size-full wp-image-8267" /></p>
<p>最後還能變更的就是要由小大到編號，還是由大到小編號。Emmet 預設的編號是由小到大，如果是要反過來由大到小的話，那麼就是在 @ 後面補上一個 - 負號(就算沒要設定起始值也是要多補 @)<br />
<img src="http://abgne.tw/wp-content/uploads/2015/12/emmet_tutorial_series_replication_elements_and_numbering_06.gif" alt="emmet_tutorial_series_replication_elements_and_numbering_06" width="700" height="210" class="alignnone size-full wp-image-8269" /></p>
<p>從範例中能看到若是要起始值且又要由大到小排的話，是要把 - 負號加在數字前面的喔！</p>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/web/emmet-tutorial-series-replication-elements-and-numbering.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gulp 入門教學 - 壓縮 JavaScript 與 CSS</title>
		<link>https://abgne.tw/web/gulp/gulp-tuts-compress-js-css.html</link>
		<comments>https://abgne.tw/web/gulp/gulp-tuts-compress-js-css.html#respond</comments>
		<pubDate>Mon, 30 Nov 2015 15:19:56 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[Gulp]]></category>
		<category><![CDATA[gulp]]></category>
		<category><![CDATA[gulp-uglify]]></category>
		<category><![CDATA[gulp-uglifycss]]></category>
		<category><![CDATA[gulp.js]]></category>
		<category><![CDATA[npm]]></category>
		<category><![CDATA[uglify]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8225</guid>
		<description><![CDATA[現在開發網頁大多會引用很多第三方的 JavaScript 跟 CSS 資源，當訪客瀏覽時就會啪啦啦的向主機發起下載這些資源的請求(Request)。其實瀏覽器跟主機同時間能處理的請求是有限制的，所以這樣的動作多少會影響到效能]]></description>
				<content:encoded><![CDATA[<p>現在開發網頁大多會引用很多第三方的 JavaScript 跟 CSS 資源，當訪客瀏覽時就會啪啦啦的向主機發起下載這些資源的請求(Request)。其實瀏覽器跟主機同時間能處理的請求是有限制的，所以這樣的動作多少會影響到效能。</p>
<p>筆者現在要來教大家如何將這些 JavaScript 跟 CSS 資料分別合併同一支檔案，並且順便將檔案進行壓縮來節省檔案大小。</p>
<p>首先建立一個練習用的 gulp2 資料夾，在裡面的結構是像這樣<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-01.png" alt="gulp_tuts_compress_js_css-0" width="299" height="209" class="alignnone size-full wp-image-8232" /></p>
<p>會用兩個 CSS 跟兩個 JS 檔案只是為了教當有多個檔案時要怎樣合併起來而已，如果懶的建立的話，可以直接下載<a href="https://www.dropbox.com/s/hg4ykuizt3hsykj/gulp2.zip?dl=1" title="練習包" target="_blank">練習包</a></p>
<p>接著我們就來安裝等等要用到的 Gulp 及相關套件，先執行安裝指令</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8225code1'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p82251"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8225code1"><pre class="text" style="font-family:monospace;">npm install gulp gulp-concat gulp-uglify gulp-uglifycss</pre></td></tr></table></div>

<p>我們這次除了 Gulp 之外，還多裝了 3 個套件，它們的功用分別是：<br />
gulp-concat: 合併檔案<br />
gulp-uglify: 壓縮混淆 JavaScript 檔案<br />
gulp-uglifycss: 壓縮 CSS 檔案</p>
<p>再來一樣是在 gulp2 資料夾中新增一個 gulpfile.js，然後用編輯器開啟。先把要用到的套件先引用進來：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8225code2'); return false;">檢視原始碼</a> JavaScript</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p82252"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p8225code2"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> gulp <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'gulp'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> <span style="color: #000066;">concat</span> <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'gulp-concat'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> uglify <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'gulp-uglify'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> uglifycss <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'gulp-uglifycss'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>接著先建立一個合併及壓縮 JavaScript 的任務，所以繼續編輯 gulpfile.js：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8225code3'); return false;">檢視原始碼</a> JavaScript</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p82253"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p8225code3"><pre class="javascript" style="font-family:monospace;">gulp.<span style="color: #660066;">task</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'uglify:js'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> gulp.<span style="color: #660066;">src</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'src/js/*.js'</span><span style="color: #009900;">&#41;</span>
		.<span style="color: #660066;">pipe</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">concat</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'app.min.js'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		.<span style="color: #660066;">pipe</span><span style="color: #009900;">&#40;</span>uglify<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		.<span style="color: #660066;">pipe</span><span style="color: #009900;">&#40;</span>gulp.<span style="color: #660066;">dest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'dist/js'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>先來解釋一下這段語法做了什麼事：<br />
筆者建立了一個叫做 gulify:js 的任務。然後先用 gulp.src('src/js/*.js') 來選取要加工處理的檔案，像筆者就把 src/js/ 中屬於 *.js 的選取起來，接著串 concat('app.min.js') 來把剛合併的內容寫入到指定的檔案中。再來就是使用 uglify() 將檔案內容進行壓縮混淆，最後就是檔案存檔到 dist/js 資料夾中啦。</p>
<p>好了好了，先來執行這 uglify:js 任務吧</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8225code4'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p82254"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8225code4"><pre class="text" style="font-family:monospace;">gulp uglify:js</pre></td></tr></table></div>

<p><img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-05.png" alt="gulp_tuts_compress_js_css-05" width="500" height="106" class="alignnone size-full wp-image-8246" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-05.png 500w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-05-300x64.png 300w" sizes="(max-width: 500px) 100vw, 500px" /></p>
<p>如果沒錯誤的話，就會看到多一個 dist 資料夾及我們的 app.min.js 了<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-02.png" alt="gulp_tuts_compress_js_css-02" width="304" height="305" class="alignnone size-full wp-image-8238" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-02.png 304w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-02-150x150.png 150w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-02-300x300.png 300w" sizes="(max-width: 304px) 100vw, 304px" /></p>
<p>各位可以開啟 app.min.js 來看看是不是真的是原本的 JavaScript 內容，且是不是真的有壓縮了！</p>
<p>接著讓我們繼續建立處理 CSS 的任務：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8225code5'); return false;">檢視原始碼</a> JavaScript</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p82255"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p8225code5"><pre class="javascript" style="font-family:monospace;">gulp.<span style="color: #660066;">task</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'uglify:css'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> gulp.<span style="color: #660066;">src</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'src/css/*.css'</span><span style="color: #009900;">&#41;</span>
		.<span style="color: #660066;">pipe</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">concat</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'style.css'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		.<span style="color: #660066;">pipe</span><span style="color: #009900;">&#40;</span>uglifycss<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		.<span style="color: #660066;">pipe</span><span style="color: #009900;">&#40;</span>gulp.<span style="color: #660066;">dest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'dist/css'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>這任務名稱是 uglify:css，主要動作是跟處理 JavaScript 的一樣，只是把 uglify() 改用 uglifycss() 而已。OK~一樣來執行看看</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8225code6'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p82256"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8225code6"><pre class="text" style="font-family:monospace;">gulp uglify:css</pre></td></tr></table></div>

<p><img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-06.png" alt="gulp_tuts_compress_js_css-06" width="513" height="112" class="alignnone size-full wp-image-8248" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-06.png 513w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-06-300x65.png 300w" sizes="(max-width: 513px) 100vw, 513px" /></p>
<p>執行完成後會在 dist 資料夾中又多出一個 css 資料夾及 style.css 檔案<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-03.png" alt="gulp_tuts_compress_js_css-03" width="297" height="339" class="alignnone size-full wp-image-8241" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-03.png 297w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-03-263x300.png 263w" sizes="(max-width: 297px) 100vw, 297px" /></p>
<p>各位一樣可以開啟 style.css 看看內容是否正確且壓縮過了！</p>
<p>雖然這兩個任務都能正確的執行，但要分別下指令就有點麻煩，所以我們來建立一個專門用來進行壓縮 JavaScritp 與 CSS 的任務，同時順便將 src/index.html 一併搬到 dist/index.html 吧：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8225code7'); return false;">檢視原始碼</a> JavaScript</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p82257"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p8225code7"><pre class="javascript" style="font-family:monospace;">gulp.<span style="color: #660066;">task</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'uglify'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'uglify:js'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'uglify:css'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> gulp.<span style="color: #660066;">src</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'src/index.html'</span><span style="color: #009900;">&#41;</span>
		.<span style="color: #660066;">pipe</span><span style="color: #009900;">&#40;</span>gulp.<span style="color: #660066;">dest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'dist'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>使用 gulp.task() 時，第二個參數可以是一個陣列，這陣列裡面放的是指要執行這任務前要先執行哪些任務，當執行完後就接著執行第三個參數指派的動作(如果有給的話)。</p>
<p>快來執行看看</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8225code8'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p82258"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8225code8"><pre class="text" style="font-family:monospace;">gulp uglify</pre></td></tr></table></div>

<p><img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-04.png" alt="gulp_tuts_compress_js_css-04" width="501" height="164" class="alignnone size-full wp-image-8244" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-04.png 501w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-04-300x98.png 300w" sizes="(max-width: 501px) 100vw, 501px" /></p>
<p>是不是都有乖乖的執行呢~<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-07.png" alt="gulp_tuts_compress_js_css-07" width="300" height="352" class="alignnone size-full wp-image-8250" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-07.png 300w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-07-256x300.png 256w" sizes="(max-width: 300px) 100vw, 300px" /></p>
<p>如果是下載練習包的話，我事前已經在 index.html 中先寫好引用 app.min.js 跟 style.css 了，所以執行開啟瀏覽的話...<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-08.png" alt="gulp_tuts_compress_js_css-08" width="600" height="588" class="alignnone size-full wp-image-8251" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-08.png 600w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_compress_js_css-08-300x294.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/web/gulp/gulp-tuts-compress-js-css.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gulp 入門教學 - 安裝 Gulp.js</title>
		<link>https://abgne.tw/web/gulp/gulp-tuts-install-gulp-js.html</link>
		<comments>https://abgne.tw/web/gulp/gulp-tuts-install-gulp-js.html#comments</comments>
		<pubDate>Sun, 29 Nov 2015 14:10:03 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[Gulp]]></category>
		<category><![CDATA[gulp]]></category>
		<category><![CDATA[gulp.js]]></category>
		<category><![CDATA[npm]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8180</guid>
		<description><![CDATA[現在前端的技術越來越多了，連帶的若要將專案發佈到主機上之前，您可能需要進行以下的步驟]]></description>
				<content:encoded><![CDATA[<p>現在前端的技術越來越多了，連帶的若要將專案發佈到主機上之前，您可能需要進行以下的步驟：<br />
1.將 Babel、TypeScript 及 CoffeeScript 編譯成 JavaScript<br />
2.將 LESS、SASS、SCSS 或 Stylus 編譯成 CSS<br />
3.再把 Jade、Slim 或 Haml 編譯成 HTML<br />
4.合併 HTML 頁面跟 layout<br />
5.將 CSS 加上前綴<br />
6.再把 CSS 和 JavaScript 各自成併成單一檔案<br />
7.壓縮 CSS 和 JavaScript 並產生 Source Map<br />
8.壓縮圖片<br />
9...</p>
<p>看了這一連串的工作是不是頭的暈了呢？以上都還沒加上各種測試工作咧！如果在瀏覽器上查看發現有錯要進行小變更時，以上動作可能得再來一次了 XD。因此就有像是 Gulp.js 這樣的自動化建置工具出現啦！只要我們把要執行的各種動作都寫成一個個任務後，就能輕鬆完成一連串的動作囉！</p>
<p>不過在開始安裝 Gulp.js 之前，我們得先安裝 Node.js 才能使用方便的 npm 工具，再透過 npm 來安裝 Gulp.js 及相關的外掛套件工具。</p>
<p>Node.js 官網：<a href="https://nodejs.org/en/" title="https://nodejs.org/en/" target="_blank">https://nodejs.org/en/</a><br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_0.png" alt="gulp_tuts_install_gulp_js_0" width="730" height="528" class="alignnone size-full wp-image-8201" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_0.png 730w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_0-300x217.png 300w" sizes="(max-width: 730px) 100vw, 730px" /><br />
理論上會自動判斷瀏覽者的系統並提供相對應版版本的安裝程式供人下載，如果想選擇其它系統或是版本的話，可以自己再去點 Downloads 後下載。</p>
<p>安裝的方式就跟大部份程式一樣，就是下一步、下一步、下一步、安裝、完成。<br />
接著先開啟命令提示字元或終端機並分別輸入(Windows 及 Mac 都相同)</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8180code9'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p81809"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8180code9"><pre class="text" style="font-family:monospace;">node --verion</pre></td></tr></table></div>


<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8180code10'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p818010"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8180code10"><pre class="text" style="font-family:monospace;">npm --verion</pre></td></tr></table></div>

<p>若安裝過程沒問題的話，就會看到各自的版本號了<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_01.png" alt="gulp_tuts_install_gulp_js_01" width="359" height="107" class="alignnone size-full wp-image-8205" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_01.png 359w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_01-300x89.png 300w" sizes="(max-width: 359px) 100vw, 359px" /></p>
<p>接下來我們先來安裝全域的 Gulp 工具，先輸入</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8180code11'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p818011"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8180code11"><pre class="text" style="font-family:monospace;">npm install --global gulp</pre></td></tr></table></div>

<p>如果在 Mac 上安裝有問題的話，記得先加上 sudo 指令</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8180code12'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p818012"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8180code12"><pre class="text" style="font-family:monospace;">sudo npm install --global gulp</pre></td></tr></table></div>

<p><img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_02.png" alt="gulp_tuts_install_gulp_js_02" width="682" height="478" class="alignnone size-full wp-image-8208" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_02.png 682w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_02-300x210.png 300w" sizes="(max-width: 682px) 100vw, 682px" /></p>
<p>大概等個一下下時間就會安裝完成了，這時我們可以藉由查看版本號來確認是否安裝完成。再輸入</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8180code13'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p818013"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8180code13"><pre class="text" style="font-family:monospace;">gulp --version</pre></td></tr></table></div>

<p><img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_03.png" alt="gulp_tuts_install_gulp_js_03" width="339" height="96" class="alignnone size-full wp-image-8210" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_03.png 339w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_03-300x85.png 300w" sizes="(max-width: 339px) 100vw, 339px" /></p>
<p>目前準備工作都差不多了，接著就是先建立一個專案的資料夾，然後再將命令提示字元或終端機切換進入到該資料夾中。這時要分別針對專案安裝各自的 Gulp 套件</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8180code14'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p818014"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8180code14"><pre class="text" style="font-family:monospace;">npm install gulp</pre></td></tr></table></div>

<p>這邊要注意一下喔！一開始安裝全域的是有加上 -global 參數，這邊是針對專案的就不需要了(若最後有出現 WARN 先別管它，不影響)<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_04.png" alt="gulp_tuts_install_gulp_js_04" width="682" height="478" class="alignnone size-full wp-image-8213" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_04.png 682w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_04-300x210.png 300w" sizes="(max-width: 682px) 100vw, 682px" /></p>
<p>等它結束後查看資料夾，應該會看到一個 node_modules 資料夾，這其中會放置一些套件程式<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_05.png" alt="gulp_tuts_install_gulp_js_05" width="403" height="144" class="alignnone size-full wp-image-8215" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_05.png 403w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_05-300x107.png 300w" sizes="(max-width: 403px) 100vw, 403px" /></p>
<p>這時候再輸入一次</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8180code15'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p818015"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8180code15"><pre class="text" style="font-family:monospace;">gulp --version</pre></td></tr></table></div>

<p>你就會看到除了全域之外還多了一個是本地的 Gulp 版本號內容<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_06.png" alt="gulp_tuts_install_gulp_js_06" width="372" height="108" class="alignnone size-full wp-image-8216" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_06.png 372w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_06-300x87.png 300w" sizes="(max-width: 372px) 100vw, 372px" /></p>
<p>最後讓我們在專案資料夾中新增一個檔名為 gulpfile.js 的文件，然後用編輯器來開啟它。然後先建立一個任務項目：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8180code16'); return false;">檢視原始碼</a> JavaScript</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p818016"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p8180code16"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> gulp <span style="color: #339933;">=</span> require<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'gulp'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
gulp.<span style="color: #660066;">task</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hello'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	console.<span style="color: #000066;">log</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'Hello Gulp.js'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>因為我們需要用到 Gulp，所以透過 require() 的方式來把它載入。接著使用 gulp.task(任務名稱, Fn) 的方式來建立一個新的任務。筆者這邊先建立一個名叫 hello 的任務，當執行這任務時輸出 'Hello Gulp.js' 字串。</p>
<p>好的，存檔完成後，我們再切換到命令提示字元或終端機來執行任務囉。透過 Gulp 執行指定任務的語法很簡單，就是 'gulp 任務名稱'：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8180code17'); return false;">檢視原始碼</a> text</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p818017"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8180code17"><pre class="text" style="font-family:monospace;">gulp hello</pre></td></tr></table></div>

<p>順利的話就會看到任務啟動及執行結果了<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_07.png" alt="gulp_tuts_install_gulp_js_07" width="500" height="120" class="alignnone size-full wp-image-8219" srcset="https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_07.png 500w, https://abgne.tw/wp-content/uploads/2015/11/gulp_tuts_install_gulp_js_07-300x72.png 300w" sizes="(max-width: 500px) 100vw, 500px" /></p>
<p>雖然看起來好像沒什麼了不起的，但...至少能確認整個 Gulp 是能運作了，接下來筆者會一一分享如何來進行那...一連串的動作。</p>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/web/gulp/gulp-tuts-install-gulp-js.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Emmet 教學 - 顯示文字</title>
		<link>https://abgne.tw/web/emmet-tutorial-series-text-expansions-html.html</link>
		<comments>https://abgne.tw/web/emmet-tutorial-series-text-expansions-html.html#respond</comments>
		<pubDate>Fri, 27 Nov 2015 18:10:17 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Emmet]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8161</guid>
		<description><![CDATA[學到現在，我們雖然能產生各種元素，但像 h1 或 a 之類的都需要在展開 HTML 後才額外補上內文，那如果想要在寫的過程中也一併產生的話呢]]></description>
				<content:encoded><![CDATA[<p>學到現在，我們雖然能產生各種元素，但像 h1 或 a 之類的都需要在展開 HTML 後才額外補上內文，那如果想要在寫的過程中也一併產生的話呢？</p>
<h3>文字 Text: {}</h3>
<p>如果想要產生元素中的文字時，可以透過加上 {} 大括號並在其中補上想要的內容來產生<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_text_expansions_01.gif" alt="emmet_tutorial_series_text_expansions_01" width="700" height="210" class="alignnone size-full wp-image-8162" /></p>
<p>基本上 {Text} 也能把它當是一個元素，只是它是純文字而已<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_text_expansions_02.gif" alt="emmet_tutorial_series_text_expansions_02" width="700" height="210" class="alignnone size-full wp-image-8163" /></p>
<p>不過若是接在 HTML 元素後的話，有些小細節可能要注意一下。例如當我們使用 a{Click Me} 跟 a>{Click Me} 時，輸出的 HTML 是一樣的<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_text_expansions_03.gif" alt="emmet_tutorial_series_text_expansions_03" width="700" height="210" class="alignnone size-full wp-image-8164" /></p>
<p>但若是之後若有接其它元素的話，結果可是差很多的喔。例如 a{Click}+span{ Me} 跟 a>{Click}+span{ Me}<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_text_expansions_04.gif" alt="emmet_tutorial_series_text_expansions_04" width="700" height="210" class="alignnone size-full wp-image-8166" /></p>
<p>主要是因為使用了子階層 > 的關係，span 也變成是 a 的子元素了。再來看另一個例子：div>{Click}+a{ here}+{ to continue} 跟 div{Click}+a{ here}+{ to continue}<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_text_expansions_05.gif" alt="emmet_tutorial_series_text_expansions_05" width="700" height="210" class="alignnone size-full wp-image-8168" /></p>
<p>因為 {Text} 也是個元素，所以若不是在子階層中的話，就會變成在元素外的文字了。請各位同學在使用 Emmet 時要小心這差異。</p>
<p>最後我們來補充一個類似佔位用的文字功能。如果我們想要產生一些落落長的文字來讓區塊看起來很豐富的話，可以透過使用 lorem 這個關鍵字來產生一大串的英文詞句內容<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_text_expansions_06.gif" alt="emmet_tutorial_series_text_expansions_06" width="700" height="210" class="alignnone size-full wp-image-8170" /></p>
<p>使用 lorem 會輸出有 30 個單字的文字內容，如果想要自訂單字數的話，只要在 lroem 後接個想要的數字就可以了<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_text_expansions_07.gif" alt="emmet_tutorial_series_text_expansions_07" width="700" height="210" class="alignnone size-full wp-image-8172" /></p>
<p>Lorem ipsum 主要是常出現在排版設計用，要了解的話請參考一下<a href="https://zh.wikipedia.org/wiki/Lorem_ipsum" title="維基百科" target="_blank">維基百科</a>。</p>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/web/emmet-tutorial-series-text-expansions-html.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emmet 教學 - 階層及群組</title>
		<link>https://abgne.tw/web/emmet-tutorial-series-child-sibling-parent-group.html</link>
		<comments>https://abgne.tw/web/emmet-tutorial-series-child-sibling-parent-group.html#respond</comments>
		<pubDate>Thu, 26 Nov 2015 22:32:17 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Emmet]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8143</guid>
		<description><![CDATA[我們在 <a href="http://abgne.tw/web/emmet-tutorial-series-basic.html" title="Emmet 教學系列 - 基本用法" target="_blank">Emmet 教學系列 - 基本用法</a>中已經學會建立單一元素的方式了，但網頁中通常都是有很多的子元素、孫元素及各種的兄弟元素等等。如果您對 CSS 選擇器熟悉的話，應該多少有用到階層選擇器等功能。同樣的，Emmet 也支援及提供建立含有各種階層關係的縮寫方式]]></description>
				<content:encoded><![CDATA[<p>我們在 <a href="http://abgne.tw/web/emmet-tutorial-series-basic.html" title="Emmet 教學系列 - 基本用法" target="_blank">Emmet 教學系列 - 基本用法</a>中已經學會建立單一元素的方式了，但網頁中通常都是有很多的子元素、孫元素及各種的兄弟元素等等。如果您對 CSS 選擇器熟悉的話，應該多少有用到階層選擇器等功能。同樣的，Emmet 也支援及提供建立含有各種階層關係的縮寫方式。</p>
<p>筆者在此篇會一一解說子階層、兄弟階層、上一層及群組等用法。</p>
<h3>子階層 Child: ></h3>
<p>Emment 在設定子階層用語法跟 CSS 中的是一樣使用 > 符號，假設我們要在 header 區塊中放置 nav，並在 nav 中在加上 ul li 等動作都可以透過子階層的方式來一次寫完<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_child_sibling_parent_group_01.gif" alt="emmet_tutorial_series_child_sibling_parent_group_01" width="700" height="230" class="alignnone size-full wp-image-8146" /></p>
<p>一樣能把 #id 及 .className 搭配一起使用<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_child_sibling_parent_group_02.gif" alt="emmet_tutorial_series_child_sibling_parent_group_02" width="700" height="230" class="alignnone size-full wp-image-8148" /></p>
<h3>兄弟階層 Sibling: +</h3>
<p>如果我們要在 nav 前先放一個 h1 的話，那要怎樣來寫呢？(...3秒後)對~就是跟 CSS 兄弟選擇器一樣使用 + 符號<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_child_sibling_parent_group_03.gif" alt="emmet_tutorial_series_child_sibling_parent_group_03" width="700" height="230" class="alignnone size-full wp-image-8150" /></p>
<h3>群組 Grouping: ()</h3>
<p>如果上面兩個用法都沒問題的話，再來我們想要在跟 nav 同一階層下再多放一個 div 的話，雖然知道 + 符號可用在兄弟元素中，但因為 nav 本身就包了一堆元素，這一堆基本上都是屬於 nav 這一個兄弟的，因此為了表示他們是一組的，我們可以使用數學上常用的 () 括號的方式來處理。把用 () 括號起來的當成一個階層來看待，所以我們的語法就可以這樣寫<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_child_sibling_parent_group_04.gif" alt="emmet_tutorial_series_child_sibling_parent_group_04" width="700" height="250" class="alignnone size-full wp-image-8152" /></p>
<p>那...如果筆者想要幫 header 再多一個兄弟元素的話，一樣可以用 () 括號把子元素都包起來再增加新的兄弟元素<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_child_sibling_parent_group_05.gif" alt="emmet_tutorial_series_child_sibling_parent_group_05" width="700" height="290" class="alignnone size-full wp-image-8154" /></p>
<h3>上一層 Climb-up: ^</h3>
<p>有沒有越來越覺得神奇的感覺了咧！不過如果我們可以在 header 中的最後一個 div 子元素這邊能往上爬一層的話，就算不用 () 括號來把子元素包起來也能做到同樣的結果<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_child_sibling_parent_group_06.gif" alt="emmet_tutorial_series_child_sibling_parent_group_06" width="700" height="290" class="alignnone size-full wp-image-8156" /></p>
<p>這邊使用 ^ 符號來達到往上爬一層，如果想要爬兩層的話...別懷疑，就是 ^^<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_child_sibling_parent_group_07.gif" alt="emmet_tutorial_series_child_sibling_parent_group_07" width="700" height="210" class="alignnone size-full wp-image-8157" /></p>
<p>筆者想要在 div.inner 下方多插入一個 img 元素，如果是在 span 後只用一個 ^img 是只能爬過 span 來到 p 段落中而已；若是使用 ^^img 才能順利的爬過 span 跟 p。</p>
<p>這幾個語法要記得多練習幾次，當熟練後能在編寫 HTML 時超展開的囉！</p>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/web/emmet-tutorial-series-child-sibling-parent-group.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Emmet 教學 - 基本用法</title>
		<link>https://abgne.tw/web/emmet-tutorial-series-basic.html</link>
		<comments>https://abgne.tw/web/emmet-tutorial-series-basic.html#comments</comments>
		<pubDate>Thu, 26 Nov 2015 12:31:45 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Emmet]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8116</guid>
		<description><![CDATA[大多數的編輯器都有相對應的 Emmet(Zen Coding) 套件可以安裝，它能加快並縮短開發者在編寫 HTML 及 CSS 的時間。Emmet 基本的用法就跟我們在寫 CSS 的概念是一樣的，讓筆者先一一介紹基本的使用方式]]></description>
				<content:encoded><![CDATA[<p>大多數的編輯器都有相對應的 Emmet(Zen Coding) 套件可以安裝，它能加快並縮短開發者在編寫 HTML 及 CSS 的時間。Emmet 基本的用法就跟我們在寫 CSS 的概念是一樣的，讓筆者先一一介紹基本的使用方式。</p>
<h3>TagName:</p>
<h3>
假設我們要產生一個 h1 元素，那麼我們只要直接輸入 h1 後，按下 Tab 鍵或是 Ctrl+E 鍵就能產生出包含起始元素及結束元素的內容<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_basic_01.gif" alt="emmet_tutorial_series_basic_01" width="700" height="180" class="alignnone size-full wp-image-8126" /></p>
<p>只要是 HTML 所定義的元素都能快速產生出相對應的語法，甚至還會帶入跟該元素有關的屬性，例如：a 或是 img 等等<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_basic_02.gif" alt="emmet_tutorial_series_basic_02" width="700" height="180" class="alignnone size-full wp-image-8127" /></p>
<p>除了標準的元素之外，它也內建了一些快速產生 HTML 樣板的快捷語法，像是要產生一個標準的 HTML5 樣板的話，我們可以直接輸入 ! 或是 html:5<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_basic_03.gif" alt="emmet_tutorial_series_basic_03" width="700" height="300" class="alignnone size-full wp-image-8125" /></p>
<p>若是 Emmet 不認識的元素的話，如果是使用 Ctrl+E 鍵來觸發 Emmet 的話，它會直接當成標籤來轉換；但如果是用 Tab 鍵則不會觸發<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_basic_04.gif" alt="emmet_tutorial_series_basic_04" width="700" height="180" class="alignnone size-full wp-image-8129" /></p>
<h3>.className:</p>
<h3>
我們也可以在產生元素時直接加上指定的 .className，例如：h1.title<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_basic_05.gif" alt="emmet_tutorial_series_basic_05" width="700" height="180" class="alignnone size-full wp-image-8133" /></p>
<p>若是要針對單一元素要加上多個 .className 的話，只要把它們接在一起就可以了<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_basic_06.gif" alt="emmet_tutorial_series_basic_06" width="700" height="180" class="alignnone size-full wp-image-8134" /></p>
<p>雖然 Emmet 有隱性的判斷標籤的能力，但一般預設的元素是 div，所以如果直接寫 .className 的話，就會自動產生一個 div 元素然後加上指定的 .className<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_basic_07.gif" alt="emmet_tutorial_series_basic_07" width="700" height="180" class="alignnone size-full wp-image-8136" /></p>
<h3>#id:</p>
<h3>
當然我們也可以幫元素加上指定的 #id<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_basic_08.gif" alt="emmet_tutorial_series_basic_08" width="700" height="180" class="alignnone size-full wp-image-8138" /></p>
<p>同時加上 #id 及 .className 也是沒問題的，只要接在一起寫就可以了<br />
<img src="http://abgne.tw/wp-content/uploads/2015/11/emmet_tutorial_series_basic_09.gif" alt="emmet_tutorial_series_basic_09" width="700" height="180" class="alignnone size-full wp-image-8140" /></p>
<p>更多關於元素的快捷縮寫方式都可以在官方的文件中找到：<a href="http://docs.emmet.io/cheat-sheet/" title="Emmet Cheat Sheet" target="_blank">Emmet Cheat Sheet</a></p>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/web/emmet-tutorial-series-basic.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Phaser 官方範例 - load an image</title>
		<link>https://abgne.tw/phaser/phaser-example/load-an-image.html</link>
		<comments>https://abgne.tw/phaser/phaser-example/load-an-image.html#respond</comments>
		<pubDate>Tue, 05 Aug 2014 08:55:52 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[Phaser Example]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Phaser]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8077</guid>
		<description><![CDATA[<a href="http://phaser.io/" title="Phaser" target="_blank" class="boldBlue">Phaser</a> 官方有一系列的範例，我會一一的針對這些範例來帶各位看看 Phaser 這遊戲框架能做到怎樣的效果。首先來看第一個範例，從範例中可以學到使用 Phaser 的基本用法跟如何預載圖片]]></description>
				<content:encoded><![CDATA[<p><a href="http://phaser.io/" title="Phaser" target="_blank" class="boldBlue">Phaser</a> 官方有一系列的範例，我會一一的針對這些範例來帶各位看看 Phaser 這遊戲框架能做到怎樣的效果。首先來看第一個範例，從範例中可以學到使用 Phaser 的基本用法跟如何預載圖片。</p>
<p>在網頁中基本上只要有個 div 就可以了：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8077code18'); return false;">檢視原始碼</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p807718"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p8077code18"><pre class="html" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #0000ff; font-weight: bold;">body</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #0000ff; font-weight: bold;">div</span> <span style="color: #ff0000;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff00ff;">&quot;phaser-example&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #0000ff; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #0000ff; font-weight: bold;">body</span>&gt;</span></pre></td></tr></table></div>

<p>當然要記得引用 phaser.js 才行喔！接著來建立一個簡單的遊戲世界吧：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8077code19'); return false;">檢視原始碼</a> JavaScript</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p807719"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code" id="p8077code19"><pre class="javascript" style="font-family:monospace;"><span style="color: #008000;">// 在 #phaser-example 中產生遊戲畫布</span>
<span style="color: #003366; font-weight: bold;">var</span> game <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> Phaser.<span style="color: #660066;">Game</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">800</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">600</span><span style="color: #339933;">,</span> Phaser.<span style="color: #660066;">CANVAS</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'phaser-example'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>
	preload<span style="color: #339933;">:</span> preload<span style="color: #339933;">,</span>
	<span style="color: #000066;">create</span><span style="color: #339933;">:</span> <span style="color: #000066;">create</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> preload<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #008000;">//  載入一張圖片, 將名稱命名為 pikachu</span>
    game.<span style="color: #000066;">load</span>.<span style="color: #ff0000;">image</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'pikachu'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'assets/pics/pikachu.jpg'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> <span style="color: #000066;">create</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #008000;">//  加入一個 Sprite, 影像來源就是一開始載入的圖片</span>
    game.<span style="color: #000066;">add</span>.<span style="color: #660066;">sprite</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'pikachu'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>只要使用 <span class="boldBlue">new Game(width, height, renderer, parent, state, transparent, antialias, physicsConfig)</span> 就能建立一個遊戲的世界了。在建立的過程中除了指定寬高之外，我們還能決定是要使用 <span class="bold">Canvas</span> 還是 <span class="bold">WebGL</span> 方式來渲染畫面。一開始我們先傳入前 5 個參數就好，其它的之後再說明。</p>
<p>在建立遊戲世界時，可以自訂在 <span class="bold">preload</span>，<span class="bold">create</span>，<span class="bold">update</span> 及 <span class="bold">render</span> 等狀態時要執行的動作；像是在 preload 狀態時預載各種圖片資源檔等等。</p>
<p>我們在 preload 狀態時使用 <span class="bold">Loder</span> 的 <span class="boldBlue">image(key, url)</span> 方法來載入圖片，並給予一個特別的名稱來識別字。</p>
<p>當完成後即會進入到 create 狀態，在這邊我們就能取用剛剛已經預載下來的資源檔案來加入像是圖片或是 Sprite 等元素了。而要加入一個 Sprite 則可以使用 <span class="bold">GameObjectFactory</span> 的 <span class="boldBlue">sprite(x, y, key)</span> 方法來將指定識別字的資源檔放在指定的座標上囉！</p>
<p>若沒有意外的話，瀏覽範例時就會看到一隻皮卡丘在畫面的左上角了：<br />
<img src="http://abgne.tw/wp-content/uploads/2014/08/load-an-image_0.png" alt="load-an-image_0" width="500" height="375" class="alignnone size-full wp-image-8086" srcset="https://abgne.tw/wp-content/uploads/2014/08/load-an-image_0.png 500w, https://abgne.tw/wp-content/uploads/2014/08/load-an-image_0-300x225.png 300w" sizes="(max-width: 500px) 100vw, 500px" /></p>
<p>各位可以試著載入不同的圖片並一一加到指定的座標上。</p>
<div class="entry-tools"><a href="http://demo.abgne.tw/phaser/examples/0001/0001.html" class="button medium orange " rel="dofollow" target="_blank"><span>範例 1</span></a> </div>
<p>官方範例網址：<a href="http://examples.phaser.io/_site/view_full.html?d=basics&f=01+-+load+an+image.js&t=01%20-%20load%20an%20image&jsbin=http://jsbin.com/zagob/1/edit?js,output" title="load an image" target="_blank" class="boldBlue">load an image</a></p>
<div id="download-table" class="table_gray"></p>
<table width="100%" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th style="width:70%">檔案描述</th>
<th style="width:20%"></th>
</tr>
</thead>
<tbody>
<tr>
<td>基本的範例檔案(免空)</td>
<td><a href="http://abgne.tw/wp-content/plugins/abgne-tw-download-monitor/download.php?id=703" class="button medium blue " rel="nofollow" target="_blank"><span>開始下載</span></a></td>
</tr>
<tr>
<td>基本的範例檔案</td>
<td><a href="https://abgne.tw/register" class="button medium red " rel="nofollow" target="_blank"><span>會員限定</span></a></td>
</tr>
</tbody>
</table>
<p></div>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/phaser/phaser-example/load-an-image.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[CSS3]text-shadow 文字陰影</title>
		<link>https://abgne.tw/css/css3-lab/css3-text-shadow.html</link>
		<comments>https://abgne.tw/css/css3-lab/css3-text-shadow.html#comments</comments>
		<pubDate>Tue, 14 Jan 2014 15:59:13 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[CSS3 研究室]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[text-shadow]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8051</guid>
		<description><![CDATA[在 CSS3 中除了能將區塊加上陰影之外，也能針對一般文字加上 <span class="bold">text-shadow</span> 文字陰影的效果，進而產生像是會發光或是有 3D 立體效果]]></description>
				<content:encoded><![CDATA[<p>在 CSS3 中除了能將區塊加上陰影之外，也能針對一般文字加上 <span class="bold">text-shadow</span> 文字陰影的效果，進而產生像是會發光或是有 3D 立體效果。</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code20'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805120"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8051code20"><pre class="css" style="font-family:monospace;"><span style="color: #0000ff; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">none</span> | <span style="color: #00AA00;">&#91;</span> &lt;length<span style="color: #00AA00;">&gt;</span><span style="color: #00AA00;">&#123;</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">3</span><span style="color: #00AA00;">&#125;</span> &amp;&amp; &lt;color<span style="color: #00AA00;">&gt;</span>? <span style="color: #00AA00;">&#93;</span>#</pre></td></tr></table></div>

<p>一段文字可以套用多組陰影效果，而一組陰影的完整設定是：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code21'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805121"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p8051code21"><pre class="css" style="font-family:monospace;"><span style="color: #0000ff; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> h-shadow v-shadow blur spread <span style="color: #0000ff; font-weight: bold;">color</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p>基本上參數的用法跟 <a href="http://abgne.tw/css/css3-lab/css3-box-shadow.html" title="box-shadow 區塊陰影" target="_blank" class="boldBlue">box-shadow 區塊陰影</a> 的是一樣的，只差在沒有 <span class="bold">inset 內陰影</span>的參數而已：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code22'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805122"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p8051code22"><pre class="css" style="font-family:monospace;">h-shadow：水平位移距離
v-shadow：垂直位移距離
blur：模糊半徑
spread：擴散距離
<span style="color: #0000ff; font-weight: bold;">color</span>：顏色</pre></td></tr></table></div>

<p>一樣來直接看範例吧~</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code23'); return false;">檢視原始碼</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805123"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code" id="p8051code23"><pre class="html" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #0000ff; font-weight: bold;">body</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #0000ff; font-weight: bold;">div</span> <span style="color: #ff0000;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff00ff;">&quot;text&quot;</span>&gt;</span>
		HTML5 <span style="color: #ddbb00;">&amp; CSS3</span>
<span style="color: #ddbb00;">	&lt;/div&gt;</span>
&nbsp;
<span style="color: #ddbb00;">	&lt;div class=&quot;text&quot;&gt;</span>
<span style="color: #ddbb00;">		HTML5 &amp; CSS3</span>
<span style="color: #ddbb00;">	&lt;/div&gt;</span>
&nbsp;
<span style="color: #ddbb00;">	&lt;div class=&quot;text&quot;&gt;</span>
<span style="color: #ddbb00;">		HTML5 &amp; CSS3</span>
<span style="color: #ddbb00;">	&lt;/div&gt;</span>
&nbsp;
<span style="color: #ddbb00;">	&lt;div class=&quot;text&quot;&gt;</span>
<span style="color: #ddbb00;">		HTML5 &amp; CSS3</span>
<span style="color: #ddbb00;">	&lt;/div&gt;</span>
<span style="color: #ddbb00;">&lt;/body&gt;</span></pre></td></tr></table></div>

<p>基本的設定文字顏色、大小：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code24'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805124"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p8051code24"><pre class="css" style="font-family:monospace;">.<span style="color: #ff0000;">text</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #0000ff; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">32px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#656d78</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">line-height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">center</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>現在還未套上任何的文字陰影效果<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-text-shadow-0.png" alt="css3-text-shadow-0" width="400" height="100" /></p>
<p>加上簡單的陰影：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code25'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805125"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p8051code25"><pre class="css" style="font-family:monospace;">.<span style="color: #ff0000;">text</span><span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>1<span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #0000ff; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #933;">2px</span> <span style="color: #cc00cc;">#434a54</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>h-shadow 或 v-shadow 為正值時的陰影是往右及往下；反之則往左往上<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-text-shadow-1.png" alt="css3-text-shadow-1" width="400" height="100" /></p>
<p>若想要有模糊的效果的話，就要指定 blur 值：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code26'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805126"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p8051code26"><pre class="css" style="font-family:monospace;">.<span style="color: #ff0000;">text</span><span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>2<span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #0000ff; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #933;">2px</span> <span style="color: #933;">3px</span> <span style="color: #cc00cc;">#434a54</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p><img src="http://abgne.tw/wp-content/uploads/2014/01/css3-text-shadow-2.png" alt="css3-text-shadow-2" width="400" height="100" /></p>
<p>如果要套上多組陰影效果的話，只要每組陰影設定間加上逗號(comma)區隔就可以了：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code27'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805127"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p8051code27"><pre class="css" style="font-family:monospace;">.<span style="color: #ff0000;">text</span><span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>3<span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #0000ff; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #933;">2px</span> <span style="color: #933;">3px</span> <span style="color: #cc00cc;">#0f0</span><span style="color: #00AA00;">,</span> <span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #933;">3px</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">,</span> <span style="color: #933;">-10px</span> <span style="color: #933;">-5px</span> <span style="color: #933;">3px</span> <span style="color: #cc00cc;">#00f</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p><img src="http://abgne.tw/wp-content/uploads/2014/01/css3-text-shadow-3.png" alt="css3-text-shadow-3" width="400" height="100" /></p>
<p>若想讓文字產生光暈(發光)效果的話，一樣可以使用 text-shadow。除了用來裝飾文字之外，也能使跟圖片重疊的文字變的更好閱讀。</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code28'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805128"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p8051code28"><pre class="css" style="font-family:monospace;">.<span style="color: #ff0000;">text</span><span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>4<span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #0000ff; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>筆者在這範例上沒加上任何位置的偏移，只有在原地產生模糊效果<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-text-shadow-4.png" alt="css3-text-shadow-4" width="400" height="100" /></p>
<p>But...您看的出來有什麼陰影嗎？有發光嗎？都沒有吧~這是因為陰影顏色太淺，然後又只有一層陰影，所以看不出效果來。現在筆者將同一種陰影效果累加多次：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8051code29'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p805129"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p8051code29"><pre class="css" style="font-family:monospace;">.<span style="color: #ff0000;">text</span><span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>4<span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #0000ff; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">,</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>正所謂團結力量大...有看到那道光了嗎XD<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-text-shadow-5.png" alt="css3-text-shadow-5" width="400" height="100" /></p>
<p><span class="bold">text-shadow</span> 除了產生陰影之外，只要配合其它不同的 CSS 設計後，就能玩出意想不到的效果的唷。</p>
<div class="entry-tools"><a href="http://demo.abgne.tw/css3/0007/0007.html" class="button medium orange " rel="dofollow" target="_blank"><span>範例 1</span></a> </div>
<div id="download-table" class="table_gray"></p>
<table width="100%" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th style="width:70%">檔案描述</th>
<th style="width:20%"></th>
</tr>
</thead>
<tbody>
<tr>
<td>基本的範例檔案(免空)</td>
<td><a href="http://abgne.tw/wp-content/plugins/abgne-tw-download-monitor/download.php?id=701" class="button medium blue " rel="nofollow" target="_blank"><span>開始下載</span></a></td>
</tr>
<tr>
<td>基本的範例檔案</td>
<td><a href="https://abgne.tw/register" class="button medium red " rel="nofollow" target="_blank"><span>會員限定</span></a></td>
</tr>
</tbody>
</table>
<p></div>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/css/css3-lab/css3-text-shadow.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[CSS3]用 CSS3 做載入動畫 - 仿 Flickr 載入動畫</title>
		<link>https://abgne.tw/css/apply-css3/css3-flickr-loading-spinner.html</link>
		<comments>https://abgne.tw/css/apply-css3/css3-flickr-loading-spinner.html#comments</comments>
		<pubDate>Mon, 13 Jan 2014 08:36:50 +0000</pubDate>
		<dc:creator><![CDATA[男丁格爾]]></dc:creator>
				<category><![CDATA[CSS3 應用]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[loading spinner]]></category>

		<guid isPermaLink="false">http://abgne.tw/?p=8036</guid>
		<description><![CDATA[剛剛本來是要跟梅干 A 幾張新圖片來寫範例使用的，他就很大方的給我 Flickr 的相簿讓我自己選。選著選著...咦~Flickr 的載入動畫還蠻有趣的耶，那...就讓我手癢想來試看看]]></description>
				<content:encoded><![CDATA[<p>剛剛本來是要跟梅干 A 幾張新圖片來寫範例使用的，他就很大方的給我 Flickr 的相簿讓我自己選。選著選著...咦~Flickr 的載入動畫還蠻有趣的耶，那...就讓我手癢想來試看看。<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-flickr-loading-spinner-0.png" alt="css3-flickr-loading-spinner-0" width="176" height="96" /></p>
<p>這兩顆小球會一直移動交換位置，同時階層也會改變。至於怎麼做呢...就讓我們看下去...</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8036code30'); return false;">檢視原始碼</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p803630"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p8036code30"><pre class="html" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #0000ff; font-weight: bold;">body</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #0000ff; font-weight: bold;">div</span> <span style="color: #ff0000;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff00ff;">&quot;loading&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #0000ff; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #0000ff; font-weight: bold;">body</span>&gt;</span></pre></td></tr></table></div>

<p>順便裝飾一下：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8036code31'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p803631"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p8036code31"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.loading</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #0000ff; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">relative</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">60px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#3d3f3c</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">15px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">50px</span> <span style="color: #ff0000;">auto</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>這邊一樣是只有個 div 區塊：<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-flickr-loading-spinner-1.png" alt="css3-flickr-loading-spinner-1" width="176" height="96" /></p>
<p>而那兩顆小球我們只要使用 <span class="bold">::after</span> 及 <span class="bold">::before 擬元素(Pseudo-elements)</span>：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8036code32'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p803632"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p8036code32"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.loading</span><span style="color: #00AA00;">:</span><span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #0000ff; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;&quot;</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> inline-<span style="color: #ff0000;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#ff0084</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>先加了一個粉紅色的球~<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-flickr-loading-spinner-2.png" alt="css3-flickr-loading-spinner-2" width="176" height="96" /></p>
<p>再補上藍色的球：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8036code33'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p803633"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p8036code33"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.loading</span><span style="color: #00AA00;">:</span><span style="color: #3333ff;">:before </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #0000ff; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;&quot;</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> inline-<span style="color: #ff0000;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#0063dc</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>
	<span style="color: #0000ff; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>感覺有點樣子出現了厚...也有點像豬鼻子XD<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-flickr-loading-spinner-3.png" alt="css3-flickr-loading-spinner-3" width="176" height="96" /></p>
<p>現在缺少的就是讓它們可以移動交換位置就可以了。先寫左邊的粉紅色球的動畫效果：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8036code34'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p803634"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
</pre></td><td class="code" id="p8036code34"><pre class="css" style="font-family:monospace;"><span style="color: #a1a100;">@-webkit-keyframes flickr-pink {</span>
	<span style="color: #933;"><span style="color: #cc66cc;">0</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-webkit-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-webkit-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">20px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">60</span>%</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-webkit-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@-moz-keyframes flickr-pink {</span>
	<span style="color: #933;"><span style="color: #cc66cc;">0</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-moz-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-moz-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">20px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">60</span>%</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-moz-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@-o-keyframes flickr-pink {</span>
	<span style="color: #933;"><span style="color: #cc66cc;">0</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-o-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-o-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">20px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">60</span>%</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-o-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@keyframes flickr-pink {</span>
	<span style="color: #933;"><span style="color: #cc66cc;">0</span>%</span> <span style="color: #00AA00;">&#123;</span>
		transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span> <span style="color: #00AA00;">&#123;</span>
		transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">20px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">60</span>%</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span> <span style="color: #00AA00;">&#123;</span>
		transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>這邊只是透過 transform 的 <span class="boldBlue">translateX(x)</span> 來改變球的水平位置，然後 <span class="bold">animation-name</span> 是 <span class="bold">flickr-pink</span>。</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8036code35'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p803635"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p8036code35"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.loading</span><span style="color: #00AA00;">:</span><span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
	-webkit-animation<span style="color: #00AA00;">:</span> flickr-pink 1s infinite linear<span style="color: #00AA00;">;</span>
	-moz-animation<span style="color: #00AA00;">:</span> flickr-pink 1s infinite linear<span style="color: #00AA00;">;</span>
	-ms-animation<span style="color: #00AA00;">:</span> flickr-pink 1s infinite linear<span style="color: #00AA00;">;</span>
	-o-animation<span style="color: #00AA00;">:</span> flickr-pink 1s infinite linear<span style="color: #00AA00;">;</span>
	animation<span style="color: #00AA00;">:</span> flickr-pink 1s infinite linear<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>指定 ::after 擬元素執行該動畫，並且不間斷的執行~<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-flickr-loading-spinner-4.gif" alt="css3-flickr-loading-spinner-4" width="194" height="194" /></p>
<p>緊接著加上右邊藍色的動畫效果：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8036code36'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p803636"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
</pre></td><td class="code" id="p8036code36"><pre class="css" style="font-family:monospace;"><span style="color: #a1a100;">@-webkit-keyframes flickr-blue {</span>
	<span style="color: #933;"><span style="color: #cc66cc;">0</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-webkit-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-webkit-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">-20px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">60</span>%</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-webkit-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@-moz-keyframes flickr-blue {</span>
	<span style="color: #933;"><span style="color: #cc66cc;">0</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-moz-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-moz-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">-20px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">60</span>%</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-moz-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@-o-keyframes flickr-blue {</span>
	<span style="color: #933;"><span style="color: #cc66cc;">0</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-o-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-o-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">-20px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">60</span>%</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span> <span style="color: #00AA00;">&#123;</span>
		-o-transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@keyframes flickr-blue {</span>
	<span style="color: #933;"><span style="color: #cc66cc;">0</span>%</span> <span style="color: #00AA00;">&#123;</span>
		transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">50</span>%</span> <span style="color: #00AA00;">&#123;</span>
		transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">-20px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">60</span>%</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
	<span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span> <span style="color: #00AA00;">&#123;</span>
		transform<span style="color: #00AA00;">:</span> translateX<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
		<span style="color: #0000ff; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>也一樣是用 <span class="boldBlue">translateX(x)</span> 來改變球的水平位置，然後 <span class="bold">animation-name</span> 是 <span class="bold">flickr-blue</span>。</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p8036code37'); return false;">檢視原始碼</a> CSS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p803637"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p8036code37"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.loading</span><span style="color: #00AA00;">:</span><span style="color: #3333ff;">:before </span><span style="color: #00AA00;">&#123;</span>
	-webkit-animation<span style="color: #00AA00;">:</span> flickr-<span style="color: #0000ff; font-weight: bold;">blue</span> 1s infinite linear<span style="color: #00AA00;">;</span>
	-moz-animation<span style="color: #00AA00;">:</span> flickr-<span style="color: #0000ff; font-weight: bold;">blue</span> 1s infinite linear<span style="color: #00AA00;">;</span>
	-ms-animation<span style="color: #00AA00;">:</span> flickr-<span style="color: #0000ff; font-weight: bold;">blue</span> 1s infinite linear<span style="color: #00AA00;">;</span>
	-o-animation<span style="color: #00AA00;">:</span> flickr-<span style="color: #0000ff; font-weight: bold;">blue</span> 1s infinite linear<span style="color: #00AA00;">;</span>
	animation<span style="color: #00AA00;">:</span> flickr-<span style="color: #0000ff; font-weight: bold;">blue</span> 1s infinite linear<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>順利的話就會看到兩顆球一直移動了~<br />
<img src="http://abgne.tw/wp-content/uploads/2014/01/css3-flickr-loading-spinner-5.gif" alt="css3-flickr-loading-spinner-5" width="194" height="194" /></p>
<p>我個人是覺得有 9 成像了，你覺得呢？</p>
<p data-height="167" data-theme-id="3414" data-slug-hash="vaABK" data-default-tab="result" class='codepen'>See the Pen <a href='http://codepen.io/abgne-tw/pen/vaABK'>[CSS3]用 CSS3 做載入動畫 - 仿 Flickr 載入動畫</a> by abgne.tw (<a href='http://codepen.io/abgne-tw'>@abgne-tw</a>) on <a href='http://codepen.io'>CodePen</a>.</p>
<p><script async src="//codepen.io/assets/embed/ei.js"></script></p>
<div class="entry-tools"><a href="http://demo.abgne.tw/css3/apply/0012/0012_1.html" class="button medium orange " rel="dofollow" target="_blank"><span>範例 1</span></a> </div>
<div id="download-table" class="table_gray"></p>
<table width="100%" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th style="width:70%">檔案描述</th>
<th style="width:20%"></th>
</tr>
</thead>
<tbody>
<tr>
<td>基本的範例檔案(免空)</td>
<td><a href="http://abgne.tw/wp-content/plugins/abgne-tw-download-monitor/download.php?id=699" class="button medium blue " rel="nofollow" target="_blank"><span>開始下載</span></a></td>
</tr>
<tr>
<td>基本的範例檔案</td>
<td><a href="https://abgne.tw/register" class="button medium red " rel="nofollow" target="_blank"><span>會員限定</span></a></td>
</tr>
</tbody>
</table>
<p></div>
]]></content:encoded>
			<wfw:commentRss>https://abgne.tw/css/apply-css3/css3-flickr-loading-spinner.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
