<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Dennis Plucinik's Web Design Blog</title>
	
	<link>http://www.dennisplucinik.com/blog</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Thu, 03 May 2012 14:13:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SocialNetworkingEcommerceWebDesignDevelopment" /><feedburner:info uri="socialnetworkingecommercewebdesigndevelopment" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Learning Web Design: Adding Structure with CSS using Positioning, Floating, &amp; Clearing</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/A4VZHcwFtBU/</link>
		<comments>http://www.dennisplucinik.com/blog/2012/04/30/learning-web-design-adding-structure-with-css-using-positioning-floating-clearing/#comments</comments>
		<pubDate>Tue, 01 May 2012 03:34:20 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Learning Web Design Series]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=1293</guid>
		<description><![CDATA[Positioning, Floating, and Clearing are three fundamental pieces you need in order to add visual structure to your site. This is the second post of a two part series discussing how to add structure to your site with CSS. The &#8230; <a href="http://www.dennisplucinik.com/blog/2012/04/30/learning-web-design-adding-structure-with-css-using-positioning-floating-clearing/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Positioning, Floating, and Clearing are three fundamental pieces you need in order to add visual structure to your site. This is the second post of a two part series discussing how to add structure to your site with CSS. The first post can be found <a href="http://www.dennisplucinik.com/blog/2012/03/28/learning-web-design-adding-structure-with-css">here</a>.</p>
<p><span id="more-1293"></span></p>
<h2><a name="positioning"></a>Positioning</h2>
<h3>Default Positioning</h3>
<p>By default every element is set to <code>position: static;</code>. In CSS-land this stupidly means your element <em>hasn't</em> been positioned. Maybe it's better to think of it as meaning that you just haven't applied a non-default position yet. Why is that important? - because your element <em>needs</em> to be positioned to do almost anything important with it (e.g., adding width, height, or moving left, right, up, or down).</p>
<p style="text-align:center">
<img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2012/03/position-default.jpg" alt="CSS Position: static (default)" title="CSS Position: static (default)" width="315" height="237" class="size-full wp-image-1298" />
</p>
<p>Note: The only position values we'll deal with are <code>relative &#038; absolute</code>. This should make it easy to remember. You can check out the other possible values <a href="http://www.w3schools.com/css/css_positioning.asp">here</a>.</p>
<h3>Relative vs. Absolute Positioning</h3>
<p>Here are three rules to remember with positioning:</p>
<ol>
<li>"relative" means "relative to where the element lies naturally in the document flow"</li>
<li>"absolute" means any CSS values given to top, right, bottom, &#038; left will be made "from the bounds of the <em>closest positioned parent</em></li>
<li>setting <code>position: absolute</code> removes the element from the document flow causing subsequent content to take its place.</a>
</ol>
<p>Once you've applied a relative or absolute position value, you can begin moving it around using the CSS <code>top, left, right, &#038; bottom</code>.</p>
<p style="text-align: center;padding:0">
<img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2012/03/position-relative.jpg" alt="CSS Position: relative" title="CSS Position: relative" width="315" height="237" class="size-full wp-image-1299" /><img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2012/03/position-absolute.jpg" alt="CSS Position: absolute" title="CSS Position: absolute" width="315" height="237" class="size-full wp-image-1300" />
</p>
<p>In the left example applying a relative position, with top &#038; left offset values causes it to move 20px from the top and from the right of its natural position (without breaking the layout of surrounding elements).</p>
<p>In the right example applying an absolute position causes <code>img #3</code> to move in to the left taking the place of <code>img #2</code> which is now positioned 20px from the top and left of the <em>closest positioned parent</em> (which we're assuming is either a relatively positioned <code>div</code> or the <code>body</code>).</p>
<p>If you're still having trouble with this concept, I found a pretty good tutorial here: <a href="http://www.barelyfitz.com/screencast/html-training/css/positioning/">Learn CSS Positioning in Ten Steps</a>.</p>
<h2><a name="floating"></a>Floating</h2>
<p>The idea of floating is directly related to an element's display value (i.e., inline or block). Block level elements (e.g., div, p, ul, li) naturally occupy 100% of the width in the document flow. </p>
<style>
div.block_example ul { list-style: none; }
div.block_example li { border: 1px solid red; }
</style>
<p>CSS:</p>
<pre><code class="prettyprint lang-css linenums">div.block_example ul { list-style: none; }
div.block_example li { border: 1px solid red; }
</code>
</pre>
<p>HTML:</p>
<pre><code class="prettyprint lang-html linenums">&lt;div class="block_example"&gt;
  &lt;ul&gt;
    &lt;li&gt;item 1 isn't floated&lt;/li&gt;
    &lt;li&gt;item 2 isn't floated&lt;/li&gt;
    &lt;li&gt;item 3 isn't floated&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
</code>
</pre>
<p>Example:</p>
<div class="block_example">
<ul>
<li>item 1 isn't floated</li>
<li>item 2 isn't floated</li>
<li>item 3 isn't floated</li>
</ul>
</div>
<p>Conversely, inline elements only take up the width of the element (e.g., img, span). </p>
<style>
div.span_example { background: #ccc; }
div.span_example span { border: 1px solid red; }
</style>
<p>CSS:</p>
<pre><code class="prettyprint lang-css linenums">div.span_example { background: #ccc; }
div.span_example span { background: #aaa; }
</code>
</pre>
<p>HTML:</p>
<pre><code class="prettyprint lang-html linenums">&lt;div class="span_example"&gt;
  &lt;span&gt;this is a span&lt;/span&gt;
  &lt;span&gt;this is a span&lt;/span&gt;
  &lt;span&gt;this is a span&lt;/span&gt;
&lt;/div&gt;
</code>
</pre>
<p>Example:</p>
<div class="span_example">
<span>this is a span</span><span>this is a span</span><span>this is a span</span><span>this is a span</span></p>
</div>
<p>Floating a block element basically forces it to shrink back to only the width it needs. The "width it needs" depends on either an explicit width set or the width of its contents. Floating also causes the following elements to wrap around the floated element, causing them to appear as if they were inline. Here is the list item example above with each item floated left.</p>
<style>
.float_left { float: left; }
</style>
<p>CSS:</p>
<pre><code class="prettyprint lang-css linenums">.float_left { float: left; }
</code>
</pre>
<p>HTML:</p>
<pre><code class="prettyprint lang-html linenums">&lt;div class="block_example"&gt;
  &lt;ul&gt;
    &lt;li class="float_left"&gt;item 1 is floated left&lt;/li&gt;
    &lt;li class="float_left"&gt;item 2 is floated left&lt;/li&gt;
    &lt;li class="float_left"&gt;item 3 is floated left&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
</code>
</pre>
<p>Example:</p>
<div class="block_example">
<ul>
<li class="float_left">item 1 is floated left</li>
<li class="float_left">item 2 is floated left</li>
<li class="float_left">item 3 is floated left</li>
</ul>
</div>
<p>The options for the float property are left, right, none (default), &#038; inherit. Floating an item to the right simply aligns the floated element to the right-most boundary of its containing element.</p>
<style>
.float_right { float: right; }
</style>
<p>CSS:</p>
<pre><code class="prettyprint lang-css linenums">.float_right { float: right; }
</code>
</pre>
<p>HTML:</p>
<pre><code class="prettyprint lang-html linenums">&lt;div class="block_example"&gt;
  &lt;ul&gt;
    &lt;li class="float_right"&gt;item 1 is floated right&lt;/li&gt;
    &lt;li class="float_right"&gt;item 2 is floated right&lt;/li&gt;
    &lt;li class="float_right"&gt;item 3 is floated right&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
</code>
</pre>
<p>Example:</p>
<div class="block_example">
<ul>
<li class="float_right">item 1 is floated right</li>
<li class="float_right">item 2 is floated right</li>
<li class="float_right">item 3 is floated right</li>
</ul>
</div>
<h2><a name="clearing"></a>Clearing</h2>
<p>"Elements after the floating element will flow around it. To avoid this, use the clear property." - <a href="http://www.w3schools.com/css/css_float.asp">http://www.w3schools.com/css/css_float.asp</a></p>
<p>Think of clearing as a way to "break out of the float". Clearing allows an element to avoid the wrap-around caused by a floated element before it.</p>
<p>Here is the floated list-item example with one cleared element.</p>
<style>
.float_left { float: left; }
.clear_left { clear: left; }
</style>
<p>CSS:</p>
<pre><code class="prettyprint lang-css linenums">.float_left { float: left; }
.clear_left { clear: left; }
</code>
</pre>
<p>HTML:</p>
<pre><code class="prettyprint lang-html linenums">&lt;div class="block_example"&gt;
  &lt;ul&gt;
    &lt;li class="float_left"&gt;item 1 is floated left&lt;/li&gt;
    &lt;li class="float_left"&gt;item 2 is floated left&lt;/li&gt;
    &lt;li class="float_left clear_left"&gt;item 3 is floated left&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
</code>
</pre>
<p>Example:</p>
<div class="block_example">
<ul>
<li class="float_left">item 1 is floated left</li>
<li class="float_left">item 2 is floated left</li>
<li class="float_left clear_left">item 3 is floated left and cleared left</li>
</ul>
</div>
<p>The options for the clear property are left, right, both, none (default), &#038; inherit.</p>
<p>The concept of clearing either left or right means specifically that an element set to clear left will get rendered on a new line after any items before it that are set to float left. Conversely, an element set to clear right will get rendered on a new line after any items before it that are set to float right. You may have guessed that an element set to clear both will get rendered on a new line after elements that are floated either left or right. See the illustration below for an example.</p>
<div id="attachment_1380" class="wp-caption alignnone" style="width: 640px"><img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2012/04/CSS-Clear-Both.gif" alt="CSS Clear Both" title="CSS-Clear-Both" width="630" height="400" class="size-full wp-image-1380" /><p class="wp-caption-text">CSS Clear Both</p></div>
<h2>In Closing</h2>
<p>Understanding these three concepts of positioning, floating, and clearing is essential for applying structure to your website. You can find additional resources on a presentation I made for my Web Design 1 class at Parsons - <a href="http://dennisplucinik.github.com/Parsons/Slides/2012-03-30/">Adding Structure with CSS</a>.</p>
<p>If you have any more questions or need clarification on any of these concepts please let me know and I'll be happy to help.</p>
<p>Thanks for reading!</p>
<h3>Related Books</h3>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B006PIW4IM&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B002MV2Z4E&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B005ES0DWI&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B00457X7L8&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2012/04/30/learning-web-design-adding-structure-with-css-using-positioning-floating-clearing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2012/04/30/learning-web-design-adding-structure-with-css-using-positioning-floating-clearing/</feedburner:origLink></item>
		<item>
		<title>Learning Web Design: Adding Structure with CSS using Resets, Grid Frameworks, &amp; LESS CSS</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/7k9V2bhSTcY/</link>
		<comments>http://www.dennisplucinik.com/blog/2012/04/30/learning-web-design-adding-structure-with-css-using-resets-grid-frameworks-less-css/#comments</comments>
		<pubDate>Tue, 01 May 2012 03:34:03 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Learning Web Design Series]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=1279</guid>
		<description><![CDATA[You may have learned how to write rudimentary HTML, or even have come from a background of creating websites using tables, or neither. In any case, you're at the point where you need to bring your site to life by &#8230; <a href="http://www.dennisplucinik.com/blog/2012/04/30/learning-web-design-adding-structure-with-css-using-resets-grid-frameworks-less-css/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>You may have learned how to write rudimentary HTML, or even have come from a background of creating websites using tables, or neither. In any case, you're at the point where you need to bring your site to life by giving it some structure. I will introduce several components of HTML &#038; CSS you'll need to know, and a few tricks as well. This is the first post of a two part series discussing how to add structure to your site with CSS. The second post can be found <a href="http://www.dennisplucinik.com/blog/2012/03/28/learning-web-design-adding-structure-with-css-part-2">here</a>.</p>
<p><span id="more-1279"></span></p>
<p>Before getting too excited about hand-coding up a storm, I want to point out a few best practices for lessening your workload. There are two things I would recommend doing. These are to 1) use a CSS reset, and 2) use a CSS framework. As I will soon elaborate on, a reset file removes default browser CSS styles, readying your canvas for pixel-perfect design. Additionally, a CSS framework will have already addressed a number of common needs in many websites. I will contrast and compare several of the available frameworks.</p>
<h2><a name="resets"></a>Resets</h2>
<p>If you are not already aware, each browser actually applies a whole bunch of default CSS to your HTML, even if you didn't write any CSS. This is why elements like <code>h1, h2, h3, h4, etc.</code> have different sizes. These are the default browser styles, and they are troublesome because they are different across browsers. </p>
<p>Imagine trying to create a pixel perfect design, but you can't rely on having consistent margins, padding, etc. This is the problem a CSS reset solves. A CSS reset is simply a CSS file which includes a collection of rules designed to remove all the default browser styles. Many reset files also provide additional helpful features like a .clearfix rule (which I will explain later).</p>
<p>I recommend using the <a href="http://necolas.github.com/normalize.css/">Normalize.css</a> file. It is the reset file included in the <a href="http://html5boilerplate.com/">HTML5 Boilerplate</a> which has become somewhat of a standard starting point for many developers.</p>
<p style="text-align: center">
<a href="http://necolas.github.com/normalize.css/">Normalize.css</a><br />
<a href="http://html5boilerplate.com/">HTML5 Boilerplate</a>
</p>
<p>All you need to do is click the 'Download' button on the home page, and copy/paste the text into a new file on your server. Make sure you include the file before any other styles to prevent <a href="http://www.dennisplucinik.com/blog/2012/02/13/learning-web-design-basic-css/#specificity">specificity</a> conflicts.</p>
<h2><a name="resetsFrameworksAndLESSCSS"></a>Grid Frameworks</h2>
<p>Frameworks are much more advanced than a simple reset file. Due to the overwhelming number of CSS frameworks available, it is likely you can find one that suits you. A couple of years ago, I drafted an article comparing the top 3 CSS frameworks since there were only a few notable ones at the time. Since then, the number of frameworks has exploded and especially so since the advent of the tablet era. Many frameworks now include support for responsive design and mobile friendly layouts (which I think is necessary). Also, note that when I say "framework" I mean "grid framework" meaning, one which assists with implementing grid-based designs.</p>
<p>I recently went through a round of reviewing available CSS frameworks to use on a new project and landed on one I hadn't used before: <a href="http://semantic.gs/">The Semantic Grid System</a>. This framework supported nearly all of our needs: fixed layouts, fluid layouts, max-width, nested columns, responsive design (there are examples for each of those on the site's home page). Also, it runs with SCSS (<a href="#lessCSS">see below</a>), which we had also chosen to use.</p>
<p>Other available grid frameworks:</p>
<p style="text-align: center">
<a href="http://semantic.gs/">The Semantic Grid System</a><br />
<a href="http://960.gs/">960.gs</a><br />
<a href="http://adapt.960.gs/">adapt.960.gs</a><br />
<a href="http://blueprintcss.org/">Blueprint</a><br />
<a href="http://goldengridsystem.com/">Golden Grid System</a>
</p>
<h2><a name="lessCSS"></a>LESS CSS</h2>
<p><a href="http://lesscss.org/">LESS CSS</a> is JavaScript utility that allows you to write more concise CSS. A simple example will suffice as a convincing reason to use it.</p>
<pre><code class="prettyprint linenums lang-css">#container {
  color: red;
}

#container.left .content {
  text-align: left;
}

#container.right .content {
  text-align: right;
}

