<?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>ternstyle &#187; Blog</title>
	<atom:link href="http://blog.ternstyle.us/category/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.ternstyle.us</link>
	<description>questions and philosophies on modern web design</description>
	<lastBuildDate>Fri, 25 Jun 2010 01:47:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>ternstyle&#8217;s blog is now Do Follow</title>
		<link>http://blog.ternstyle.us/news/ternstyles-blog-is-now-do-follow</link>
		<comments>http://blog.ternstyle.us/news/ternstyles-blog-is-now-do-follow#comments</comments>
		<pubDate>Mon, 10 May 2010 20:56:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=550</guid>
		<description><![CDATA[So I&#8217;ve thought about it. It makes sense to me to allow do follow comments on ternstyle&#8217;s blog. You can now post comments using your website and it will be a do follow link directly under your gravatar with the name you choose to input. Merry early Christmas everybody. Please note: The blog has a [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve thought about it. It makes sense to me to allow do follow comments on ternstyle&#8217;s blog. You can now post comments using your website and it will be a do follow link directly under your gravatar with the name you choose to input.<span id="more-550"></span> Merry early Christmas everybody. Please note: The blog has a Google PageRank of zero. Bummer. I&#8217;m attempting to do my part anyway.</p>
<p>Happy perusing.</p>
<p>Note: This following page has a PageRank of 3.<br />
<a href="http://blog.ternstyle.us/blog/float-vs-inline-block">Float vs. Inline-Block</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/news/ternstyles-blog-is-now-do-follow/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>6 more ways to determine your web guy is a tool</title>
		<link>http://blog.ternstyle.us/blog/6-more-ways-to-determine-your-web-guy-is-a-tool</link>
		<comments>http://blog.ternstyle.us/blog/6-more-ways-to-determine-your-web-guy-is-a-tool#comments</comments>
		<pubDate>Tue, 04 May 2010 23:54:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=537</guid>
		<description><![CDATA[There are so many things to be aware of when designing and structuring your website. Also, there is much that you need to know as a website owner to make sure your web presence is being handled properly by yourself or your web guy. Inasmuch, I wrote an article a while back about 7 things [...]]]></description>
			<content:encoded><![CDATA[<p>There are so many things to be aware of when designing and structuring your website. Also, there is much that you need to know as a website owner to make sure your web presence is being handled properly by yourself or your web guy. Inasmuch, I wrote an article a while back about 7 things that are very important for any website here: <a href="http://blog.ternstyle.us/blog/7-ways-to-determine-your-web-guy-is-a-tool">http://blog.ternstyle.us/blog/7-ways-to-determine-your-web-guy-is-a-tool</a>. The list continues so here goes with 6 more ways.<span id="more-537"></span></p>
<h3>1. No Index/No Follow (or lack of Index/Follow)</h3>
<p>Search engines will eventually find your website (hopefully sooner than later and with frequency). Once a search engine has found your website it needs to be instructed what to do. Many web developers overlook this. In fact, in many of my old projects I did. It&#8217;s a common mistake to not properly set up your web pages&#8217; meta tags. If you wish for your website to be indexed and you wish for every page of your website to be indexed make sure your web guy didn&#8217;t somehow leave a meta tag in the head of your web pages instructing search engines to not index and not follow your pages. If it&#8217;s there remove it. Replace it with an index and follow command.</p>
<h4>How do I know if my web pages are set to be indexed or followed?</h4>
<ol>
<li>Go to your homepage in the browser of your choice</li>
<li>Right click on your page or go to your “View” menu at the top of your browser window or tool bar.</li>
<li>Select the option “Source”, “View Source” or “View Page Source”</li>
<li>Now you’re looking at a bunch of code you may not understand.</li>
<li> We’re looking for the meta tags which will fall between the head tags that look like this:
<pre>&lt;meta name="robots" content="index, follow" /&gt;</pre>
</li>
<li>If you don’t see this line in the head of your web pages your web guy is a tool. Furthermore, if you see this meta tag&#8230;
<pre>&lt;meta name="robots" content="noindex, nofollow" /&gt;</pre>
<p>&#8230; fire him.</li>
</ol>
<p>That was a bit harsh. Maybe don&#8217;t fire him (we all make mistakes). Gently ask him to set the meta tag to index/follow.</p>
<h3>2. No homepage content</h3>
<p>Your homepage is your landing page and your most important page of your site. It&#8217;s a page that should be visually pleasing and intuitive for your viewers. This usually means keep the text to a minimum. However, in terms of the weight of your pages, your homepage is probably your most respected page. It should be rich with keyword heavy text. Add text to your homepage but break it up with images. Maybe throw in a slider to place in rotating content that search engines will see but won&#8217;t need to be digested all at once by your user base.</p>
<h3>3. Inline Styling</h3>
<p>Inline styling is the use of styling commands directly on an HTML element in your web pages. Inline styling as a method of styling a document produces unnecessarily bulky HTML and makes the editing of styles across your site difficult and time consuming. If you wish to change the color of your links across your site and you end up getting billed for 2 hours worth of work your web guy is probably using inline styling methods. C&#8217;mon people. Stick with stylesheets.</p>
<p>How do I know if my site is using inline styling?</p>
<ol>
<li>View the source of a page on your website again.</li>
<li>Look for code like this:
<pre>style="width:100%;background:#000;padding:10px;font-size:12px;color:#fff;"</pre>
</li>
</ol>
<p>If you see this once or twice on your site breathe easy. If code like this exists on numerous pages and numerous times per page, your web guy is a tool.</p>
<h3>4. Navigation Before Content</h3>
<p>The natural flow of a website is to work top to bottom. Typically a header, horizontal navigation, the body of the page aside a sidebar and then the footer. It is temping to write the HTML for a website in this order as well. However if you place your navigation before your content it will be the first thing a search engine sees. This is a more esoteric point. We are all guilty of it in the web world but it is something that should be addressed. Your navigation should be placed in the footer and positioned (most likely absolutely) wherever you&#8217;d like it to reside on your pages. Notice the site your viewing now put the navigation first. However, this site (<a href="http://www.ternstyle.us/">http://www.ternstyle.us/</a>) does not.</p>
<p>Okay, for this one I won&#8217;t call your web guy a tool. For SEO purposes though, have him restructure your HTML.</p>
<h3>5. Non-unique Page Titles</h3>
<p>This one matters. Each page should have its own unique content. As well, it should have its own unique page titles. Every page on your site should not consist simply of your business or blog name. It should not carry just your tag line. Each page title should be tailored to the content presented on the page it is representing. You wouldn&#8217;t name your children George, George and George would you? Well maybe this guy would.<br />
<a href="http://blog.ternstyle.us/wp-content/uploads/2010/05/sideImage_history.jpg"><img src="http://blog.ternstyle.us/wp-content/uploads/2010/05/sideImage_history-300x220.jpg" alt="" width="300" height="220" /></a></p>
<h3>6. Wide Sites and Skinny Sites</h3>
<p>The width of your site is very important. If it&#8217;s too skinny those of us with high resolution monitors will have to get real close to our desks to view it. If it&#8217;s too wide those of you who haven&#8217;t upgraded your browsers yet will have to scroll horizontally to view parts of the page. For instance, this site is too wide for monitors set to a resolution of 1024 x 768. Oops! I&#8217;m a tool. The optimum site width is 960px. It will suit most modern monitors (modern monitors,modern monitors,modern monitors&#8230;say that 10 times fast). 960 is divisible by 3, 4, 5, 6, 8, 10, 12, 15, and 16. Use it!</p>
<h4>How do I know the width of my website?</h4>
<p>Well firstly can you see it all without scrolling horizontally? Horizontal scrolling is a big no-no. Vertical is okay because these days most people have mouse wheels. there is no need to move the mouse to get more page. Horizontal scrolling is tedious. If you have to scroll horizontally redesign your site.</p>
<p>Unless you&#8217;re using a browser like Firefox with Firebug enabled or Safari with the Develop menu enabled it&#8217;ll be hard for you to determine the width of your pages. Each site will be styled differently. You can search through the CSS files for width commands or simply ask your web guy. Maybe he knows. Get creative. Take a screenshot and drop it in photoshop or something. Set your screen resolution to 1024 x 768 and see what happens. I trust you. You&#8217;ll figure it out.</p>
<p>More ways to determine if your web guy is a tool to come. For now I have to redo all my old work that taught me what to teach in these silly blog posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/blog/6-more-ways-to-determine-your-web-guy-is-a-tool/feed</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>New site launch</title>
		<link>http://blog.ternstyle.us/news/new-site-launch</link>
		<comments>http://blog.ternstyle.us/news/new-site-launch#comments</comments>
		<pubDate>Tue, 04 May 2010 02:57:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=529</guid>
		<description><![CDATA[It&#8217;s official. Here at ternstyle we took the time to update our own site. Our wiki, blog and forum remain untouched but out parent site has been completely overhauled. Check us out: http://www.ternstyle.us/ With a new logo, a new layout and some fun technology integrated into the site we hope to make visits to our [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s official. Here at ternstyle we took the time to update our own site. Our wiki, blog and forum remain untouched but out parent site has been completely overhauled.</p>
<p><a href="http://blog.ternstyle.us/wp-content/uploads/2010/05/site.png"><img class="alignnone size-medium wp-image-530" title="site" src="http://blog.ternstyle.us/wp-content/uploads/2010/05/site-300x258.png" alt="" width="300" height="258" /></a></p>
<p>Check us out:</p>
<p>http://www.ternstyle.us/</p>
<p>With a new logo, a new layout and some fun technology integrated into the site we hope to make visits to our site a bit more intuitive and fun. Leave a comment and let us know what you think of the new design.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/news/new-site-launch/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>WordPress Plugins Updated</title>
		<link>http://blog.ternstyle.us/news/wordpress-plugins-updated</link>
		<comments>http://blog.ternstyle.us/news/wordpress-plugins-updated#comments</comments>
		<pubDate>Tue, 13 Apr 2010 22:20:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=504</guid>
		<description><![CDATA[Today I added some much needed updates to two of my WordPress Plugins. Both of these plugins were in need of a pretty specific fix. I was using PHP&#8217;s short tags which replace the PHP function &#8216;echo&#8217;. Unfortunately, though many servers have this feature of PHP enabled in their php.ini files, some do not. I [...]]]></description>
			<content:encoded><![CDATA[<p>Today I added some much needed updates to two of my WordPress Plugins. Both of these plugins were in need of a pretty specific fix. I was using PHP&#8217;s short tags which replace the PHP function &#8216;echo&#8217;.<span id="more-504"></span> Unfortunately, though many servers have this feature of PHP enabled in their php.ini files, some do not. I was getting an increasing number of individuals, using the two updated plugins, asking why they were unable to save their settings for these plugins. As of today I am no longer using the short tags.</p>
<p>Here is the change log for the Members List plugin:<br />
<a href="http://wiki.ternstyle.us/index.php/WordPress_Members_Plugin_Recent_Updates">Click Here.</a></p>
<p>Here is the change log for the Automatic Youtube Video Posts Plugin:<br />
<a href="http://wiki.ternstyle.us/index.php/WordPress_Automatic_YouTube_Video_Posts_Plugin_Recent_Updates">Click Here.</a></p>
<p>Also I added some documentation on some additional helpful functions for the Automatic Youtube Video Posts Plugin:<br />
<a href="http://wiki.ternstyle.us/index.php/WordPress_Automatic_YouTube_Video_Posts_Plugin_Functions">Click Here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/news/wordpress-plugins-updated/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What defines effective dialogue between a website owner and his or her web developer?</title>
		<link>http://blog.ternstyle.us/blog/what-defines-effective-dialogue-between-a-website-owner-and-his-or-her-web-developer</link>
		<comments>http://blog.ternstyle.us/blog/what-defines-effective-dialogue-between-a-website-owner-and-his-or-her-web-developer#comments</comments>
		<pubDate>Sun, 31 Jan 2010 19:04:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=445</guid>
		<description><![CDATA[Communication is the key to any successful long-lasting relationship. Be it in business or when nestled up comfortably with your sweetie it is endlessly important that all parties involved understand each other. Preferably any communication is concise and deliberate and received with focus and active questioning in response when necessary. You might ask, &#8220;Whose responsibility [...]]]></description>
			<content:encoded><![CDATA[<p>Communication is the key to any successful long-lasting relationship. Be it in business or when nestled up comfortably with your sweetie it is endlessly important that all parties involved understand each other. Preferably any communication is concise and deliberate and received with focus and active questioning in response when necessary. You might ask, &#8220;Whose responsibility is it that a message conveyed is a message received?&#8221;<span id="more-445"></span> It is up to you in your relationships to assign percentages to parties according to your own sensibilities. In this article I&#8217;ll operate under the assumption that the responsibility is shared equally.</p>
<p>My business relationships have been voluminous and share many things in common. The first thing these relationships have all shared is that everyone is busy. So the question becomes, &#8220;How can vendor and client move through their communication quickly with a high level of understanding in an effort to get to what is really important (the work)?&#8221;</p>
<h2>Assume as little as possible</h2>
<p>The busyness in business cries out for shortcuts. In communication shortcuts often mean a lot of assuming. Assuming someone understands you seems a quicker solution than taking the time to actually confirm it. Many times I think we get away with this. There have been a number of times I haven&#8217;t. A client asks for a task performed. I tell them what&#8217;s involved. I assume I understand what they want. They assume I understand what they want. They end up with something different than what they thought they asked for. We need another point of communication which takes longer than the first and a second round of tasks. Did we really take a shortcut?</p>
<h2>Develop a lexicon</h2>
<p>This responsibility will most likely fall on the shoulders of the web developer. You will have the most experience in the web world. You&#8217;re more familiar with key terms. Educating your clients and continually using proper industry terminology will help you in the long run. It is okay to remind your client that the &#8220;skinny gray area&#8221; of the page is actually the sidebar. Don&#8217;t let the terms you use remain gray areas. In the event that a client can&#8217;t seem to adhere to an industry term remember that the most important thing is that you use the same term to describe the same thing. Be flexible. Use their term if you need to.</p>
<h2>Document processes for bug reporting</h2>
<p>When developing any online application or really any web based process that requires scripting there will be bugs. The library of code an application uses is often so interwoven that a change in one corner of your application will change and/or break another corner. As a client you will find bugs in your applications. The way you interact with your website will be very different than the way your web developer does. The less internet savvy you are the larger that gap becomes. You may need to report a bug at some point. The way you do this is crucial to its speedy resolution.</p>
<p>At times bugs present themselves in very specific ways. A click before drag and then a refresh may throw an error that a double click before a drag and refresh does not. When reporting a bug it is important for a web developer to know even the most minute details about how the bug presented. If a programmer can&#8217;t reproduce the bug he may not be able to fix it.</p>
<p>Clients, document your processes. It may be tedious work when you&#8217;re doing it but this is your best chance if you want your issue resolved and resolved quickly.</p>
<h2>Take notes and save emails</h2>
<p>This one is a simple one but you see how it makes sense. As a client or a vendor I&#8217;m sure you remember a time when you couldn&#8217;t recall something that was said in a meeting. Why force another point of contact? Keep your notes neat and your emails archived.</p>
<h2>In summary:</h2>
<p>There are many more things you could do to improve your communication with your clients or vendors. I think it is paramount just simply to have its efficiency be a part of your thought life. Considering ways to make your working relationships work better will most likely make it happen extemporaneously on some level.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/blog/what-defines-effective-dialogue-between-a-website-owner-and-his-or-her-web-developer/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Conditional Website Analytics</title>
		<link>http://blog.ternstyle.us/blog/conditional-website-analytics</link>
		<comments>http://blog.ternstyle.us/blog/conditional-website-analytics#comments</comments>
		<pubDate>Mon, 25 Jan 2010 23:52:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=433</guid>
		<description><![CDATA[We can all agree on how important web statistics are for our businesses and how the analysis of the data we collect through whichever avenue we choose can help us to continually evolve as a web entity. This much is true. But how can we make sure we&#8217;re collecting the proper data? How do we [...]]]></description>
			<content:encoded><![CDATA[<p>We can all agree on how important web statistics are for our businesses and how the analysis of the data we collect through whichever avenue we choose can help us to continually evolve as a web entity. This much is true. But how can we make sure we&#8217;re collecting the proper data?<span id="more-433"></span> How do we know the statistics we see in our web analytics brand of choice are actually the helpful boy/girl scouts they claims to be? How do we know that what we&#8217;re looking at indicates a thriving website or a wounded one? Well&#8230;some of us may be quite savvy and others of us may have large budgets to employ teams of people to sift through data. The rest of us probably just need to trust what we see even if we don&#8217;t understand it. Which leaves me to the question, &#8220;What measures can we actually take to exercise some level of control over the data collected by our ever-so-helpful third party agents?&#8221; I won&#8217;t attempt to answer that question in full but I would like to touch on one very important point about analyzing our website statistics.</p>
<h2>Make sure your and your staff&#8217;s visits to your website aren&#8217;t skewing your numbers.</h2>
<p>We take pride in our work and in our businesses&#8217; ever diligent cyber tenticles we call our websites. They are the facets of our businesses that when called upon reach out over great lengths to bring in leads and customers. As our websites need constant care to survive, we update them, alter them, improve them and visit them often. If we&#8217;re doing our jobs we probably visit them more often than anyone else.</p>
<p>We visit them. Our staff visits them. Our marketing teams visit them. Our moms visit them! None of these visits help us determine how our websites are performing. It is important that we make sure our analytics software is able to filter us out of its reports. I&#8217;m not well versed in many different forms of analytics but I know that Google allows us to do this by I.P. address. It is important to have some level of filtering in place in any situation where we are collecting website usage statistics.</p>
<p>If you&#8217;re using Google Analytics read here: <a href="http://www.google.com/support/googleanalytics/bin/topic.py?topic=11091" target="_blank">http://www.google.com/support/googleanalytics/bin/topic.py?topic=11091</a></p>
<p>In the event that you have a dynamic I.P. address that you can&#8217;t filter using your analytics software&#8217;s various filtering methods you&#8217;ll need to get creative. You could use query strings in conjunction with conditional statements when visiting your pages which is a brutish solution but one nonetheless. If using a content management system you could make sure to always be logged in and use a plugin that removes the tracking code for your account. Be creative.</p>
<p>Happy analyizing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/blog/conditional-website-analytics/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Float vs. Inline-Block</title>
		<link>http://blog.ternstyle.us/blog/float-vs-inline-block</link>
		<comments>http://blog.ternstyle.us/blog/float-vs-inline-block#comments</comments>
		<pubDate>Mon, 18 Jan 2010 20:38:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=392</guid>
		<description><![CDATA[This is an interesting topic for me as a web designer who is also a programmer. My mind is almost always geared toward efficiency in my work which draws me to the question which is most efficient; floating elements or making them inline and block level. I suppose these are not our only options but [...]]]></description>
			<content:encoded><![CDATA[<p>This is an interesting topic for me as a web designer who is also a programmer. My mind is almost always geared toward efficiency in my work which draws me to the question which is most efficient; floating elements or making them inline and block level. I suppose these are not our only options but these are the two main methods I&#8217;ve employed when rendering my designs so these are the two I&#8217;ll write about.<span id="more-392"></span></p>
<p>Both of these methods have their flaws and quirks which present themselves uniquely in different browsers. Aside from efficiency we&#8217;ll also have to take into consideration browser compatibility. These are the two standpoints from which I&#8217;ll explore the two very contrasting methodologies.</p>
<h2>The Float</h2>
<p>The first thing we should know about floating elements is why this method was invented in the first place. The original concept of the float was for text-wrapping. The idea was to take a block level element, such as an image, and set it to justify to the left or right respectively while allowing text to wrap around it. Its application, although very effective as a means for rendering an entire document of elements, is a bastardization of its original intention. You say, &#8220;Who cares?&#8221; Well, as a result of the aforementioned bastardization there are precautions that must be taken to make sure that a page is rendered properly visually when using floats this way.</p>
<p>The main issue presented by floating elements is that a floated element is not automatically recognized by its containing parent element. In my opinion this was a flaw in its application from the get-go. Regardless as to the element being floated its parent element&#8217;s size should change accordingly to accommodate the floated element. It does not (without some trickery).</p>
<p>The second and daunting issue with floats is that you can&#8217;t center floated items. So if you have a list where you&#8217;d like the items centered in your document and you&#8217;ve floated the list&#8217;s items you&#8217;d need to set a width to the list to be able to center it properly. This means no more purely dynamic list. Whenever you add or subtract an item you&#8217;ll need to update the width of the list to make sure it stays centered. For this I don&#8217;t like floats for anything centered.</p>
<p>Notice below that the parent element with a 3 pixel border does not properly resize to envelope its child which is 200 pixel in height.</p>
<div style="border: 3px solid #333;">
<div style="float: left; width: 200px; height: 200px; background: #ccc;">This is a floated element which is floated to the left and has a parent element with a 3 pixel border.</div>
</div>
<p><br style="clear: both;" /></p>
<h3>The float everything method</h3>
<p>This method is fairly self explanatory. For some reason a  floated parent recognizes the size of its children who are also floated. I find this to be a week option but one I employed myself for quite some time. Look back at some of my old sites and have a giggle. This method requires making sure most of your elements are floated which means a lot more CSS. I recommend against this method. One of its main issues is the addition of plugins or add-ons which use their own CSS or the minute styling details you&#8217;ll need to delve into when adding things inline with content. And don&#8217;t get me started on how fun this becomes when your talking about forms and form elements and how poorly they&#8217;ll begin to play with others. Move on from this method.</p>
<h3>The clear fix</h3>
<p>The &#8220;clear fix&#8221; is probably the most widely used solution to the float issue and is being employed in the above example to ensure that this text does not sit directly under the seemingly empty parent container. CSS has a command entitled &#8220;clear&#8221;. The clear command when applied to an element forces that element to be rendered under floated elements which float matching the associated value. The above example uses the command &#8220;clear:left;&#8221;. This command will make the element it is applied to clear any element rendered in its path that is floated to the left. Other values include &#8220;right&#8221;,&#8221;none&#8221; and &#8220;both&#8221;.</p>
<p>The clear fix is clunky. You need extra html mark-up placed in your code wherever something is floated. It&#8217;s just plain inelegant but it works. The following code does the trick:</p>
<pre>&lt;div class="non-floated-parent"&gt;
     &lt;div class="floated-child"&gt;
          This is a floated element which is floated to the
          left and has a parent element with a 3 pixel border.
     &lt;/div&gt;
     &lt;br style="clear: left;" /&gt;
&lt;/div&gt;</pre>
<h3>The overflow method</h3>
<p>The overflow method is the most elegant solution. It&#8217;s pure CSS. There is no need for extra mark-up. No need to alter your templates or HTML. However, you still need to add a few lines of CSS to any element which is not floated and has floated children. This method consists of adding a CSS width and overflow attribute to the containing element. Like so:</p>
<pre>.parent {
     overflow:hidden;
     width:100%
     border:3px solid #333;
}</pre>
<p>The child can then be set up like so:</p>
<pre>.child {
     float:left;
     width:200px;
     height:200px;
     background:#ccc;
}</pre>
<p>The above code will produce this:</p>
<div style="overflow: hidden; width: 100%; border: 3px solid #333;">
<div style="float: left; width: 200px; height: 200px; background: #ccc;">
<p>This is a floated element which is floated to the left and has a parent element with a 3 pixel border.</p>
</div>
</div>
<p>This method requires a minimum of one CSS command be applied to each or a group of parent element(s). I like this one the best so far in terms of floating elements.</p>
<h3>Articles to read on floats:</h3>
<ul>
<li><a href="http://www.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/" target="_blank">http://www.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/</a></li>
<li><a href="http://www.quirksmode.org/css/clearing.html" target="_blank">http://www.quirksmode.org/css/clearing.html</a></li>
<li><a href="http://www.positioniseverything.net/easyclearing.html" target="_blank">http://www.positioniseverything.net/easyclearing.html</a></li>
</ul>
<h2>The Inline-Block</h2>
<p>The inline-block method is just as quirky (maybe quirkier) as the float method and requires its own work-arounds. Firstly, Internet Explorer 7.x and earlier does not care to treat an inline-block element as an inline element. It only assigns it block level status. This means that just like a block level element inline-blocks are rendered on their own lines regardless as to the space they consume on the horizontal plain. This requires you to use conditional CSS commands to reset anything set as an inline-block which needs to actually be rendered inline as simply &#8220;inline&#8221;.</p>
<p>Also, vertical alignment at times becomes an issue with inline-blocks. So you&#8217;ll need to account for this by using the CSS command &#8220;vertical-align&#8221;. Lastly and probably the most daunting issue with inline-blocks is that when they align themselves they recognize whitespace such as a carriage return or a tab character in the actual html mark-up as an inline element and depending on your font-size (because yes your font-sizes are applied to whitespace) you&#8217;ll see space between things like list elements which you&#8217;re attempting to render on one line butted up against each other. There are solutions for all of these things.</p>
<p>Here is a menu styled using the inline block method:</p>
<div style="vertical-align: baseline;">
<ul style="display: inline-block; border: 3px solid #333; margin: 0; padding: 0; list-style: none;">
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px;">List Item 1</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px;">List Item 2</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px;">List Item 3</li>
</ul>
</div>
<p>Notice that if you&#8217;re using IE 7 or earlier the list items are rendered on their own lines. If you&#8217;re not using IE7 or earlier but wish to see what it would look like, it looks like this:</p>
<ul style="display: block; border: 3px solid #333; margin: 0; padding: 0; list-style: none;">
<li style="display: block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px;">List Item 1</li>
<li style="display: block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px;">List Item 2</li>
<li style="display: block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px;">List Item 3</li>
</ul>
<h3>The IE 7.x and earlier issue</h3>
<p>The way I resolve this is with conditional stylesheets. You can read about that here: <a href="http://css-tricks.com/how-to-create-an-ie-only-stylesheet/" target="_blank">http://css-tricks.com/how-to-create-an-ie-only-stylesheet/</a>.</p>
<p>More often than not I am using the float or inline-block element for either my columns or my navigational lists. Here is the code I would use for my lists for all non-IE7 and earlier browsers:</p>
<pre>ul, li { display:inline-block;margin:0;padding:0;list-style:none; }</pre>
<p>This will set up your lists nicely for you to style them individually throughout your pages. Here is what the CSS should look like in your conditional style-sheet:</p>
<pre>ul, li { display:inline; }</pre>
<p>Thats all you need to fix the IE 7.x and earlier issue. I use conditional stylesheets anyway because I prefer to use CSS for my png&#8217;s over javascript.</p>
<h3>The Vertical Alignment Issue</h3>
<p>Take a look at this menu with mixed heights:</p>
<ul style="display: inline-block; border: 3px solid #333; margin: 0; padding: 0; list-style: none;">
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px; vertical-align: baseline;">List Item 1</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 30px; vertical-align: baseline;">List Item 2</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 14px; vertical-align: baseline;">List Item 3</li>
</ul>
<p>Notice that the vertical plain the items are rendered in is set by the text inside the list items. The text is rendered inline with all the other text. This is an issue when setting up columns in a document as inline-blocks. You can float three divs next to each other and they&#8217;ll be rendered with the very tops of themselves as high as they&#8217;re able to go. This is not so with inline-blocks. With inline-blocks the text is respected more so than the containing element.</p>
<p>To fix this I use this code:</p>
<pre>.ul, .li { vertical-align:top; }</pre>
<p>Or so that I don&#8217;t need to set this multiple times for all elements which require it I&#8217;ll use this command which set everything to be aligned this way:</p>
<pre>* { vertical-align:top; }</pre>
<p>This code will make the above menu look like this:</p>
<ul style="display: inline-block; border: 3px solid #333; margin: 0; padding: 0; list-style: none;">
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px; vertical-align: top;">List Item 1</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 30px; vertical-align: top;">List Item 2</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 14px; vertical-align: top;">List Item 3</li>
</ul>
<p>You like? Well we still have the pesky space between the items to deal with.</p>
<h3>The Spacing Issue</h3>
<p>This one is no fun at all and may make you abandon the inline-block method and stick to the float method. I&#8217;m okay with that. Do what you&#8217;re comfortable with.</p>
<p>Okay, let&#8217;s remember that the issue at hand is the recognition of the whitespace characters like carriage returns and tabs in your actual mark-up between your elements you&#8217;re attempting to block together. The first thing you could do is simply remove the whitespace.</p>
<p>Our menu to be easily readable and editable looks like this:</p>
<pre>&lt;ul&gt;
     &lt;li&gt;List Item 1&lt;/li&gt;
     &lt;li&gt;List Item 2&lt;/li&gt;
     &lt;li&gt;List Item 3&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>To alleviate this issue right away we can write the code like this:</p>
<pre>&lt;ul&gt;&lt;li&gt;List Item 1&lt;/li&gt;&lt;li&gt;List Item 2&lt;/li&gt;&lt;li&gt;List Item 3&lt;/li&gt;&lt;/ul&gt;</pre>
<p>See below for what happens when you remove the whitespace:</p>
<ul style="display: inline-block; border: 3px solid #333; margin: 0; padding: 0; list-style: none; font-size: 0;">
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px; vertical-align: top; font-size: 14px;">List Item 1</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 30px; vertical-align: top; font-size: 14px;">List Item 2</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 14px; vertical-align: top; font-size: 14px;">List Item 3</li>
</ul>
<p>Nice! With one major exception. We can&#8217;t always do this. If you&#8217;re using a content management system or any code that renders certain aspects of your HTML for you you may not be able to effectively remove all that whitespace. Now what?</p>
<p>Well, remember your browser sees that whitespace as text so it is assigning a font-size to it. Let&#8217;s see what happens when we set the ul&#8217;s font-size to zero:</p>
<ul style="display: inline-block; border: 3px solid #333; margin: 0; padding: 0; list-style: none; font-size: 0;">
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 25px; vertical-align: top;">List Item 1</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 30px; vertical-align: top;">List Item 2</li>
<li style="display: inline-block; width: 100px; background: #ccc; margin: 0; padding: 0; list-style: none; line-height: 14px; vertical-align: top;">List Item 3</li>
</ul>
<p>That works great! Except now we are unable to see the text inside the list items. So If we want to set the font-size to zero we need to do this to the parent element (the ul) and then reset the text of the list items back to what we want them to be. That&#8217;s a lot more CSS if we weren&#8217;t already specifying the font-size for the list items or any links they may parent. This method, although effective, sucks! If you&#8217;re using inline-blocks though it may become necessary.</p>
<p>There are some other tactics to circumvent the spacing issue like setting negative margins. The best way is to remove the whitespace. If you can&#8217;t do that it&#8217;ll take a few font-size command to set you straight.</p>
<h3>Articles to read on Inline-Blocks</h3>
<ul>
<li><a href="http://www.quirksmode.org/css/display.html" target="_blank">http://www.quirksmode.org/css/display.html</a></li>
<li><a href="http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/" target="_blank">http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/</a></li>
<li><a href="http://www.search-this.com/2008/08/28/lets-all-get-inline-in-a-block-in-a-block/" target="_blank">http://www.search-this.com/2008/08/28/lets-all-get-inline-in-a-block-in-a-block/</a></li>
</ul>
<h2>Float vs. Inline-block Chart</h2>
<table width="100%;">
<thead>
<tr>
<th>Method</th>
<th>Issues</th>
<th>Solvable</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Float</strong></td>
<td></td>
<td>Not entirely</td>
</tr>
<tr>
<td></td>
<td>Clear</td>
<td>Yes</td>
</tr>
<tr>
<td></td>
<td>Can&#8217;t center floats</td>
<td>Not really but yes depending on your definition</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Inline-block</strong></td>
<td></td>
<td>Yes</td>
</tr>
<tr>
<td></td>
<td>IE 7.x and earlier</td>
<td>Yes</td>
</tr>
<tr>
<td></td>
<td>Vertical align</td>
<td>Yes</td>
</tr>
<tr>
<td></td>
<td>Whitespace</td>
<td>Yes but it can get clunky at times</td>
</tr>
</tbody>
</table>
<h2>In Summary</h2>
<p>Each method has its own symptoms and repercussions. There are solutions to all the problems that both of these methods produce. Some of the solutions are actual solutions and others are work arounds. It seems to make the most sense to not adhere strongly to one method and use them in situations that call for them. How do you know which situation calls for which method? Use the one where you can employ actual pure CSS solutions instead of work arounds. Don&#8217;t lose the dynamics of your pages by having to update the CSS every time you need to make a change.</p>
<p>For instance, I&#8217;ll use floats for images (their original intention) and when dealing with areas of pages with fixed heights. A fixed height means no need for a clear fix. I&#8217;ll use inline-blocks for template columns. Columns are a part of the template that aren&#8217;t usually dynamically driven so it&#8217;s easy to remove whitespace between the column elements. For menus and navigation inline-blocks work great for vertically aligned lists and with the vertical-align and font-size fixes are great for horizontal menus that are center aligned. Usually horizontal navigation has a fixed height so floats are okay. However, and a big however, if you&#8217;re dynamically generating your horizontal menus and floating the items right they&#8217;ll be rendered in reverse order. In which case, I&#8217;ll usually use inline-blocks for right justified horizontal navigation or really any navigation where I don&#8217;t care if there is a little space between the elements.</p>
<p>First and foremost, write efficient compact code in whatever way makes you happy, comfortable or suits your compulsions. I know I do. Happy codings.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/blog/float-vs-inline-block/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Site Launch &#8211; MockTurtle.org</title>
		<link>http://blog.ternstyle.us/news/site-launch-mockturtle-org</link>
		<comments>http://blog.ternstyle.us/news/site-launch-mockturtle-org#comments</comments>
		<pubDate>Thu, 07 Jan 2010 22:39:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=364</guid>
		<description><![CDATA[This was a fun one folks. Mock Turtle is a neat little family and child oriented marionette puppet show theatre. All the puppets are hand-crafted by the organization&#8217;s owner Doug Roysdon. Doug is an eccentric with an intellect affixed on creativity and an expansive vocabulary. Needless to say the meetings leading up to and during [...]]]></description>
			<content:encoded><![CDATA[<p>This was a fun one folks. Mock Turtle is a neat little family and child oriented marionette puppet show theatre. All the puppets are hand-crafted by the organization&#8217;s owner Doug Roysdon. Doug is an eccentric with an intellect affixed on creativity and an expansive vocabulary.<span id="more-364"></span> Needless to say the meetings leading up to and during the launch of the site were interesting and entertaining.</p>
<p>When Doug contacted me I wasn&#8217;t even aware of his position in the community here in Bethlehem, PA. Now that the site is launched, the new year has arrived and budgets have rolled over it&#8217;ll be time to catch one of Mock Turtle&#8217;s shows which are run primarily out of the <a href="http://findlocal.mcall.com/bethlehem/home/na/charles-a-brown-ice-house-bethlehem-venue">Charles Brown Ice House</a> just over the Lehigh on the north side of Bethlehem. Visit the various schedules on Mock Turtle&#8217;s site to see when you can come out and see a show.</p>
<p>Visit the site here:<br />
<a href="http://mockturtle.org/">MockTurtle.org</a></p>
<p>Let me know if you enjoy the design. The puppets on the homepage slider are my favorite part.</p>
<p>Thanks for visiting,<br />
~ matthew</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/news/site-launch-mockturtle-org/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thanks on Thanksgiving</title>
		<link>http://blog.ternstyle.us/blog/thanks-on-thanksgiving</link>
		<comments>http://blog.ternstyle.us/blog/thanks-on-thanksgiving#comments</comments>
		<pubDate>Sat, 28 Nov 2009 20:06:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=348</guid>
		<description><![CDATA[I&#8217;ve been writing WordPress plugins for more than a year now. Most of what I have programmed I make available for free in the WordPress plugin database. Other work is proprietary and developed specifically for clients. My plugins have been download thousands of times and to date (clients aside) I&#8217;ve received over 300 emails asking [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been writing WordPress plugins for more than a year now. Most of what I have programmed I make available for free in the WordPress plugin database. Other work is proprietary and developed specifically for clients. My plugins have been download thousands of times and to date (clients aside) I&#8217;ve received over 300 emails asking questions about my plugins.<span id="more-348"></span> Often I get the standard &#8220;Great plugin!&#8221;. Usually I at least get a &#8220;thanks&#8221;. This Black Friday however I received the following email:</p>
<p>I just want to say great plugins. I love the way you think and as soon as I make some money i will send you donations (i&#8217;m broke) I wish you all the best and hope all your wants and wishes come true.<br />
sincerly,<br />
Steve</p>
<p>Thank you Steve. Your gratitude does not go unappreciated. I don&#8217;t care that you don&#8217;t have money to donate; just thank you for using my plugins. I am glad they are a help to you. Oh, and I like the way I think as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/blog/thanks-on-thanksgiving/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Design Launched</title>
		<link>http://blog.ternstyle.us/news/new-design-launched</link>
		<comments>http://blog.ternstyle.us/news/new-design-launched#comments</comments>
		<pubDate>Mon, 23 Nov 2009 03:59:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.ternstyle.us/?p=215</guid>
		<description><![CDATA[Time is precious. Time is money. It&#8217;s hard to find time to improve my own website. Ternstyle is a web programming and web design company whose own website has suffered from day one. Most of my time is spent improving the various WordPress plugins, designing websites, managing content and supporting my products; let alone research [...]]]></description>
			<content:encoded><![CDATA[<p>Time is precious. Time is money. It&#8217;s hard to find time to improve my own website. Ternstyle is a web programming and web design company whose own website has suffered from day one. Most of my time is spent improving the various WordPress plugins, designing websites, managing content and supporting my products; let alone research and skill development.<span id="more-215"></span></p>
<p>Well enough is enough. I had to take some of that time and attempt to spruce up my site a bit. Ternstyle now has a shinier face. Many of the components of the new layout were take from the previous more simplistic design but now the look is a bit glossier. Also, I moved to a 3 column layout to accommodate various social networking plugins. Make use of them! Join me on Facebook, Twitter or just subscribe to my RSS feed. Every now and then I have something to say you&#8217;ll find worthwhile.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ternstyle.us/news/new-design-launched/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
