<?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:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>frontend &#8211; PhalconHost Blog</title>
	<atom:link href="https://blog.phalconhost.com/tag/frontend/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.phalconhost.com</link>
	<description>PhalconHost Blog</description>
	<lastBuildDate>Thu, 07 Mar 2019 15:21:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>LESS คืออะไร ใครยังเขียน CSS อยู่ต้องอัพเดตด่วน</title>
		<link>https://blog.phalconhost.com/less-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3-%e0%b9%83%e0%b8%84%e0%b8%a3%e0%b8%a2%e0%b8%b1%e0%b8%87%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99-css/</link>
					<comments>https://blog.phalconhost.com/less-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3-%e0%b9%83%e0%b8%84%e0%b8%a3%e0%b8%a2%e0%b8%b1%e0%b8%87%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99-css/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 14 Sep 2014 09:26:31 +0000</pubDate>
				<category><![CDATA[Website]]></category>
		<category><![CDATA[frontend]]></category>
		<category><![CDATA[less]]></category>
		<guid isPermaLink="false">http://www.phalconhost.com/blog/?p=136</guid>

					<description><![CDATA[<p>LESS คืออะไร มาแล้วรูปแบบการเขียน CSS แบบใหม่ ที่จะทำให้ชีวิต Frontend ง่ายขึ้นเยอะ หรือคนทำเว็บไซด์อย่างเราๆ ท่านๆนี่เอง LESS เป็นรูปแบบการเขียนโปรแกรมแบบหนึ่ง มีรูปแบบการเขียนคล้ายกับ CSS เลยทีเดียว แต่จะมีการประกาศตัวแปร มีฟังก์ชั่น มีการ บวก ลบ คูณ หาร มีการนำกลับมาใช้ใหม่ (reuse) ได้เหมือนเขียน OOP เลย เรียกการเขียนโปรแกรมแบบ LESS อีกอย่างหนึ่งว่า&#160;CSS pre-processor เรามาดูปัญหาในการเขียน CSS ก่อนว่าทำไม เราจะต้องเปลี่ยนไปเขียน LESS ด้วย เพราะถ้าไม่มีเหตุผลพอ คนที่เขียน CSS อยู่แล้วก็คงมีข้อกังขาว่า ทำไมต้อง LESS * เคยเจอไหม: ไม่รู้จะเขียน css อย่างไรดี เพื่อไปควบคุม HTML tag ต่างๆปัญหานี้ สำหรับมือเก๋าแล้ว อาจจะไม่มีปัญหา แค่มองโครงสร้าง [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.phalconhost.com/less-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3-%e0%b9%83%e0%b8%84%e0%b8%a3%e0%b8%a2%e0%b8%b1%e0%b8%87%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99-css/">LESS คืออะไร ใครยังเขียน CSS อยู่ต้องอัพเดตด่วน</a> appeared first on <a rel="nofollow" href="https://blog.phalconhost.com">PhalconHost Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><a href="http://www.phalconhost.com/blog/wp-content/uploads/2014/09/less.jpg"><img fetchpriority="high" decoding="async" width="1024" height="536" src="https://blog.phalconhost.com/wp-content/uploads/2014/09/19.cover_-1024x536.png" alt="" class="wp-image-708" srcset="https://blog.phalconhost.com/wp-content/uploads/2014/09/19.cover_-1024x536.png 1024w, https://blog.phalconhost.com/wp-content/uploads/2014/09/19.cover_-300x157.png 300w, https://blog.phalconhost.com/wp-content/uploads/2014/09/19.cover_-768x402.png 768w, https://blog.phalconhost.com/wp-content/uploads/2014/09/19.cover_.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p><br>LESS คืออะไร มาแล้วรูปแบบการเขียน CSS แบบใหม่ ที่จะทำให้ชีวิต Frontend ง่ายขึ้นเยอะ หรือคนทำเว็บไซด์อย่างเราๆ ท่านๆนี่เอง</p>



<p>LESS เป็นรูปแบบการเขียนโปรแกรมแบบหนึ่ง มีรูปแบบการเขียนคล้ายกับ CSS เลยทีเดียว แต่จะมีการประกาศตัวแปร มีฟังก์ชั่น มีการ บวก ลบ คูณ หาร มีการนำกลับมาใช้ใหม่ (reuse) ได้เหมือนเขียน OOP เลย เรียกการเขียนโปรแกรมแบบ LESS อีกอย่างหนึ่งว่า&nbsp;CSS pre-processor</p>



<span id="more-136"></span>



<p>เรามาดูปัญหาในการเขียน CSS ก่อนว่าทำไม เราจะต้องเปลี่ยนไปเขียน LESS ด้วย เพราะถ้าไม่มีเหตุผลพอ คนที่เขียน CSS อยู่แล้วก็คงมีข้อกังขาว่า ทำไมต้อง LESS</p>



<p><span style="text-decoration: underline;"><strong>* เคยเจอไหม: ไม่รู้จะเขียน css อย่างไรดี เพื่อไปควบคุม HTML tag ต่างๆ</strong></span><br>ปัญหานี้ สำหรับมือเก๋าแล้ว อาจจะไม่มีปัญหา แค่มองโครงสร้าง HTML แล้วรู้เลยว่า จะเขียน CSS อย่างไร เขียน &nbsp;class, id เพื่อควบคุม &nbsp;HTML เป็นเรื่องง่ายมาก</p>



<p>แต่มือใหม่อย่างผม ^^ เป็นอันต้องงง เพราะยิ่งเว็บไซด์ที่ใหญ่ๆ มีความซับซ้อน หรือต้องเขียน Responsive Website เป็นอันว่างานเข้า ต้องนั่งเทียนกันล่ะว่า จะเขียน css ยังไง เขียนแล้วมาคิดว่า มันจะใช้งานได้หรือเปล่า คนอื่นเค้าเขียนอย่างนี้ไหม และอื่นๆอีกมากมาย</p>



<p>สุดท้าย ก็เขียนแบบพอผ่านๆ ไป ผลลัพธ์คือ css ชนกันกระจาย บ้างก็ซ้ำซ้อน บ้างก็แก้ไขยาก บ้างก็หน้าเว็บไซด์พังไปเลยก็มี แก้ส่วนนี้ กระทบอีกส่วน ยังไม่นับรวมต้องรองรับ IE 7,8,9,10 อื่นๆ (IE พ่อทุกสถาบันจริงๆ)</p>



<p>แต่ถ้าเรามาเขียน LESS ปัญหาเหล่านี้จะหมดไป หรือช่วยให้ปัญหาเหล่านี้ แก้ไขไปได้เยอะ เพราะสิ่งที่ &nbsp;LESS สร้างมานั้น ถึงแม้ว่าใครไม่ค่อยมีความรู้เรื่อง CSS ก็เขียนได้ ยกตัวอย่าง มี &nbsp;HTML แบบนี้</p>



<pre class="wp-block-preformatted"><pre class="brush: xml; title: ; notranslate">
&amp;amp;lt;div id=&quot;page&quot;&amp;amp;gt;
	&amp;amp;lt;ul&amp;amp;gt;
		&amp;amp;lt;li class=&quot;active&quot;&amp;amp;gt;link 1&amp;amp;lt;/li&amp;amp;gt;
	&amp;amp;lt;/ul&amp;amp;gt;
	&amp;amp;lt;ul&amp;amp;gt;
	 	&amp;amp;lt;li&amp;amp;gt;link 2&amp;amp;lt;/li&amp;amp;gt;
	&amp;amp;lt;/ul&amp;amp;gt;
&amp;amp;lt;/div&amp;amp;gt;
</pre></pre>



<p>เราจะเขียน LESS ได้ดังนี้</p>



<pre class="wp-block-preformatted"><pre class="brush: css; title: ; notranslate">
#page {
    padding: 10px;
    text-align: center;
    ul {
        margin: 4px;
        font-size: 14px;
        li {
            color: #ffcc00;
		&amp;amp;amp;.active {
                background-color: ccc;
                padding: 5px;
            }
        }
    }
}
</pre></pre>



<p><br>ถ้าสังเกตให้ดี เราไม่ต้องจำว่า เราต้องเขียนอะไรยังไง เพียงแค่เอาชื่อ html tag มาวางซ้อน เหมือนกับที่เขียน HTML tag เลย และใส่ attribute ของ css เข้าไปเฉยๆ</p>



<p>ถ้าง่ายคือ ไม่ว่าเราจะเพิ่ม HTML tag เยอะขนาดไหน LESS ก็เขียนเหมือน HTML tag เลย เมื่อต้องการแก้ไขต่อเติมก็ง่ายมากๆ ไล่ดูตาม HTML tag เท่านั้นพอ</p>



<p>และไม่มีการเขียนซ้ำซ้อน CSS ของเราจะถูกเขียนขึ้นโดยใช้เท่าที่จำเป็น ส่วนไหนที่ไม่จำเป็นเราสามารถตัดทิ้งได้เลย</p>



<p>ลองคิดดูว่า ถ้าเว็บไซด์ที่ใหญ่ๆ HTML &nbsp;เป็นหลายร้อย หรือเป็นพันบรรทัด การเขียน CSS เพิ่มคุม HTML tag จะสนุกขนาดไหน เราแทบไม่รู้เลยว่า เราเขียน tag นี้ไว้ที่ไหน เราเคยเขียนไว้แล้วหรือเปล่า สุดท้ายถ้าใช้การเขียน CSS แบบเดิมๆ คือ เขียนของใหม่ต่อไปเรื่อยๆ ถ้าเขียนซ้ำซ้อนกัน วิธีการแก้ปัญหาคือ !important ซึ่งเป็นแค่การแก้ปัญหาที่ปลายเหตุเท่านั้น</p>



<p>สรุป นี้คือรูปแบบใหม่ในการเขียน CSS ด้วย LESS ถ้าใครยังไม่ลองเขียน ก็ต้องเปลี่ยนมาเขียน LESS แล้วนะครับ บทความต่อๆ ไปจะพูดถึงวิธี compile LESS และการนำไปประยุกต์ใช้งาน 🙂</p>



<p>เว็บไซด์หลัก;&nbsp;<a href="http://www.lesscss.org">http://www.lesscss.org</a></p>
<p>The post <a rel="nofollow" href="https://blog.phalconhost.com/less-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3-%e0%b9%83%e0%b8%84%e0%b8%a3%e0%b8%a2%e0%b8%b1%e0%b8%87%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99-css/">LESS คืออะไร ใครยังเขียน CSS อยู่ต้องอัพเดตด่วน</a> appeared first on <a rel="nofollow" href="https://blog.phalconhost.com">PhalconHost Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.phalconhost.com/less-%e0%b8%84%e0%b8%b7%e0%b8%ad%e0%b8%ad%e0%b8%b0%e0%b9%84%e0%b8%a3-%e0%b9%83%e0%b8%84%e0%b8%a3%e0%b8%a2%e0%b8%b1%e0%b8%87%e0%b9%80%e0%b8%82%e0%b8%b5%e0%b8%a2%e0%b8%99-css/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		
		<media:thumbnail url="https://blog.phalconhost.com/wp-content/uploads/2014/09/19.cover_-150x150.png" />
		<media:content url="https://blog.phalconhost.com/wp-content/uploads/2014/09/19.cover_.png" medium="image">
			<media:title type="html">19.cover</media:title>
			<media:thumbnail url="https://blog.phalconhost.com/wp-content/uploads/2014/09/19.cover_-150x150.png" />
		</media:content>
	</item>
	</channel>
</rss>