#container .content span {
  padding: 10px;
}

#container .content span a {
  text-decoration: none
}
</code>
</pre>
<p class="preCaption">Original CSS</p>
<pre><code class="prettyprint linenums lang-css">#container {
  color: red;
  &#038;.left {
    text-align: left;
  }
  &#038;.right {
    text-align: right;
  }
  .content span {
    padding: 10px;
    a {
      text-decoration: none;
    }
  }
}
</code>
</pre>
<p class="preCaption">LESS CSS</p>
<p>In my opinion, the biggest benefit from a CSS extension script like LESS is the ability to nest rules. As stated on the website, there are also a few other super powerful features such as variables, mixins, operations, and functions. All of which ultimately allow you to actually write less code.</p>
<p>I almost never start a project without choosing either SASS or LESS. There's a good article comparing the two here: <a href="http://coding.smashingmagazine.com/2011/09/09/an-introduction-to-less-and-comparison-to-sass/">An Introduction To LESS, And Comparison To Sass</a>.</p>
<h2>Now on to Part 2...</h2>
<p>I originally intended to cover positioning, floating, and clearing in this post but it turned out to be a bit too long for my taste.</p>
<p>So, I've simply moved the next section into a post of its own:<br />
<a href="http://www.dennisplucinik.com/blog/2012/03/28/learning-web-design-adding-structure-with-css-part-2">Learning Web Design: Adding Structure with CSS using Positioning, Floating, &#038; Clearing</a>.</p>
<h3>Related Books</h3>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B006PIW4IM&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B002MV2Z4E&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B005ES0DWI&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B00457X7L8&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2012/04/30/learning-web-design-adding-structure-with-css-using-resets-grid-frameworks-less-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2012/04/30/learning-web-design-adding-structure-with-css-using-resets-grid-frameworks-less-css/</feedburner:origLink></item>
		<item>
		<title>Common Git Commands</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/MnY8XZAaSOI/</link>
		<comments>http://www.dennisplucinik.com/blog/2012/03/17/common-git-commands/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 20:16:19 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Version Control]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=1254</guid>
		<description><![CDATA[These are some common and useful commands to help you along with using Git. This post will grow as I think of more to add for future reference. Also, feel free to recommend any that you think are relevant. Getting &#8230; <a href="http://www.dennisplucinik.com/blog/2012/03/17/common-git-commands/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>These are some common and useful commands to help you along with using Git. This post will grow as I think of more to add for future reference. Also, feel free to recommend any that you think are relevant. </p>
<p><span id="more-1254"></span></p>
<h2>Getting started with Git</h2>
<p>These are the absolute most common commands you'll use with Git. I've listed them in the order that you'd usually use them.<br />
<h3>Step 1 - Clone a Git repository</h3>
<p>What this means is that you are copying someone else's repository down to your computer. This is fundamental to the way Git works. Each time a Git repository is cloned, literally the entire repository including all change history is copied to your computer. This is why it's referred to as "distributed source control".</p>
<pre><code>git clone username@yourhost.com:path/to/repo/repo-name.git</code></pre>
<p>After you have cloned the repo, you need to <code>cd</code> into the repo folder</p>
<pre><code>cd repo-name</code></pre>
<h3>Step 2 - Save your changes</h3>
<p>Making and saving changes to your repo is a three step process. then.</p>
<p>First you need to edit the file(s) and save them. Next, to see which edited files are ready for add/commit/pushing, you check your repository status.</p>
<pre><code>git status</code></pre>
<p>Next, you need to add it (a.k.a. "stage" it)</p>
<pre><code>git add .</code></pre>
<p>You can also add individual files by using the filename instead of the "."</p>
<pre><code>git add filename.ext</code></pre>
<p>Next, commit the staged changes to your local repository copy</p>
<pre><code>git commit -m "Made XYZ changes"</code></pre>
<p>The <code>-m</code> flag indicates that you want to add a commit message, which goes inside quotes</p>
<p>Lastly, since you have so far only been committing changes to the repository on your local computer, you'll need to push all those commits back up to the master repository.</p>
<pre><code>git push</code></pre>
<p>It's important to understand these fundamental concepts of Git before getting started. However, don't be afraid/shy/embarrassed to ask coworkers, or even the community (i.e., this blog) for help. Things can certainly get more complex than these few commands. Fortunately, there is a user-friendly-ish <a href="http://schacon.github.com/git/git.html">Git manual</a> to help if you can't find a live person.</p>
<h2>Merging conflicts</h2>
<p>If get the message after trying to pull "Automatic merge failed; fix conflicts and then commit the result.", use this to launch your mergetool</p>
<pre><code>git mergetool</code></pre>
<h2>Add color to UI</h2>
</p>
<pre><code>git config color.ui true</code></pre>
<h2>Diff files against head/remote/origin/branch/etc.</h2>
<p>For comparing a local file against the latest in the repository (<a href="http://deadlytechnology.com/web-development/compare-versions-file-in-git/">source</a>)</p>
<pre><code>git difftool HEAD~50 path/to/file</code></pre>
<h2>Get info about your repository</h2>
<p>This is where you can find out information about your repository including branch and origin settings.</p>
<pre><code>vim .git/config</code></pre>
<p><!--</p>
<h2>Setting up P4Merge as your mergetool</h2>
<p>This will replace your default mergetool with the Perforce merge application</p>
<p>--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2012/03/17/common-git-commands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2012/03/17/common-git-commands/</feedburner:origLink></item>
		<item>
		<title>Learning Web Design: Basic JavaScript</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/TvENm8VFw_A/</link>
		<comments>http://www.dennisplucinik.com/blog/2012/02/23/learning-web-design-basic-javascript/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 05:48:27 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Learning Web Design Series]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=1183</guid>
		<description><![CDATA[JavaScript is the most popular language in the world [citation]. It is the modern way to add dynamic behavior and interactivity to web pages. This article assumes you know nothing about JavaScript. This article is a precursor to the Intro &#8230; <a href="http://www.dennisplucinik.com/blog/2012/02/23/learning-web-design-basic-javascript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>JavaScript is the most popular language in the world <sup>[<a href="http://www.quora.com/Is-JavaScript-the-most-popular-programming-language-in-the-world">citation</a>]</sup>. It is the modern way to add dynamic behavior and interactivity to web pages. This article assumes you know nothing about JavaScript. This article is a precursor to the <a href="http://dennisplucinik.github.com/Parsons/Slides/2012-02-24/" alt="Intro to JavaScript">Intro to JavaScript</a> lesson in my <a href="http://dennisplucinik.github.com/Parsons" alt="Web Design 1">Web Design 1</a> class at <a href="http://www.newschool.edu/parsons/" alt="Parsons New School for Design">Parsons New School for Design</a>. I will be covering a few fundamental aspects of JavaScript and then promptly recommending that you just use jQuery (at least to start).</p>
<p><span id="more-1183"></span></p>
<p>At the end of this article you should have at least an elementary understanding of:</p>
<ul>
<li>What is JavaScript</li>
<li>How to use JavaScript on your website</li>
<li>Why you should just use jQuery</li>
</ul>
<h2>What is JavaScript?</h2>
<p>JavaScript is an <a href="http://en.wikipedia.org/wiki/Object-oriented_programming">object-oriented</a>, <a href="http://www.vanguardsw.com/dshelp/dsc00195.htm">interpreted</a> programming language that runs in the browser<sup>[<a href="#sup1" alt="sup1">1</a>]</sup>. It contains all the standard features of a programming language such as variables, functions, if/then conditionals, loops, etc.</p>
<p>There are many unique parts of JavaScript (good parts and bad parts). The bad parts mostly are at fault for its old reputation of being an amateur, and annoying toy language. To be sure, JavaScript can be very elegant and quite capable.</p>
<p>One interesting component of the language that you'll need to know is that it relies heavily on the environment in which it runs. I mentioned it "runs in the browser" which means, the browser parses it by opening your JavaScript like a text file, and translating it line by line into instructions that do things on the page like animations and rollovers. This is interesting because JavaScript itself can't do much without the presence of the Document Object Model (DOM). The DOM is the object representation of the HTML file the browser had to parse before executing your JavaScript.</p>
<p>JavaScript's interactions with the DOM are event-based, which means that your script can listen to what the browser is doing (and also what the user is doing on the browser, like clicking links, etc.)</p>
<p>An example of the event-based nature of JavaScript is how most well-constructed scripts will wait until the HTML has been fully parsed and the DOM has been fully built before running. This prevents errors like if your script depends on a certain part of the DOM being available (like a footer) and it has not been built at the time the script runs because you put your script in the &lt;head&gt; section of your site (before that footer loaded).</p>
<p>The code might look something like this:</p>
<pre><code class="prettyprint lang-javascript linenums">&lt;script&gt;
<span class="highlightee id-window">window</span>.<span class="highlightee id-onload">onload</span> = <span class="highlightee id-function">function () {</span>
<span class="highlightee id-function">  alert('page is loaded!');</span>
<span class="highlightee id-function">};</span>
&lt;/script&gt;
</code>
</pre>
<p class="preCaption">Waiting until the page loads to execute JavaScript.</p>
<p>What's happening is that <a href="javascript:void(0);" class="highlighter" data-highlightee-id="window"><code class="inline">window</code></a> is referring to the page's root object. The root object is always the "window" object, and everything is a child of it. When the browser finishes loading the window object, it calls the <a href="javascript:void(0);" class="highlighter" data-highlightee-id="onload"><code class="inline">onload</code></a> method which we have assigned our <a href="javascript:void(0);" class="highlighter" data-highlightee-id="function"><code class="inline">function</code></a> to.</p>
<p>In plan English our script reads like this:</p>
<pre><code>"When the window finishes loading, run this function."</code></pre>
<h2>How to use JavaScript on your website?</h2>
<p>JavaScript can be included on your website in several ways. </p>
<p>It can be included via an external file,</p>
<pre><code class="prettyprint lang-javascript linenums">&lt;script type='text/javascript' src='scriptName.js'&gt;&lt;/script&gt;
</code>
</pre>
<p>or by an embedded script block,</p>
<pre><code class="prettyprint lang-javascript linenums">&lt;script type='text/javascript'&gt;
//...script body here...
&lt;/script&gt;
</code>
</pre>
<p>or attached to HTML elements via inline event handlers,</p>
<pre><code class="prettyprint lang-javascript linenums">&lt;a href='link.html' onclick='alert("hello!");return false;'&gt;&lt;/a&gt;
</code>
</pre>
<p>or injected into the href attribute of an anchor tag,</p>
<pre><code class="prettyprint lang-javascript linenums">&lt;a href='javascript:alert("oh yeah");return false;'&gt;&lt;/a&gt;
</code>
</pre>
<p>It is important to understand how the browser parses JavaScript in order to know how to include it correctly. As soon as the browser parser encounters any JavaScript, everything else stops until it is finished executing. This means if you include an external file at the top of the HTML document (e.g., in the head), none of the rest of the page will finish loading and you will see a blank white page until it is finished. This could potentially end up being quite a long time depending on how many scripts you've included, and how large the files are.</p>
<p>The best practice is based both on form and function. By 'form', I mean that the user is primarily concerned with the time it takes from pressing 'enter' and being able to interact with the page. This is referred to as 'time to interaction.' If we don't block the page from rendering by putting script includes at the top of the page, the page will both appear to load more quickly and be partially interactive quicker. By 'function', I mean that if a script relies on certain parts of the HTML to be available, and at the time the script executes they have not loaded and thus are not available, the script will fail.</p>
<p>Because of those two reasons, the best practice for including JavaScript on your site is to simply include it at the bottom of the page immediately before the &lt;/body&gt; tag.</p>
<h2>Why you should just use jQuery</h2>
<p>JavaScript is itself an insanely confusing and technically daunting language. There are many ways to perform the same task, and there are components of the language that are just plain dangerous (e.g., <a href="http://blogs.msdn.com/b/ericlippert/archive/2003/11/01/53329.aspx">eval</a>). Because of these things, it turns most traditional developers away. Not to mention the myriad variations of browser implementations of the specification.</p>
<p>Fortunately, jQuery alleviates most if not all of these problems and more. jQuery is a library written in JavaScript that makes JavaScript infinitely easier and more enjoyable to write. Let's look at an example.</p>
<p>Core JavaScript:</p>
<pre><code class="prettyprint lang-javascript linenums">var header = document.getElementById('header');
</code>
</pre>
<p>...vs. jQuery:</p>
<pre><code class="prettyprint lang-javascript linenums">var header = $('#header');
</code>
</pre>
<p>Not impressed? How about another example.</p>
<p>Core JavaScript:</p>
<pre><code class="prettyprint lang-javascript linenums">var header = document.getElementById('header');

for (var x = 100; x--;) {
  header.setAttribute('opacity', x/100);
}
</code>
</pre>
<p>...vs. jQuery:</p>
<pre><code class="prettyprint lang-javascript linenums">$('#header').fadeOut();
</code>
</pre>
<p>Yea, I thought that last one would catch your eye - and that's a super simple example. Don't even get me started about doing event delegation or cross browser Ajax calls in core JavaScript. jQuery reduces the amount of code you have to write to almost nothing. The caveat here is that you don't have to understand what's happening behind the scenes in order to use jQuery.</p>
<p>So why would I recommend learning JavaScript by using a library that you can use without having to actually understand core JavaScript? Because it lowers the barrier to entry for inexperienced developers and makes using JavaScript approachable and fun. From there on in hopefully you get hooked and then don't realize what a slippery slope you've landed on before it's too late. </p>
<p>Seriously though, I don't like unapproachable languages and I found myself more interested in learning about core JavaScript once I felt comfortable with jQuery. If that method doesn't work for you, then by all means dive head first into the 624,000,000 Google search results for "javascript."</p>
<h2>In closing</h2>
<p>To be sure, there is a lot to learn about the language including syntax, data types, scoping, events, the DOM API and many more. I will be writing more articles about JavaScript and jQuery but for the time being, I would recommend getting acquainted with the three links listed below. </p>
<p>Thanks for reading!</p>
<h3>Helpful Articles</h3>
<p><a href="http://javascript.crockford.com/" alt="Douglas Crockford's Javascript">Douglas Crockford's Javascript</a><br />
<a href="http://www.quirksmode.org/js/intro.html" alt="quirksmode">Quirksmode - General [JavaScript] Introduction</a><br />
<a href="http://www.w3schools.com/js/js_intro.asp">w3schools.com - JavaScript Introduction</a></p>
<h3>Related Books</h3>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0596805527&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0596517742&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0596806752&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=059680279X&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</p>
<p><a name="sup1"></a><br />
[1] JavaScript can also be run on the server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2012/02/23/learning-web-design-basic-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2012/02/23/learning-web-design-basic-javascript/</feedburner:origLink></item>
		<item>
		<title>Learning Web Design: Basic CSS</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/6hHBFsqw7to/</link>
		<comments>http://www.dennisplucinik.com/blog/2012/02/13/learning-web-design-basic-css/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 01:57:47 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Learning Web Design Series]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=1088</guid>
		<description><![CDATA[CSS is the modern way to add style to an HTML web page. There are only a few fundamental concepts you need to grasp before getting started with CSS. In order of importance: How to connect CSS to HTML elements &#8230; <a href="http://www.dennisplucinik.com/blog/2012/02/13/learning-web-design-basic-css/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>CSS is the modern way to add style to an HTML web page. There are only a few fundamental concepts you need to grasp before getting started with CSS. In order of importance: </p>
<ol>
<li>How to connect CSS to HTML elements</li>
<li>Specificity (order of importance)</li>
<li>The box model</li>
</ol>
<p><span id="more-1088"></span></p>
<h2><a name="connectCSStoHTML"></a>How to connect CSS to HTML elements</h2>
<p>There are three ways to match a CSS rule to an HTML element. They are by tag, class, or id. Here is an example of each.</p>
<pre><code class="prettyprint lang-html linenums">&lt;div&gt;this text will be blue&lt;/div&gt;
&lt;div class="mySpecialClass"&gt;this text will be green&lt;/div&gt;
&lt;div id="myUniqueId"&gt;this class will be red&lt;/div&gt;
</code>

<code class="prettyprint linenums lang-css">&lt;style&gt;
/* tag selector */
div {
  color: blue;
}

/* class selector */
div.mySpecialClass {
  color: green;
}

/* id selector */
div<em style="display: none;">\</em>#myUniqueId {
  color: red;
}
&lt;/style&gt;
</code>
</pre>
<p class="preCaption">Using a tag, class, and id selector</p>
<p>The major point here is how you identify elements in CSS. A rule defined for "div" will apply that style to <em>all</em> divs. A rule defined with "." (period) will apply that rule to all HTML elements that include that value in their class attribute. The same is for "#" (pound) which applys to HTML elements with the corresponding id attribute.</p>
<p>One important thing to remember is id's are unique identifiers and so there can only be one per page. You may however, use the same class multiple times per page. Elements can also have multiple classes per element (e.g., &lt;div class="first orange grid"&gt;>).</p>
<h3>Chaining</h3>
<p>A powerful feature of CSS is the ability to chain multiple selectors together. By doing this you can match different elements based on their hierarchical order in the HTML. For example, check out the following rules and how they are applied.</p>
<pre><code class="prettyprint lang-css linenums"><span title="applies to all divs that are children of a div">div div { color: red; }</span>
<span title="applies to all elements with a class value of 'someClass' that are also children of a div">div .someClass { color: red; }</span>
<span title="applies to a div with the id 'someID'">div<em style="display: none;">\</em>#someID {color: red; }</span>
</code>
</pre>
<p class="preCaption">Showing simple parent / child relationships</p>
<p><em>NOTICE the space between the selectors</em>. This indicates that the latter selector is a child of the former. NOT including a space indicates that the selectors apply to the same element. For example, the following example shows a CSS rule that matches the given HTML snippet using a tag, class, AND id selector.</p>
<pre><code class="prettyprint lang-html linenums">&lt;div id="myOneAndOnly" class="headline"&gt;Hold me&lt;/div&gt;
</code>

<code class="prettyprint lang-css linenums">
div<em style="display: none;">\</em>#myOneAndOnly.headline {
  color: red;
}
</code>
</pre>
<p class="preCaption">Chaining a tag, id, and class selector</p>
<h2><a name="specificity"></a>Specificity</h2>
<p>Now that you know how ids and classes work, you'll need to understand how the browser determines which rules are more important than others. This level of importance given to each selector is called "specificity". By "specificity" we mean literally "how specifically a CSS rule can target HTML elements." The easiest way to think about this is to consider how many elements a single selector will effect.</p>
<ul>
<li>a <strong>tag</strong> selector will target <strong>every single tag</strong> (a LOT of elements)</li>
<li>a <strong>class</strong> selector will target <strong>only a subset of tags</strong> (quite a few less)</li>
<li>an <strong>id</strong> selector will only target <strong>one element per page</strong> (exactly one)</li>
</ul>
<p>Let's start with the basic premise that that the lowest level of specificity is order of appearance. This means if we have multiple rules for the same element, only the last one will be applied.</p>
<pre><code class="prettyprint lang-html linenums">&lt;body&gt;
&lt;div class="things_I_love" id="NewYork" &gt;This text will be red&lt;/div&gt;
&lt;/body&gt;
</code>

<code class="prettyprint lang-css linenums">div { color: green; }
div { color: black; }
div { color: red; } /* <-- this rule wins because it's last */
</code>
</pre>
<p class="preCaption">Lowest specificity: order of appearance</p>
<p>Next up the specificity ladder are tags, then classes, then ids in order of increasing specificity. This means, if we take the previous example, and we want to make the text green, we just need to increase the specificity of that rule. We can do this by adding more selectors or by using a different selector with higher specificity.</p>
<pre><code class="prettyprint lang-html linenums">&lt;body&gt;
&lt;div class="things_I_love" id="NewYork"&gt;This text will be green&lt;/div&gt;
&lt;/body&gt;
</code>

<code class="prettyprint lang-css linenums">body div { color: green; } /* <-- this rule wins */
div { color: black; }
div { color: red; }
</code>
</pre>
<p class="preCaption">Level 1 specificity = tag selectors</p>
<h3>Calculating specificity</h3>
<p>Another way to quickly figure out how your CSS is going to get parsed is to calculate a specificity score. Following the math in this graphic should cover you for about 99% of the time. Basically what we're doing is applying an order of magnitude multiplier to each of the three selectors. This is because for each of the three tiers: tag, class, &#038; id, even using one selector from a higher tier will trump any number of lower tier selectors. For example, you could have 50 class selectors trying to set your text color to red, but if another rule uses even one id selector to set the color to blue, blue will win.</p>
<div id="attachment_1125" class="wp-caption aligncenter" style="width: 625px"><a href="http://www.dennisplucinik.com/blog/wp-content/uploads/2012/02/specificity.gif"><img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2012/02/specificity.gif" alt="CSS Specificity Calculation Diagram / Infographic" title="CSS Specificity Calculation Diagram / Infographic" width="615" height="1806" class="size-full wp-image-1125" style="border: 5px solid #ccc; box-shadow: 0 1px 6px #555;" /></a><p class="wp-caption-text">CSS Specificity Calculation Diagram</p></div>
<h3>More resources explaining specificity</h3>
<p>If you're still stumped, here are some other resources to try and explain this concept differently (one example uses Star Wars characters to explain the ranking!). Also, you'll find that I drew a lot of inspiration from these posts, especially the one from css-tricks. My diagram is essentially a simplified version of theirs.</p>
<ul>
<li><a href="http://css-tricks.com/specifics-on-css-specificity/">Specifics on CSS Specificity</a></li>
<li><a href="http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/">CSS Specificity: Things You Should Know</a></li>
<li><a href="http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-understanding-css-specificity/">Quick Tip: Understanding CSS Specificity</a></li>
<li><a href="http://www.w3.org/TR/css3-selectors/#specificity">Calculating a selector's specificity (W3C)</a></li>
</ul>
<h2><a name="boxModel"></a>The Box Model</h2>
<p>This diagram illustrates the relationship between the primary CSS properties of all HTML elements. It is important to understand this model since you will regularly need to calculate how much total space your elements can take up on the page. For instance, in the element illustrated below if the width was set to 300px, and padding, border, and width were all each 10px, the total width taken up by the element would be 360px (300 + (10 * 2) + (10 * 2) + (10 * 2)).</p>
<div id="attachment_1159" class="wp-caption aligncenter" style="width: 625px"><a href="http://www.dennisplucinik.com/blog/wp-content/uploads/2012/02/box_model1.gif"><img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2012/02/box_model1.gif" alt="CSS Box Model Diagram" title="CSS Box Model Diagram" width="615" height="500" class="size-full wp-image-1159" style="border: 5px solid #ccc; box-shadow: 0 1px 6px #555;" /></a><p class="wp-caption-text">CSS Box Model Diagram</p></div>
<blockquote cite="http://www.w3.org/TR/CSS2/box.html"><p>The CSS box model describes the rectangular boxes that are generated for elements in the document tree and laid out according to the visual formatting model. <cite>- <a href="http://www.w3.org/TR/CSS2/box.html">W3C</a></cite></p></blockquote>
<p>Before beginning to code a website, we need visually break apart the design into rectangular sections. This process used to be done in the context of an HTML table since CSS support wasn't widespread among browsers at the time. Nowadays, we can think in the context of pure CSS based layouts. Ultimately this gives us more freedom over the layout while retaining the semantic value of the HTML document.</p>
<p>If we take this website, we can clearly see how the sections break down into rectangles. Each of the rectangles will follow the rules of the box model.</p>
<div id="attachment_1174" class="wp-caption aligncenter" style="width: 610px"><img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2012/02/css_layout.gif" alt="CSS Layout illustrating use of the box model" title="CSS Layout illustrating use of the box model" width="600" height="426" class="size-full wp-image-1174" /><p class="wp-caption-text">CSS Layout illustrating use of the box model</p></div>
<p>In the next post, I will explain how we use positioning and floats to bring structure to our markup. </p>
<h2>In Conclusion</h2>
<p>If you have managed to follow along until this point, congratulations! You have a good enough understanding of CSS to move on to bigger and better things. Yes I admit it hasn't been too sexy so far but trust me once we get to positioning, floats, and cross-browser quirks, things are really going to start heating up <img src='http://www.dennisplucinik.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Helpful Articles</h3>
<p><a href="http://sixrevisions.com/css/20_websites_learn_master_css/">20 Websites To Help You Learn and Master CSS</a><br />
<a href="http://meyerweb.com/">meyerweb.com</a></p>
<h3>Related Books</h3>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0321658531&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=1593272863&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0596527330&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0321719638&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2012/02/13/learning-web-design-basic-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2012/02/13/learning-web-design-basic-css/</feedburner:origLink></item>
		<item>
		<title>Learning Web Design – Series Introduction</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/wcpPKTel89g/</link>
		<comments>http://www.dennisplucinik.com/blog/2012/02/02/learning-web-design-series-introduction/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 20:00:04 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Learning Web Design Series]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=1061</guid>
		<description><![CDATA[Starting January 27th I started teaching Web Design 1 at Parsons The New School for Design in New York City. I will be producing quite a bit of content in the next few months and I'll use this blog to &#8230; <a href="http://www.dennisplucinik.com/blog/2012/02/02/learning-web-design-series-introduction/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Starting January 27th I started teaching Web Design 1 at Parsons The New School for Design in New York City. I will be producing quite a bit of content in the next few months and I'll use this blog to expound on the in-class discussions.</p>
<p>You may follow along via the course website:<br />
<a href="http://dennisplucinik.github.com/Parsons">http://dennisplucinik.github.com/Parsons</a></p>
<p>You can access the syllabus, all the slides and additional resources as well.</p>
<p><span id="more-1061"></span></p>
<h2>Topics I Will Cover</h2>
<p>Here is a short synopsis of the topics I'll be covering in the class in order of occurrence.</p>
<ul>
<li>History of the web and HTML
<li>Website fundamentals
<li>HTML basics
<li>CSS basics
<li>JavaScript (i.e., jQuery) basics
<li>HTML5
<li>CSS3
<li>Intermediate JavaScript
<li>PHP &#038; MySQL
</ul>
<p>Each week I assign a few articles to read and an activity (usually a tutorial or simple task related to the week's content). I also briefly recap the previous week's reading assignment at the beginning of each class. In addition to the in-class discussion I plan to write a more well thought out response of my own to each reading here on this blog. So to my friends who want to participate in this discussion outside of class, this is the appropriate venue. The class discussion will remain private although any of my students are welcome to engage with me here as well.</p>
<p>Hopefully my conversations here will help spark new ideas in class and vice versa. If you have any thoughts please let me know in the comments below.</p>
<p>Also, if you want real time updates when I post new articles, <a href="http://www.twitter.com/dennisplucinik">follow me on Twitter at @dennisplucinik</a>.</p>
<p>Thanks for reading!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2012/02/02/learning-web-design-series-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2012/02/02/learning-web-design-series-introduction/</feedburner:origLink></item>
		<item>
		<title>Learn HTML5 Series Introduction</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/U8clBHeU1tU/</link>
		<comments>http://www.dennisplucinik.com/blog/2012/02/01/learn-html5-series-introduction/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 13:52:42 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Learn HTML5 Series]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=995</guid>
		<description><![CDATA[I recently started a meetup group here in NYC called Learn HTML5 under the premise that there are "over 1 million Google searches each day by people asking what is HTML5?". The purpose of the meetup is to answer that &#8230; <a href="http://www.dennisplucinik.com/blog/2012/02/01/learn-html5-series-introduction/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently started a meetup group here in NYC called <a href="http://www.meetup.com/Learn-HTML5">Learn HTML5</a> under the premise that there are "over 1 million Google searches each day by people asking what is HTML5?".  The purpose of the meetup is to answer that question for you.  I want to cover this topic via a series of articles under the same name "Learn HTML5".  </p>
<p>What I want to do is start with the basics.  I think the key to understanding HTML5 is to learn the new features and figure out which are relevant to you and your project.  For the first part of this series I will be focusing on aspects of HTML5 relevant to developers and so, we will be looking at a lot of code.  My goal is for you to deeply understand the significance of these new technologies and use your knowledge to help push the web forward.   </p>
<p>This series will help you understand those two things - the components of HTML5 and which are relevant to you. I've broken down the sections for coders, designers, and managers as there are different implications for each group.</p>
<p><span id="more-995"></span></p>
<h2>Content Strategy</h2>
<p>The content for this series will be made available through several channels. The goal is to enable access to this content through as many channels as possible. </p>
<p>Each article will represent one chapter. Chapters will be consolidated into one of three different books based on group (i.e., coders, designers, and managers). Each month I will be presenting a meetup in New York City covering the latest article. Prior to each month's meetup, a full article will be available for download via Amazon, and iBookStore self-publishing. Each book will be available for download once I have presented all the topics. Members of the meetup will have access to the full SlideShare presentation as well as a free download of the final book for each group once we have completed all the presentations.</p>
<p>Here is the proposed content broken down by group:</p>
<p><strong>Learn HTML5: For Coders</strong></p>
<ul>
<li>What is it?</li>
<li>Web Application Architecture</li>
<li>Building an Offline Capable Book Reading App</li>
<li>Creating QR Codes with Canvas</li>
<li>Creating a Location Based Mobile Web App</li>
<li>Embedding Video and Audio Using the VideoJS Library</li>
</ul>
<p><strong>Learn HTML5: For Designers</strong></p>
<ul>
<li>Designing Responsive Interfaces</li>
<li>Enhancing a WordPress Theme with HTML5</li>
<li>Replacing Sprites with CSS3</li>
</ul>
<p><strong>Learn HTML5: For Managers</strong></p>
<ul>
<li>Why it is Important for Businesses</li>
<li>Opportunities for Mobile Platforms</li>
<li>How to Interview an HTML5 Candidate</li>
<li>Implications on Content Strategy</li>
<li>SEO Implications and Text-Level Semantics</li>
<li>What the Future Holds</li>
</ul>
<h2>In Closing</h2>
<p>That's about all I have to say for now. I know completing everything I've planned so far is a tremendous undertaking but I like a good challenge <img src='http://www.dennisplucinik.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  The response I've gotten so far on the Meetup group has been very encouraging. If you haven't joined yet, you may do so here: <a href="http://www.meetup.com/Learn-HTML5/">http://www.meetup.com/Learn-HTML5/</a> and leave me some suggestions or feedback!</p>
<p>Also, If you'd like me to cover anything specific that's not listed, let me know, I'd like to build the content around what people want. You can even take a quick poll here: <a href="http://dennisplucinik.tumblr.com/post/8981217169/which-html5-topics-would-you-like-to-know-about">Which HTML5 Topics Would You Like to Know About?</a>.</p>
<p>Until next time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2012/02/01/learn-html5-series-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2012/02/01/learn-html5-series-introduction/</feedburner:origLink></item>
		<item>
		<title>What is HTML5?</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/wOK1DpSPWvk/</link>
		<comments>http://www.dennisplucinik.com/blog/2012/01/27/what-is-html5/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 18:49:38 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Learn HTML5 - For Coders]]></category>
		<category><![CDATA[Learn HTML5 Series]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=992</guid>
		<description><![CDATA[In the last year I've seen an almost frantic rush of companies trying to find HTML5 developers, and subsequently a rush of developers scrambling to fill that demand. However, both sides seem unable to answer questions like, "What does HTML5 &#8230; <a href="http://www.dennisplucinik.com/blog/2012/01/27/what-is-html5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In the last year I've seen an almost frantic rush of companies trying to find HTML5 developers, and subsequently a rush of developers scrambling to fill that demand.  However, both sides seem unable to answer questions like, "What does HTML5 actually mean?", "Can I call myself an HTML5 developer?", "What do I look for when hiring an HTML5 developer?"  The first question I always ask about the project is "Which components actually require HTML5?"  From there we can begin to narrow down what we're looking for and eventually answer all the other questions.  I ask this first because I frequently hear things like "It has to be optimized for iPad" which does NOT automatically mean you need HTML5.  In many cases, the project may even just need a good JavaScript developer.</p>
<p><span id="more-992"></span></p>
<h2>It's Not Just Version Five</h2>
<p>Saying HTML5 is "the fifth revision of HTML" is misleading.  Whereas previous versions of HTML primarily consisted of markup upgrades such as new semantic tags, or stricter syntax, this version encompasses much more.</p>
<h3>Paving the Cow-Paths</h3>
<p>The general theme behind HTML5's development effort has been to pay close attention to what developers are already doing when adding new features.  This is why we have things like rounded corners built into the CSS3 spec, as well as the new &lt;video&gt; tag. </p>
<p>HTML5 is meant to take existing conventions, make them easier to implement, more performant, and native.  </p>
<h3>Combining Existing Technologies</h3>
<p>With the publication of HTML 4 in 1997, the primary focus was on deprecating presentational tags (e.g., &lt;font&gt;) in favor of using CSS.  At that point, HTML, CSS, and JavaScript played distinctly different roles and were referred to individually.</p>
<p>With HTML5, we have a perceived marriage of those three primary front-end technologies.  In truth, they are still distinctly different but you can think of them as playing on the same team in the web-browser game.</p>
<h3>Role Switching</h3>
<p>Where one technology was previously used to do certain things, we now have native support built in.  For example, <a href="">CSS3</a> takes over some of the tasks previously managed by JavaScript like <a href="http://">mouseover transitions</a>, <a href="http://">simple animations</a>, <a href="http://">rounded corners</a>, <a href="http://">drop shadows</a>, &#038; <a href="http://">text-shadows</a>.  New semantic markup replaces the need to use CSS for marking up content by adding worthless class names.  Role switching can be illustrated clearly in text-level semantics.  For example, instead of writing:</p>
<pre>&lt;div class="header"&gt;</pre>
<p>we now write:</p>
<pre>&lt;header&gt;</pre>
<p>There are a host of other new semantic tags including footer, section, article, aside, and more.  The new &lt;audio&gt; and &lt;video&gt; tags have given us an option other than relying on 3rd party plugins for managing rich media.  We can now augment our Flash video player implementations with the capability of operating on non-Flash supported devices such as iPhone and iPad. </p>
<h3>HTML5 and Mobile Devices</h3>
<p>Mobile devices have been the central topic of many HTML5 conversations and with good reason.  One component of the HTML5 spec is <a href="">device access</a>.  Which means some of the hardware on your mobile device can be accessed with JavaScript.  This includes your <a href="">device’s GPS</a>, <a href="">address book</a>, <a href="">calendar</a>, and more. </p>
<p>HTML5 is heralding in an era of thin clients and mobile applications with APIs for building more native-like functionality such as local storage, application cache, and file APIs.  This allows developers to design applications that remain functional even when there is no internet connection - much like a native app.  Apple has even added helpers to WebKit (e.g., viewport size management) making the transition more seamless.</p>
<h2>A Little More History</h2>
<p>Before we get in over our head with all of the cool new features of HTML5, it’s worth it to have some understanding of how we got here.</p>
<h3>HTML Version Timeline</h3>
<p>Let’s go back to 1991. The first musings of HTML were published in a document titled <a href="http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Tags.html">“HTML Tags”</a> by Tim Berners-Lee. Though he is considered by many to be the father of the internet (if not for the sake of that document alone), he indeed was standing on the shoulders of those who came before him.</p>
<p>Before HTML in 1991, there was SGML in 1974, and before that - GML in 1969. HTML was built on the concept of refining an existing technology that could <em>almost</em> do the job, but not quite. HTML5 is a continuation of this tradition.</p>
<h3>Microformats</h3>
<p>Remember I talked about “paving the cowpaths”? The way an HTML spec gets published involves a bit of “running before you can walk”. Since the process involves such a long period of revisions, browsers vendors incorporate proposed specs before they are actually accepted by the standards committees (i.e., the W3C). The spec authors (i.e., WHATWG) know this and so in order to usher these new features as smoothly as possible, they strongly consider what users are already doing when developing a new feature.</p>
<p>Microformats are an example of where existing behavior formed the foundation of new HTML5 specs.  Microformats are an agreed upon convention for identifying common data types such as blog post elements including publish date, title, author name, etc.  The goal is to create a more semantically rich document and microformats accomplish this (albeit in a round-about way) by adding class names to corresponding elements (e.g., &lt;div class="hnews hentry item"&gt;).  Microformats in HTML5 are called "text level semantics" which we discussed earlier with the header, footer, section, article, and aside tags.</p>
<h2>What's Next?</h3>
<p>As a general summary we could say HTML5 provides a new set of elements meant to give native support for existing technologies via more semantically rich documents.</p>
<p>It is comforting to know that there are more features coming with every new browser version.  The biggest hurdle any new language faces is adoption.  With HTML5 that means adoption by browser vendors of proposed new features.  Each browser adopts a different number of new features with each new version getting us slowly closer to full adoption.  It sounds slow and painful but it is nowhere near as bad as it was in the last decade for two reasons.  First, all new browser versions that support HTML5 are using the same parsing engine.  This eliminates cross-browser rendering variances.  Second, mobile devices running a modern OS (e.g., Android and iOS) have modern browsers installed which support many new HTML5 features.  Although this means that yes there is yet another device to support, those devices are all reasonably advanced (as opposed to say, developing for desktop browsers where some users still use IE6.)</p>
<p>What I have briefly tried to describe is where we are, how we got here, and where we are headed. I will continue to go into more detail with this series and hopefully cover at least all of the basic topics soon. If there is anything specific you would like to hear about please let me know. </p>
<p>Thanks for reading!</p>
<h3>Helpful Articles</h3>
<p><a href="http://www.w3.org/TR/html5/" title="HTML5 spec">HTML5 Spec on W3C.org</a>.</p>
<h3>Related Books</h3>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B005FCIVLS&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B00570RJQ6&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B005XE2CAO&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=denpluwebdes-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B005ISQ7JM&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=607890&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2012/01/27/what-is-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2012/01/27/what-is-html5/</feedburner:origLink></item>
		<item>
		<title>2 Beginner Tips for Adobe Illustrator</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/fyojm7olVdA/</link>
		<comments>http://www.dennisplucinik.com/blog/2011/07/21/beginner-tips-for-adobe-illustrator/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 22:49:09 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Illustrator]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=964</guid>
		<description><![CDATA[I've used Illustrator in the past but I don't honestly remember my way around the interface. So as per my usual routine, I will be recording my intro steps for you and future me. Here are the first to things &#8230; <a href="http://www.dennisplucinik.com/blog/2011/07/21/beginner-tips-for-adobe-illustrator/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I've used Illustrator in the past but I don't honestly remember my way around the interface. So as per my usual routine, I will be recording my intro steps for you and future me.</p>
<p>Here are the first to things that tripped me up. Everything beyond this I'll probably resort to tutorials or just find on my own. Enjoy!<br />
<span id="more-964"></span></p>
<h2>1.) How to change the canvas size</h2>
<ol>
<li>From the menu bar click File > Document Setup</li>
<li>In the Document Setup dialog menu, click the Edit Artboards button (Figure 1-1)<br />
<br />
<div id="attachment_971" class="wp-caption aligncenter" style="width: 510px"><img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-12.09.59-PM.gif" alt="" title="Document Setup &gt; Edit Artboards" width="500" height="548" class="size-full wp-image-971" /><p class="wp-caption-text">Document Setup &gt; Edit Artboards - Figure 1-1</p></div>
</li>
<li>In the toolbar you can change your height and width settings (Figure 1-2)<br />
<br />
<div id="attachment_972" class="wp-caption aligncenter" style="width: 588px"><img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-12.11.11-PM.gif" alt="" title="height and width settings" width="578" height="314" class="size-full wp-image-972" /><p class="wp-caption-text">height and width settings - Figure 1-2</p></div>
</li>
</ol>
<h2>2.) How to draw a rounded corner button</h2>
<ol>
<li>Draw a box with the rounded rectangle tool (Figure 2-1)<br />
<br />
<div id="attachment_984" class="wp-caption aligncenter" style="width: 307px"><img src="http://www.dennisplucinik.com/blog/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-12.36.gif" alt="" title="Draw a box with the rounded rectangle tool" width="297" height="356" class="size-full wp-image-984" /><p class="wp-caption-text">Draw a box with the rounded rectangle tool - Figure 2-1</p></div>
</li>
<li>To change the corner radius, repeat step 1 but before releasing the mouse button press the up or down key to marginally increase and decrease the radius respectively, or press the left or right key to fully decrease or increase the roundness respectively.<sup>1</sup></li>
</ol>
<h3>Helpful Articles</h3>
<p><sup>1</sup><a href="http://livedocs.adobe.com/en_US/Illustrator/13.0/help.html?content=WS714a382cdf7d304e7e07d0100196cbc5f-6261.html">http://livedocs.adobe.com/en_US/Illustrator/13.0/help.html?content=WS714a382cdf7d304e7e07d0100196cbc5f-6261.html</a></p>
<h3>Related Books</h3>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=dennipluci-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=032170178X&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=dennipluci-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0321573781&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=dennipluci-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0596808011&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p class="amazonBook"><iframe src="http://rcm.amazon.com/e/cm?t=dennipluci-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0321713060&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2011/07/21/beginner-tips-for-adobe-illustrator/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2011/07/21/beginner-tips-for-adobe-illustrator/</feedburner:origLink></item>
		<item>
		<title>JavaScript Explained: Difference Between Logical OR “||” and Bitwise OR “|”</title>
		<link>http://feedproxy.google.com/~r/SocialNetworkingEcommerceWebDesignDevelopment/~3/uC_MRZdVWMg/</link>
		<comments>http://www.dennisplucinik.com/blog/2011/05/28/javascript-explained-difference-between-logical-or-and-bitwise-or/#comments</comments>
		<pubDate>Sat, 28 May 2011 19:19:36 +0000</pubDate>
		<dc:creator>Dennis Plucinik</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.dennisplucinik.com/blog/?p=893</guid>
		<description><![CDATA[I'm not ashamed to say today I got slammed on a JavaScript pop quiz presented to me by a curious coworker. It is the type of question you might see on a JavaScript-centric job interview conducted by someone who likes &#8230; <a href="http://www.dennisplucinik.com/blog/2011/05/28/javascript-explained-difference-between-logical-or-and-bitwise-or/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I'm not ashamed to say today I got slammed on a JavaScript pop quiz presented to me by a curious coworker. It is the type of question you might see on a JavaScript-centric job interview conducted by someone who likes giving questions that trip you up : )</p>
<p><span id="more-893"></span></p>
<p>Here's the quiz:</p>
<pre>var moo = 2;
moo = moo | 1;
alert(moo);</pre>
<p>The question is: what is the value of moo in the alert?</p>
<p>If you answered 2, Congratulations! You are part of the majority of JavaScript developers who got this wrong (including myself, and yes I'm being presumptious). The tricky part is the single-pipe on line 2. Naively, I misunderstood it to mean "OR" which in my opinion is understandable since it actually does mean "OR". The problem is that there are two types of OR - Logical and Bitwise. The one presented in the test is the latter.</p>
<p>The official definition for a Bitwise OR is "<dfn>Returns a one in each bit position for which the corresponding bits of either or both operands are ones</dfn>." (<cite>Mozilla</cite>). </p>
<p>Maybe I'm alone here but that sounds like Greek to me. </p>
<h3>Helpful Articles</h3>
<p>Mozilla: <a href="https://developer.mozilla.org/en/javascript/reference/operators/bitwise_operators">https://developer.mozilla.org/en/javascript/reference/operators/bitwise_operators</a><br />
<a href="http://www.eecs.umich.edu/~bartlett/jsops.html">http://www.eecs.umich.edu/~bartlett/jsops.html</a></p>
<h3>Related Books</h3>
]]></content:encoded>
			<wfw:commentRss>http://www.dennisplucinik.com/blog/2011/05/28/javascript-explained-difference-between-logical-or-and-bitwise-or/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.dennisplucinik.com/blog/2011/05/28/javascript-explained-difference-between-logical-or-and-bitwise-or/</feedburner:origLink></item>
	</channel>
</rss>

