<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>ไอนู๋นำ</title>
	<atom:link href="http://dagdun.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dagdun.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 26 May 2009 03:48:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='dagdun.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/941caa1e5d45ee40c5556b11a60dd736?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>ไอนู๋นำ</title>
		<link>http://dagdun.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dagdun.wordpress.com/osd.xml" title="ไอนู๋นำ" />
	<atom:link rel='hub' href='http://dagdun.wordpress.com/?pushpress=hub'/>
		<item>
		<title>ประเดิมด้วยการทำกล่องโค้งมน ง่าย ๆ แค่กระดิกนิ้ว</title>
		<link>http://dagdun.wordpress.com/2009/05/25/div-corner-css-javascript/</link>
		<comments>http://dagdun.wordpress.com/2009/05/25/div-corner-css-javascript/#comments</comments>
		<pubDate>Mon, 25 May 2009 05:01:57 +0000</pubDate>
		<dc:creator>dagdun</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://dagdun.wordpress.com/?p=4</guid>
		<description><![CDATA[ความรู้ที่ต้องมี Javascript, CSS, jQuery(ไม่ต้องก็ได้) ต่อไปนี้การทำกล่องโค้งมนจะไม่เป็นปัญหายุ่งยากอีกต่อไปแล้ว เพราะความขี้เกียจของคนเรา ทำให้คนเราเกิดการพัฒนา อิอิ(คิดในแง่บวกก็มีประโยชน์เหมือนกัน) จึงไปหา script อะไรสักอย่างที่สามารถใส่จึ๊กเดียวให้มันได้ดั่งใจเลย ก็ไปเจอหลายตัวเหมือนกัน เช่น jQuery corner เป็น plug-in ของ jQuery , Nifty , curvyCorners มีีทั้ง โดด ๆ(stan alone) กับที่เป็น plug-in ของ jQuery พอมาลอง ๆ ดูแล้ว รู้สึกว่าถูกใจตัว curvy มากที่สุดเลย เพราะสามารถทำโค้งโดยใส่ border ได้เลย และปัญหาน้อยมาก(แต่ก็มี) เรามาเริ่มกันเลยละกัน เพื่อไม่ให้เป็นการเสียเวลา ก่อนอื่นเลย ต้องโหลดโค้ดมาก่อนเลย ที่หน้านี้ จะเห็นคำว่า download นั้นแหละครับ เมื่อโหลดแล้ว แตกซิปออก เราจะเป็นไฟล์ดังนี้ - curvycorners.src.js เป็นไฟล์โค้ดหลักเลยครับ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dagdun.wordpress.com&amp;blog=7854717&amp;post=4&amp;subd=dagdun&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ความรู้ที่ต้องมี Javascript, CSS, jQuery(ไม่ต้องก็ได้)</p>
<p>ต่อไปนี้การทำกล่องโค้งมนจะไม่เป็นปัญหายุ่งยากอีกต่อไปแล้ว เพราะความขี้เกียจของคนเรา ทำให้คนเราเกิดการพัฒนา อิอิ(คิดในแง่บวกก็มีประโยชน์เหมือนกัน) จึงไปหา script อะไรสักอย่างที่สามารถใส่จึ๊กเดียวให้มันได้ดั่งใจเลย</p>
<p>ก็ไปเจอหลายตัวเหมือนกัน เช่น <a href="http://malsup.com/jquery/corner/" target="_blank">jQuery corner</a> เป็น plug-in ของ jQuery , <a href="http://www.html.it/articoli/niftycube/index.html" target="_blank">Nifty</a> , <a href="http://www.curvycorners.net/">curvyCorners</a> มีีทั้ง โดด ๆ(stan alone) กับที่เป็น plug-in ของ jQuery พอมาลอง ๆ ดูแล้ว รู้สึกว่าถูกใจตัว curvy มากที่สุดเลย เพราะสามารถทำโค้งโดยใส่ border ได้เลย และปัญหาน้อยมาก(แต่ก็มี)</p>
<p>เรามาเริ่มกันเลยละกัน เพื่อไม่ให้เป็นการเสียเวลา<br />
ก่อนอื่นเลย ต้องโหลดโค้ดมาก่อนเลย <a href="http://www.curvycorners.net/demos/" target="_blank">ที่หน้านี้ </a>จะเห็นคำว่า download นั้นแหละครับ</p>
<p>เมื่อโหลดแล้ว แตกซิปออก เราจะเป็นไฟล์ดังนี้<br />
- curvycorners.src.js เป็นไฟล์โค้ดหลักเลยครับ แต่จะเป็นไฟล์ที่ใหญ่ เพราะยังไม่ได้ตัดพวก comment ออก มีใว้เพื่อให้พวกเราได้ไล่โปรแกรมได้นั้นเอง<br />
- curvycorners.js เป็นไฟล์โค้ดอีกเหมือนกัน แต่จะทำการเอาอะไรที่ไม่จำเป็นออก เช่น comment ,enter ,tab ออก เพื่อให้ไฟล์มีขนาดเล็ก และโหลดเร็ว<br />
- examples อันนี้เป็นไฟล์ตัวอย่างครับ จะมีตัวอย่างมาให้ 6 ตัวอย่าง ลองคลิ๊กเข้าไปที่ index.html เลยครับ<br />
- doc อันนี้ไม่ต้องสนใจ 555+</p>
<p>เห็นไฟล์คร่าว ๆ แล้ว เรามาทดลองเล่นดูขำ ๆ ครับ เจ้าตัว curvy นี้จะมีการเขียนอยู่สองลักษณะครับ อย่างแรกจะเขียนเป็น css และอย่างที่สองจะเขียนเป็น javascript ครับ เรามาดูอย่างแรกก่อนครับ</p>
<h2>ลงมือทำ</h2>
<p>หากเราต้องการให้ div ของเราโค้ง โดยมี radius เท่ากับ 20px<br />
ก่อนอื่นต้อง include ไฟล์ js มาก่อนนะครับ อย่าลืม</p>
<p>&lt;script src=&#8221;curvycorners.js&#8221;&gt;&lt;/script&gt;</p>
<p>จากนั้นก็มาสร้าง css class ครับ ตั้งชื่ออะไรก็ได้ ผมตั้งชื่อว่า test1 นะครับ</p>
<p style="padding-left:30px;">.test1 {<br />
width: 300px;<br />
padding: 10px;<br />
background-color: red; /* ใส่สีแดงให้กับ div หน่อย เดี๋ยวจะดูไม่ออก เพราะเป็นสีขาวหมด */<br />
-webkit-border-radius: <span style="color:#ff0000;">20px</span>; /* ตรงนี้แหละสำคัญครับ */<br />
-moz-border-radius: <span style="color:#ff0000;">20px</span>; /* ตรงนี้ก็สำคัญครับ ต้องใส่ทั้งสองบรรทัดนะครับ*/<br />
}</p>
<p>เสร็จแล้วก็ไปสร้าง div มาเพื่อทดสอบ</p>
<p>&lt;div class=&#8221;test1&#8243;&gt;&lt;br&gt;&lt;br&gt;ทดสอบโค้ง ๆ&lt;br&gt;&lt;br&gt;&lt;/div&gt;</p>
<p>เสร็จแล้วรันเลยครับ หากได้ตามนี้แสดงว่า เสร็จไป 1 ขั้น<br />
<a href="http://dagdun.files.wordpress.com/2009/05/test1.jpg"><img class="alignnone size-full wp-image-6" title="test1" src="http://dagdun.files.wordpress.com/2009/05/test1.jpg" alt="test1" width="200" height="69" /></a></p>
<p>ทีนี้ผมขอลองแบบที่สองบ้าง คือแบบที่เป็น javascript โดยขั้นตอนทุกอย่างเหมือนเดิม ยกเว้นขั้นตอนสร้าง css class ครับ จะเปลี่ยนมาเป็น javascript แทน โดยโค้ดดังนี้ (หากรันไม่ขึ้นให้ย้ายโค้ดนี้ไปใว้ใต้ div)</p>
<p style="padding-left:30px;">curvyCorners(<br />
{tr: { radius: <span style="color:#ff00ff;">20 </span>},<br />
tl: { radius: <span style="color:#ff00ff;">20 </span>},<br />
br: { radius: <span style="color:#ff00ff;">20 </span>},<br />
bl: { radius: <span style="color:#ff00ff;">20 </span>}},<br />
&#8220;<span style="color:#ff00ff;">.</span><span style="color:#ff00ff;">test1</span>&#8220;);</p>
<p>โดยจะมีตัว setting อยู่ในรูปแบบ json(ไม่รู้ก็ไม่เป็นไรครับ) โดย t=top, r=right, b=bottom และ l=left ครับ จากนั้นเราให้มันแสดงผลโค้งมนทุก ๆ object ที่ใช้ <span style="color:#ff0000;">class=&#8221;test1&#8243;</span> (แต่บางตัวก็ไม่ได้ เช่น form) พอรันแล้วก็จะได้เหมือนกัน<br />
แต่โค้ดดังกล่าวจะมาแทนบรรทัด -webkit-&#8230;&#8230; และ -moz-&#8230;&#8230; เท่านั้นนะครับ พวก width,background ยังอยู่นะ</p>
<p><a href="../files/2009/05/test1.jpg"><img class="alignnone size-full wp-image-6" title="test1" src="../files/2009/05/test1.jpg" alt="test1" width="200" height="69" /></a></p>
<p>ต่อไป เราสามารถเลือกได้ว่าจะเอามุมไหนโค้งบ้าง โดยวิธีการนี้<br />
หากเป็น css ก็จะได้โค้ดดังนี้</p>
<p style="padding-left:30px;">.test2 {<br />
width: 300px;<br />
padding: 10px;<br />
background-color: red;<br />
-webkit-border-<span style="color:#ff0000;">bottom-right</span>-radius: 20px;<br />
-webkit-border-<span style="color:#ff0000;">top-left</span>-radius: 20px;<br />
-moz-border-radius-<span style="color:#ff0000;">topleft</span>: 20px;<code><br />
-moz-border-radius-<span style="color:#ff0000;">bottomright</span>: 20px;<br />
}</code></p>
<p>และโค้ด Javascript จะได้ดังนี้</p>
<p style="padding-left:30px;">curvyCorners(<br />
{tr: { radius: <span style="color:#ff00ff;">0 </span>},<br />
tl: { radius: <span style="color:#ff00ff;">20 </span>},<br />
br: { radius: <span style="color:#ff00ff;">20 </span>},<br />
bl: { radius: <span style="color:#ff00ff;">0 </span>}},<br />
&#8220;<span style="color:#ff00ff;">.</span><span style="color:#ff00ff;">test2</span>&#8220;);</p>
<p><a href="http://dagdun.files.wordpress.com/2009/05/test2.jpg"><img class="alignnone size-full wp-image-10" title="test2" src="http://dagdun.files.wordpress.com/2009/05/test2.jpg" alt="test2" width="200" height="71" /></a></p>
<p>โดยโค้ดดังกล่าวจะมาแทนบรรทัด -webkit-&#8230;&#8230; และ -moz-&#8230;&#8230; เหมือนเดิมนะครับ</p>
<h2>เริ่มดัดแปลง</h2>
<p>หากเราต้องการแบบที่มีขอบด้วย ก็สามารถเพิ่มได้เลยโดยไม่ยุ่งยาก โดยการเพิ่ม border เขาไปใน css ครับ ก็จะได้ดังนี้</p>
<p style="padding-left:30px;">.test1 {<br />
<span style="color:#ff0000;">border:1px solid red;</span><br />
width: 300px;<br />
padding: 10px;<br />
background-color:<span style="color:#ff6600;">#fff</span>;<br />
-webkit-border-radiu<span style="color:#000000;">s: 20px;<br />
-moz-border-radius: 20px;<br />
}</span></p>
<p>ก็จะได้ดังนี้</p>
<p><span style="color:#000000;"><img class="alignnone" title="ทดสอบสาม" src="http://dagdun.files.wordpress.com/2009/05/test3.jpg?w=200&#038;h=72" alt="" width="200" height="72" /></span></p>
<p>ถ้าเปลี่ยน border เป็น 5 ก็จะได้แบบนี้</p>
<p><a href="http://dagdun.files.wordpress.com/2009/05/test4.jpg"><img class="alignnone size-full wp-image-9" title="test4" src="http://dagdun.files.wordpress.com/2009/05/test4.jpg" alt="test4" width="200" height="80" /></a></p>
<h2>ดัดแปลงแบบใช้อย่างง่าย</h2>
<p><span style="color:#000000;">เมื่อวันก่อนไปเจอ css framework มา งงเล็กน้อย แต่พอลองใช้ดูแล้ว มันก็คือ css ที่เขียนมาให้เราหยิบใช้ ๆ ได้เลยนั้นเอง ด้วยความคิดนี้ ก็เลยเกิดไอเดียมาทำ corner framework ฉบับกาก ๆ ของเราเอง หุหุ<br />
ทำก็ง่าย ใช้ก็ง่ายโคตร<br />
เอาล่ะ มาลุยกันเลย</span></p>
<p>เนื่องจากเรามีพื้นฐานในการใช้ curvy แล้ว เราก็จะเอาไปที่เป็น javascript มาใช้้ให้เป็นประโยชน์ครับ โดยเมื่อเขียนเสร็จแล้ว เวลาเราอยากให้กล่องไหนโค้ง เราก็ใส่ class=&#8221;c5px&#8221; ได้เลยครับ โดย c คือ corner (ความจริงเป็นอะไรก็ได้) และ 5px คือ radius ที่เราต้องการครับ เช่น เรามีโค้ดอยู่</p>
<p style="padding-left:30px;">&lt;div class=&#8221;box1&#8243;&gt;<br />
//code ๆๆๆๆๆ<br />
&lt;/div&gt;</p>
<p>อยากให้มันโค้งก็เติม c5px ลงไปใน class เลยครับ</p>
<p style="padding-left:30px;">&lt;div class=&#8221;box1 <span style="color:#ff0000;">c5px</span>&#8220;&gt;<br />
//code ๆๆๆๆๆ<br />
&lt;/div&gt;</p>
<p>เราก็จะได้ div ที่มีโค้ง 5px โดยที่เราไม่ต้องยุ่งกับอะไรเลยสักอย่างครับ</p>
<p>เอาล่ะ ได้ดูวิธีใช้ไปแล้ว ทีนี้เราก็มาดูวิธีการสร้างเครื่องมือเลยครับ<br />
เนื่องจากผมไม่ค่อยชอบอะไรลุ่มลาม ก็เลยขอไปแก้โค้ดที่ไฟล์ curvycorners.js เลยนะครับ จะได้ include ครั้งเดียวจบ ไม่ต้องทำอะไรซ้ำ</p>
<p>วิธีคือ ไปเติมโค้ดต่อจากโค้ดของเขา ดังนี้</p>
<p style="padding-left:30px;">for (var i=1;i&lt;=20;i++)<br />
curvyCorners({tr: { radius: i },tl: { radius: i },br: { radius: i },bl: { radius: i }}, &#8220;.c&#8221;+i+&#8221;px&#8221;);</p>
<p>คือเราจะวนลูป 20 รอบ เพื่อหา class ที่ชื่อว่า .c<span style="color:#ff0000;">?</span>px โดย &#8220;<span style="color:#ff0000;">?</span>&#8221; คือตัวเลขของ radius ที่เราต้องการครับ ถ้าเจอก็จะทำการโค้ง ๆ ให้เราตามที่ &#8220;<span style="color:#ff0000;">?</span>&#8221; ที่เราใส่ไปนั้นเอง ถ้าไม่เจอก็ไม่เป็นไรครับ</p>
<p>เพียงแค่นี้เราก็จะได้ framework กาก ๆ มาใช้เองแล้วครับ</p>
<p>หรืออยากจะดัดแปลงอีกก็ได้เช่น</p>
<p style="padding-left:30px;">for (var i=1;i&lt;=20;i++){<br />
curvyCorners({tr: { radius: i },tl: { radius: i },br: { radius: i },bl: { radius: i }}, &#8220;.c&#8221;+i+&#8221;px&#8221;);<br />
curvyCorners({tr: { radius: 0 },tl: { radius: 0 },br: { radius: i },bl: { radius: i }}, &#8220;.cb&#8221;+i+&#8221;px&#8221;);<br />
curvyCorners({tr: { radius: i },tl: { radius: i },br: { radius: 0 },bl: { radius: 0 }}, &#8220;.ct&#8221;+i+&#8221;px&#8221;);<br />
curvyCorners({tr: { radius: i },tl: { radius: 0 },br: { radius: i },bl: { radius: 0 }}, &#8220;.cr&#8221;+i+&#8221;px&#8221;);<br />
curvyCorners({tr: { radius: 0 },tl: { radius: i },br: { radius: 0 },bl: { radius: i }}, &#8220;.cl&#8221;+i+&#8221;px&#8221;);<br />
}</p>
<p>จากโค้ด จะเห็นว่าเราเพิ่มคำสั่งจาก c?px เป็น cb?px , ct?px, cr?px, cl?px ครับ ก็จะได้เป็น corner top ,corner bottom, corner right, corner left ครับ ลองไล่โปรแกรมดูครับ ไม่ยาก</p>
<p>หากมีข้อสงสัยลองไปดู demo ที่ทาง curvy ให้มาดูนะครับ ใคร advance แล้วมาสอนผมกลับด้วยล่ะ อิอิ</p>
<p><a href="http://www.upchill.com/download.php?id=7afabce44299dcfe5a46bab9521b2b22" target="_blank">download โค้ดสำเร็จได้ที่นี่เลยครับ </a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dagdun.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dagdun.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dagdun.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dagdun.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dagdun.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dagdun.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dagdun.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dagdun.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dagdun.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dagdun.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dagdun.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dagdun.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dagdun.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dagdun.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dagdun.wordpress.com&amp;blog=7854717&amp;post=4&amp;subd=dagdun&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dagdun.wordpress.com/2009/05/25/div-corner-css-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d7f0ab4ca8b64c55ab6dc25837d98b9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dagdun</media:title>
		</media:content>

		<media:content url="http://dagdun.files.wordpress.com/2009/05/test1.jpg" medium="image">
			<media:title type="html">test1</media:title>
		</media:content>

		<media:content url="http://dagdun.files.wordpress.com/2009/05/test2.jpg" medium="image">
			<media:title type="html">test2</media:title>
		</media:content>

		<media:content url="http://dagdun.files.wordpress.com/2009/05/test3.jpg" medium="image">
			<media:title type="html">ทดสอบสาม</media:title>
		</media:content>

		<media:content url="http://dagdun.files.wordpress.com/2009/05/test4.jpg" medium="image">
			<media:title type="html">test4</media:title>
		</media:content>
	</item>
	</channel>
</rss>
