<?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>css Archives &#8212; Stampede: the strategic design &amp; technology company</title>
	<atom:link href="https://stampede-design.com/blog/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>https://stampede-design.com/blog/tag/css/</link>
	<description>We are creating better worlds though thoughtful design and technology. Connect with us!</description>
	<lastBuildDate>Tue, 07 Apr 2026 09:08:12 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://stampede-design.com/wp-content/uploads/2024/02/cropped-Stampede-Favicon-old-32x32.png</url>
	<title>css Archives &#8212; Stampede: the strategic design &amp; technology company</title>
	<link>https://stampede-design.com/blog/tag/css/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>CSS Sprite Technique</title>
		<link>https://stampede-design.com/blog/css-sprite-technique/</link>
					<comments>https://stampede-design.com/blog/css-sprite-technique/#comments</comments>
		
		<dc:creator><![CDATA[Sani Halid]]></dc:creator>
		<pubDate>Mon, 13 Jan 2014 10:22:31 +0000</pubDate>
				<category><![CDATA[Field Notes]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[front-end development]]></category>
		<category><![CDATA[sprites]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://stampede-design.com/blog/?p=4647</guid>

					<description><![CDATA[<p>Learning new things and sharing what he has learned have always been exciting to Sani. Here he will show you how to produce CSS sliding door technique in his first ever tutorial in the blog.</p>
<p>The post <a href="https://stampede-design.com/blog/css-sprite-technique/">CSS Sprite Technique</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="lead">Hello, Sani here. In my first ever tutorial post I am going to show you how to produce a CSS sprite technique.</p>
<h2>What is this CSS sprite technique &amp; why?</h2>
<p>CSS sprite, as interesting as it is called, is also an interesting CSS method itself. This approach involves changing an image to another different image, or the same image but different colour scape (greyscale, sephia etc.) upon hover.</p>
<p>The advantage of using the using css sprite technique is that the web page will automatically load all images at once, instead of one by one. This will speed up the loading time and there will be not much delay for users with slow Internet connection.</p>
<h2>But how?</h2>
<p>When we hover on the block, the background image will change smoothly to second image. If we use separate image for hover effect it will take time for website to load that image from server thus, will create ± 1 second empty space on hover. This will be a problem for user with slow internet connection.</p>
<h2>Interesting. Show me how.</h2>
<p>Here we go. Take a seat.</p>
<p>First of all, get any images or sprite to start. I would suggest an image with transparent background. In this tutorial I am going to use <a href="http://www.36peas.com/blog/2010/9/13/free-japanese-ninja-shinobi-sprite-sheet.html" target="_blank">this Ninja Sprite from 36peas</a>. Choose any two images &#8211; one for normal state and another for hover. Save them on some canvas by side or top and bottom.</p>
<p>Before we start, it&#8217;s a good idea to show some simple css background code.</p>
<div class="full"><img decoding="async" class="alignnone size-full wp-image-4662" src="https://stampede-design.com/wp-content/uploads/2018/02/css-background-value.jpg" alt="css background value" /></div>
<p>Single line css background code in correct order would be:</p>
<pre class="brush: xml; title: ; notranslate">background: color position size repeat origin clip attachment image;</pre>
<div class="full"><img decoding="async" class="alignnone size-full wp-image-4669" src="https://stampede-design.com/wp-content/uploads/2018/02/ninja-sprite.jpg" alt="ninja sprite" /></div>
<p>In this image, each ninja will have <strong>width:227px</strong> and <strong>height:298px.</strong></p>
<p>Total width for both ninjas in one canvas would be <strong>width:454px</strong> and <strong>height:298px.</strong></p>
<p>In this tutorial we will only need a combination of three css background codes. Width and height set will just be for one image.</p>
<p>On hover, just change position of the image. Background image in this tutorial I put straight to image file. So the code should be like this:</p>
<p>Normal state:</p>
<pre class="brush: xml; title: ; notranslate">display:block;
height:297px;
width:227px;
background-position:0 0;
background-repeat:no-repeat;
background-image:url('ninja.
png');</pre>
<p>Hover state:</p>
<pre class="brush: xml; title: ; notranslate">background-position:-227px 0;</pre>
<p>Normal state in shortcut css:</p>
<pre class="brush: xml; title: ; notranslate">
display:block;
height:297px;
width:227px;
background:0 0 no-repeat url('ninja.png');</pre>
<p>Hover state in shortcut background css:</p>
<pre class="brush: xml; title: ; notranslate">background:-227px 0 no-repeat url('ninja.png');</pre>
<p>or</p>
<pre class="brush: xml; title: ; notranslate">background-position:-227px 0;</pre>
<p>If you would like to see how it looks like, you may view the demo links here:</p>
<ul>
<li><a href="http://jsfiddle.net/metalbesi/3YZWr/" target="_blank">normal/regular method</a></li>
<li><a href="http://jsfiddle.net/metalbesi/5sm6m/" target="_blank">shortcut background css</a></li>
</ul>
<p>Correct syntax for shortcut background css :</p>
<pre class="brush: xml; title: ; notranslate">background: color position size repeat origin clip attachment image;</pre>
<p>For background-position, always remember all browser read css background position code from x-axis to y-axis. In these examples:</p>
<ul>
<li>background-position:(x-axis)px (y-axis)px;</li>
<li>background-repeat: By default, all browser will use value &#8216;repeat&#8217;. To make it one image simply put &#8216;no-repeat&#8217;.</li>
</ul>
<p>There are some bits of notes about background-image: &#8211; back during my first time doing css background, it was a bit confusing to do relative path if the file images are in different folder.</p>
<p>Here are some examples to show what I meant:</p>
<div class="full"><img decoding="async" width="206" height="176" class="alignnone size-full wp-image-4676" src="https://stampede-design.com/wp-content/uploads/2014/01/Screenshot-on-1.3.2014-at-11.32.24-PM.png" alt="location-html-file" /></div>
<p>The location for the html file.</p>
<div class="full"><img decoding="async" width="230" height="188" class="alignnone size-full wp-image-4677" src="https://stampede-design.com/wp-content/uploads/2014/01/Screenshot-on-1.3.2014-at-11.32.39-PM.png" alt="Screenshot on 1.3.2014 at 11.32.39 PM" /></div>
<p>The location for images and CSS folder.</p>
<div class="full"><img fetchpriority="high" decoding="async" width="285" height="229" class="alignnone size-full wp-image-4678" src="https://stampede-design.com/wp-content/uploads/2014/01/Screenshot-on-1.3.2014-at-11.34.29-PM.png" alt="Screenshot on 1.3.2014 at 11.34.29 PM" /></div>
<p>The location for the image file.</p>
<p>By default, the browser will find image in same folder where we save the CSS file. The solution for this problem would be that we have to jump outside the CSS folder by typing  &#8216; ../ &#8216; which means going back to one folder:</p>
<div class="full"><img decoding="async" width="230" height="188" class="alignnone size-full wp-image-4677" src="https://stampede-design.com/wp-content/uploads/2014/01/Screenshot-on-1.3.2014-at-11.32.39-PM.png" alt="Screenshot on 1.3.2014 at 11.32.39 PM" /></div>
<p>Here is an example based on my local html and css folder.</p>
<div class="full"><img fetchpriority="high" decoding="async" width="285" height="229" class="alignnone size-full wp-image-4678" src="https://stampede-design.com/wp-content/uploads/2014/01/Screenshot-on-1.3.2014-at-11.34.29-PM.png" alt="Screenshot on 1.3.2014 at 11.34.29 PM" /></div>
<pre class="brush: xml; title: ; notranslate">background-image:url('../art/ninja.png');</pre>
<p>Here are some links for you to play around:</p>
<ul>
<li><a href="http://www.w3schools.com/cssref/playit.asp?filename=playcss_background-position&amp;preval=10px%20200px" target="_blank">background-position:</a></li>
<li><a href="http://www.w3schools.com/cssref/pr_background-repeat.asp" target="_blank">background-repeat: </a></li>
<li><a href="http://www.w3schools.com/cssref/tryit.asp?filename=trycss3_background_multiple" target="_blank">background-image:</a></li>
</ul>
<h2>Awesome! I am going to try now!</h2>
<p>Yay! And if you do have some questions, suggestions or examples, do drop them links in the comment.</p>
<p>(Thanks <a href="http://www.w3schools.com/cssref/css3_pr_background.asp" target="_blank">W3C</a> for being my main point of references.)</p>
<p>The post <a href="https://stampede-design.com/blog/css-sprite-technique/">CSS Sprite Technique</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stampede-design.com/blog/css-sprite-technique/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Workaround for dropdown menu hover on mobile browsers</title>
		<link>https://stampede-design.com/blog/dropdown-menu-hover/</link>
					<comments>https://stampede-design.com/blog/dropdown-menu-hover/#comments</comments>
		
		<dc:creator><![CDATA[Shaiful Borhan]]></dc:creator>
		<pubDate>Mon, 26 Nov 2012 11:25:41 +0000</pubDate>
				<category><![CDATA[Field Notes]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dropdown menu]]></category>
		<category><![CDATA[front-end development]]></category>
		<category><![CDATA[mobile browser]]></category>
		<category><![CDATA[tutorial]]></category>
		<guid isPermaLink="false">https://stampede-design.com/blog/?p=3039</guid>

					<description><![CDATA[<p>Shaiful is back, this time with some tips on making dropdown menu hover interaction work on mobile browsers.</p>
<p>The post <a href="https://stampede-design.com/blog/dropdown-menu-hover/">Workaround for dropdown menu hover on mobile browsers</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="lead">In the world of web design and development, dropdown navigations or menus are a very common feature in pretty much any kinds of website because they are intuitive and not that difficult to code. However, they can be quite troublesome for users of touch-screen devices who cannot perform a proper hover interaction to expand the child panels of a dropdown navigation. </p>
<p>A simple tap (click) can be used to produce a hover effect. However, it won&#8217;t work properly on hyperlinks with URL. On some mobile browsers, hover can be emulated by a long touch on the hyperlink but this can also produce unwanted results such as opening a context menu or highlighting the text. </p>
<p>Consider this typical Suckerfish-style HTML structure:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul id=&quot;mainmenu&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;about.html&quot;&gt;About&lt;/a&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;a href=&quot;about.html&quot;&gt;Overview&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href=&quot;news.html&quot;&gt;News&lt;/a&gt;
				&lt;ul&gt;
					&lt;li&gt;&lt;a href=&quot;news.html&quot;&gt;Latest&lt;/a&gt;&lt;/li&gt;
					&lt;li&gt;&lt;a href=&quot;archive.html&quot;&gt;Archive&lt;/a&gt;&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;	
	&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p><a href="https://stampede-design.com/demo/shaiful/dropdown-mobile/" target="_blank">Here&#8217;s how it looks like.</a></p>
<p>Users using the touchscreen devices would not be able to access the sub-menus by a simple tap because both About and News has a URL that will simply redirect the page. </p>
<p>The workaround here is when a touch-screen browser is detected, we disable the URL in the hyperlinks dynamically via Javascript either by changing the location to &#8220;#&#8221; or by preventing the default action. Conveniently enough, the code for detecting touch-screen browsers can be borrowed from the awesome <a href="http://modernizr.com" target="_blank">Modernizr.js</a> library, in just three lines.</p>
<pre class="brush: jscript; title: ; notranslate">
function is_touch_device() {
  return !!('ontouchstart' in window);
}
</pre>
<p>What is left now is just to write the JS code that will go through the dropdown menu HTML and modify the &lt;a&gt; tag accordingly if it has a sub-menu. In jQuery, this can be written as follows:</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() { 
	
	/* If mobile browser, prevent click on parent nav item from redirecting to URL */
	if(is_touch_device()) {	

		$('#mainmenu li &gt; ul').each(function (index, elem) {
			/* Option 1: Use this to modify the href on the &lt;a&gt; to # */
			$(elem).prev('a').attr('href' ,'#');	
			
			/* OR Option 2: Use this to keep the href on the &lt;a&gt; intact but prevent the default action */
			$(elem).prev('a').click(function(event) {
  				event.preventDefault();
			});
		});
	}
	
});
</pre>
<p>If you have a dropdown menu with only one level of children, the code can be simplified further by modifying the jQuery selector and eliminating the &#8220;each&#8221; loop.</p>
<pre class="brush: jscript; title: ; notranslate">
$(document).ready(function() { 
 
	/* If mobile browser, prevent click on parent nav item from redirecting to URL */
	if(is_touch_device()) {	
		/* Option 1: Use this to modify the href on the &lt;a&gt; to # */
		$('#mainmenu &gt; li &gt; a').attr('href' ,'#');		
		
		/* OR Option 2: Use this to keep the href on the &lt;a&gt; intact but prevent the default action */
		$('#mainmenu &gt; li &gt; a').click(function(event) {
			event.preventDefault();
		});
	}
	
});
</pre>
<p>The choice of using between Option 1 and Option 2 depends entirely on your application. If for instance you have additional JS events or interactions attached to the &lt;a&gt; tag of the dropdown menu, Option 2 might be useless because event.preventDefault(); might prevent those interactions from happening.</p>
<p><a href="https://stampede-design.com/demo/shaiful/dropdown-mobile/" target="_blank">Click here to view the demo.</a></p>
<p>As always, I am happy to hear any other methods you might have out there to make hover interaction less miserable for touch screen users. Have a nice day!</p>
<p>The post <a href="https://stampede-design.com/blog/dropdown-menu-hover/">Workaround for dropdown menu hover on mobile browsers</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stampede-design.com/blog/dropdown-menu-hover/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
		<item>
		<title>Get Rid of Unwanted Space Below </title>
		<link>https://stampede-design.com/blog/get-rid-of-unwanted-space-below-img/</link>
					<comments>https://stampede-design.com/blog/get-rid-of-unwanted-space-below-img/#respond</comments>
		
		<dc:creator><![CDATA[Syazwan Hakim]]></dc:creator>
		<pubDate>Tue, 29 May 2012 20:08:19 +0000</pubDate>
				<category><![CDATA[Field Notes]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[front-end development]]></category>
		<category><![CDATA[img tag]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://stampede-design.com/blog/?p=2169</guid>

					<description><![CDATA[<p>Got an unexplained and unwanted space below &#60;img&#62;? Fret not - Syazwan is back to share a handy tip.</p>
<p>The post <a href="https://stampede-design.com/blog/get-rid-of-unwanted-space-below-img/">Get Rid of Unwanted Space Below &lt;img&gt;</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="full"><img decoding="async" src="https://stampede-design.com/wp-content/uploads/2012/05/get-rid-of.jpg" alt="" title="get-rid-of" width="480" height="" /><p class="capt_block">Unwanted space below &lt;img&gt;</p></div>
<p class="lead">Image above shows the correct styling (Left Side) and unwanted space below &lt;img&gt; (RightSide).</p>
<h2>HTML Code</h2>
<pre class="brush: php; title: ; notranslate">
&lt;a class=&quot;link&quot; href=&quot;#&quot;&gt;
    &lt;img src=&quot;your image path&quot; alt=&quot;Image&quot; /&gt;
&lt;/a&gt;
</pre>
<h2>Style</h2>
<pre class="brush: php; title: ; notranslate">
.link {
border:1px solid red
}
</pre>
<h2>Why Does It Happen?</h2>
<p>Well, for my case, &#8220;line-height&#8221; property is the culprit. I often assign &#8220;line-height:normal;&#8221; to &lt;body&gt; so, I&#8217;ll never miss any line-height. However, it will also cause the unwanted empty space below &lt;img&gt;</p>
<h2>How to fix it?</h2>
<p>Change &#8220;line-height&#8221; value to 0 for &lt;a&gt; tag.</p>
<pre class="brush: php; title: ; notranslate">
.link {
border:1px solid red;
line-height:0
}
</pre>
<p>The post <a href="https://stampede-design.com/blog/get-rid-of-unwanted-space-below-img/">Get Rid of Unwanted Space Below &lt;img&gt;</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stampede-design.com/blog/get-rid-of-unwanted-space-below-img/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dropdown Menu Hiding Behind &#060;iframe&#062;</title>
		<link>https://stampede-design.com/blog/dropdown-menu-hidden-behind-iframe/</link>
					<comments>https://stampede-design.com/blog/dropdown-menu-hidden-behind-iframe/#comments</comments>
		
		<dc:creator><![CDATA[Syazwan Hakim]]></dc:creator>
		<pubDate>Thu, 09 Jun 2011 17:32:31 +0000</pubDate>
				<category><![CDATA[Field Notes]]></category>
		<category><![CDATA[browser fix]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dropdown]]></category>
		<category><![CDATA[front-end development]]></category>
		<category><![CDATA[iframe]]></category>
		<guid isPermaLink="false">https://stampede-design.com/blog/?p=1185</guid>

					<description><![CDATA[<p>Chances are many who work with HTML and CSS came across this peculiarity of dropdown navigation stubbornly hiding itself behind an &#60;iframe&#62; element. Syazwan shares the workaround that might just save you hours of hair pullings.</p>
<p>The post <a href="https://stampede-design.com/blog/dropdown-menu-hidden-behind-iframe/">Dropdown Menu Hiding Behind &lt;iframe&gt;</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="lead">Have you ever been caught by a dropdown navigation that stubbornly hides itself?  Well, I found that while it normally works fine with Firefox, this problem usually occurs in Chrome and IE browser.</p>
<div class="full"><img loading="lazy" decoding="async" width="457" height="121" src="https://stampede-design.com/wp-content/uploads/2011/06/hidden-dropdown.jpg" alt="hidden dropdown" class="size-full wp-image-1186" srcset="https://stampede-design.com/wp-content/uploads/2011/06/hidden-dropdown.jpg 457w, https://stampede-design.com/wp-content/uploads/2011/06/hidden-dropdown-300x79.jpg 300w" sizes="(max-width: 457px) 100vw, 457px" /><p class="capt_block">Dropdown menu comparison</p></div>
<p>As you can see in the image above, the dropdown on the left works while the one on the right is hidden behind &lt;iframe&gt;. The first thing that came into my mind when this problem occur is the z-index property. But after some debugging, I found that it has nothing to do with z-index since the error does not occur when I changed &lt;iframe&gt; to &lt;img&gt; element.</p>
<h2>Is This Related to CSS?</h2>
<p>The answer is no. So, how to fix? I am using a video embedding code from YouTube as example.</p>
<pre class="brush: php; title: ; notranslate">

&lt;iframe width=&quot;560&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/rLVCjnEGrqQ&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;

</pre>
<p>To fix the hidden dropdown issue, what you need is just a simple wmode=transparent code.</p>
<h2>What Is WMODE?</h2>
<p>WMODE is the Window Mode setting for Flash/SWF. Its possible values are &#8220;window&#8221;, &#8220;opaque&#8221; or &#8220;transparent&#8221;. </p>
<ul>
<li>wmode=transparent: sets the Flash/SWF background to be transparent. This allows the background color or image of the content page behind to show through. This is required for overlay (such as jQuery Overlay) contents to show the Flash/SWF.</li>
<li>wmode=opaque: hides everything on the page behind Flash.</li>
<li>wmode=window: plays in its own rectangular window on a web page</li>
</ul>
<h2>How Do I Use WMODE?</h2>
<p>What you need to do is simply add the &#8220;?wmode=transparent&#8221; at the end of src parameter and &#8220;wmode=transparent&#8221; at the end of &lt;iframe&gt;</p>
<pre class="brush: php; title: ; notranslate">

&lt;iframe width=&quot;560&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/rLVCjnEGrqQ?wmode=transparent&quot; frameborder=&quot;0&quot; allowfullscreen wmode=&quot;transparent&quot;&gt;&lt;/iframe&gt;

</pre>
<p>Hope this helps!</p>
<p>The post <a href="https://stampede-design.com/blog/dropdown-menu-hidden-behind-iframe/">Dropdown Menu Hiding Behind &lt;iframe&gt;</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stampede-design.com/blog/dropdown-menu-hidden-behind-iframe/feed/</wfw:commentRss>
			<slash:comments>83</slash:comments>
		
		
			</item>
		<item>
		<title>Book Review: Handcrafted CSS</title>
		<link>https://stampede-design.com/blog/handcrafted-css-by-dan-cederholm/</link>
					<comments>https://stampede-design.com/blog/handcrafted-css-by-dan-cederholm/#respond</comments>
		
		<dc:creator><![CDATA[Syazwan Hakim]]></dc:creator>
		<pubDate>Sat, 27 Nov 2010 10:15:53 +0000</pubDate>
				<category><![CDATA[Field Notes]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Handcrafted CSS]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[resources]]></category>
		<guid isPermaLink="false">https://stampede-design.com/blog/?p=755</guid>

					<description><![CDATA[<p>Stampede has recently adopted the Great Book Reward policy for our wonderful team and we have chosen Handcrafted CSS as Syazwan's first book reward - and he describes it as "one awesome book for the intermediate web developer".</p>
<p>The post <a href="https://stampede-design.com/blog/handcrafted-css-by-dan-cederholm/">Book Review: Handcrafted CSS</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="lead">Handcrafted CSS by Dan Cederholm and Ethan Marcotte is one awesome book for the intermediate web developer. This book focuses on how to develop bulletproof web design (also another <a href="http://www.amazon.com/Bulletproof-Web-Design-flexibility-protecting/dp/0321509021/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1290852850&amp;sr=1-1" target="_blank">amazing title</a> by Dan Cederholm) but doing it far better by using CSS3.</p>
<div class="full"><img decoding="async" class="alignnone size-full wp-image-6122" src="https://stampede-design.com/wp-content/uploads/2018/02/handcrafted-css.jpg" alt="Handcrafted CSS" /><p class="capt_block">Handcrafted CSS</p></div>
<p>Dan wrote everything inside this book based on CSS3 though it can easily merge with CSS5 in the future. He also covers ways to enriching web design using uncommon CSS3 properties and most importantly, how to render high-degree of style-consistency on every browser including IE6. In other words, Handcrafted CSS provides several ways to write CSS towards the same end result. There are 7 chapters in total, all covering CSS3 markups commonly used during web development with accompanying images for better details.</p>
<p>Chapter 1 covers a variety of styling the list element, particularly the &lt;ul&gt; element. Really simple modifications like font size adjustment, longer menu, floating, hovering treatment and positioning can lead to better, more usable listing style. This chapter also includes notes on how to change links into table and vice-versa.</p>
<p>Chapter 2 is all about &#8220;Rounded Corners&#8221;, deservedly so. It explains the handy property of border-radius on WebKit family browser (e.g Firefox and Safari). This method solves the problem of using of four  extra &lt;div&gt; through the use of only one flexible rounded-corner box. With border-radius property, we can easily style flexible rounded input box &#8211; a frequent nightmare for many web developers. For me, I&#8217;m juts happy this method won&#8217;t screw other element and doesn&#8217;t require anything else besides CSS. The only downside is that it doesn&#8217;t work on IE7 and IE6, where all those sexy rounded corners and only shown as square, uninteresting boxes. I&#8217;ve also learned that twitter uses border-radius method.</p>
<p>RGBA is the main focus in Chapter 3. RGB stands for Red Green Blue &#8211; the color model that you can combine to create multitude hues &#8211; while RGBA stands for Red Green Blue and Alpha. This chapter will explain why there is an &#8220;alpha&#8221; value in RGB. In this chapter, Dan also show us how how to optimize color usage using CSS.</p>
<p>Chapter 4 covers text-shadow and box-shadow properties, again stuffs that are widely use by developers around the globe. Similar to &#8220;border-radius&#8221;, it eliminates the need to use any background image for the drop shadow effect. This means user can now easily change text and elements with drop-shadow on the fly.</p>
<p>Chapter 5 combines floating, stylesheet grouping, css framework and css reset. There are ways to tackle float, or known as &#8220;problem trigger&#8221;. The book suggests two solutions &#8211; clearing the float container and using single declaration for each element (will need long list css).  It also shows the ways to to quarantine IE hacks and patches into developer&#8217;s own stylesheet. This chapter also discusses the two most popular frameworks at present: Blueprint and 960 Grid System. They are different but aims for the same objective &#8211; to make developers&#8217; lives easier. The part about CSS reset covers essential things that you need to do to neutralize default css property values.</p>
<p>Chapter 6, The Fluid Grid is contributed by Ethan Marcotte and it elaborates more on the Grid System Framework. How to implement? What&#8217;s the problem expected to occur? Which browser doesn&#8217;t work? What is the solution? You&#8217;ll find pretty much everything about grid here.</p>
<p>Chapter 7 is dedicated to the details in web design craftsmanship. It discusses how typography can influence your design and gives valuable examples on how to make things more exciting for flash-like sliding animation using jQuery. Shifting backgrounds, collapsing/hiding image and the use of sliding bars are all new ways to sizzle up your web presence.</p>
<p>All in all, I have thoroughly enjoyed Handcrafted CSS. If you&#8217;re a front-end web developer or designer looking to harness CSS3 in your work, this book is a great start for you.</p>
<div class="full"><img decoding="async" class="lft" title="handcrafted-css-thumb" src="https://stampede-design.com/wp-content/uploads/2010/11/handcrafted-css-thumb.jpg" alt="handcrafted-css-thumb" /></div>
<p><a href="http://www.handcraftedcss.com" target="_blank">Handcrafted CSS: More Bulletproof Web Design</a><br />By Dan Cederholm and Ethan Marcotte.</p>
<p>The post <a href="https://stampede-design.com/blog/handcrafted-css-by-dan-cederholm/">Book Review: Handcrafted CSS</a> appeared first on <a href="https://stampede-design.com">Stampede: the strategic design &amp; technology company</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://stampede-design.com/blog/handcrafted-css-by-dan-cederholm/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
