<?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>Davin&#039;s blog &#187; CSS</title>
	<atom:link href="http://blog.davingranroth.com/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.davingranroth.com</link>
	<description>Occassional posts on user experience design, faith, and family.</description>
	<lastBuildDate>Sun, 18 Jul 2010 17:17:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Marking up breadcrumb navigation</title>
		<link>http://blog.davingranroth.com/2009/02/marking-up-breadcrumb-navigation/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=marking-up-breadcrumb-navigation</link>
		<comments>http://blog.davingranroth.com/2009/02/marking-up-breadcrumb-navigation/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 13:51:31 +0000</pubDate>
		<dc:creator>Davin Granroth</dc:creator>
				<category><![CDATA[Web design and technology]]></category>
		<category><![CDATA[breadcrumbs]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://blog.davingranroth.com/?p=660</guid>
		<description><![CDATA[code{white-space: pre;} ol#breadcrumbs{ list-style-type: none; margin: 0px; padding: 6px 3px 4px 3px; font-size: .8em; display: block; border: 1px solid #ccc; background-color: #eee; } ol#breadcrumbs li{ display: inline; white-space: nowrap; margin: 0px; padding: 0px; } ol#breadcrumbs li:after{ content: " > "; &#8230; <a href="http://blog.davingranroth.com/2009/02/marking-up-breadcrumb-navigation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><!-- Yes, I know this isn't valid, but I don't see another quick way of inserting custom CSS on this blog page. --></p>
<style type="text/css">
    code{white-space: pre;}
    ol#breadcrumbs{
        list-style-type: none;
        margin: 0px;
        padding: 6px 3px 4px 3px;
        font-size: .8em;
        display: block;
        border: 1px solid #ccc;
        background-color: #eee;
    }
    ol#breadcrumbs li{
        display: inline;
        white-space: nowrap;
        margin: 0px;
        padding: 0px;
    }
    ol#breadcrumbs li:after{
        content: " > ";
    }
    ol#breadcrumbs li.current_page:after{
        content: "";
    }
</style>
<p>Breadcrumb navigation is a secondary navigation system that usually represents a site visitor&#8217;s current position in the site, showing other pages above the current one in the site&#8217;s hierarchy.</p>
<p>In some sites, like those built with Dokuwiki, breadcrumbs actually show the history of the user&#8217;s session instead of the hierarchy of the user&#8217;s current position in the website.</p>
<p>Breadcrumb navigation is typically found at the top of a content region, and usually below primary tabbed navigation.</p>
<h3>History? Bah, yesterday&#8217;s newspaper.</h3>
<p>In his <a href="http://www.useit.com/alertbox/breadcrumbs.html">April 10, 2007 Alertbox, <cite>Breadcrumb Navigation Increasingly Useful</cite></a>, Jakob Nielsen declares, <q>Breadcrumbs should <strong>show the site hierarchy</strong>, not the user&#8217;s history.</q></p>
<p>For the purposes of conceiving of solid, semantic markup, let&#8217;s agree with Nielsen. Breadcrumbs represent position in a site&#8217;s hierarchy.</p>
<h3>Semantic values: hierarchy, location, current position</h3>
<p>In hierarchical breadcrumb navigation, the following aspects of information are important.</p>
<ul>
<li>Steps in the hierarchy that show broader sections of the site related to current position, i.e., the ancestors of the current page</li>
<li>The order of those steps</li>
<li>The ability to immediately jump to any ancestor page</li>
<li>Indication of the current page, which should not be linked</li>
</ul>
<h3>The markup</h3>
<p>So, with those in mind, here is an example that provides just enough code and semantics, and little else.</p>
<p><code><br />
&lt;ol id=&quot;breadcrumbs&quot;&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../../../../../&quot;&gt;Kim Jong Il&#8217;s Favorite Widgets, LLC&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../../../../&quot;&gt;Military&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../../../&quot;&gt;Nuclear&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../../&quot;&gt;Warheads&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../../&quot;&gt;Just for funsies&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li&gt;&lt;a href=&quot;../&quot;&gt;2006&lt;/a&gt;&lt;/li&gt;<br />
    &lt;li class=&quot;current_page&quot;&gt;Gilju, Hamgyong province, 0136 GMT&lt;/li&gt;<br />
&lt;/ol&gt;<br />
</code></p>
<p>This markup is fairly lean, yet does communicate the order of steps via the ordered list.</p>
<p>Note that the Project Cerbera website provides a nice discussion and some <a href="http://projectcerbera.com/web/articles/breadcrumbs-markup">other examples of breadcrumbs markup</a> that are in line with this approach.</p>
<p>The examples at Project Cerbera also show nested lists to indicate the nested nature of the links, but that is over-the-top. The simple ordered list sufficiently communicates the order of steps in the hierarchy, without providing additional markup noise for a screen reader to announce or a designer to style.</p>
<h3>Style</h3>
<p>The breadcrumbs should strive to follow conventions.</p>
<ul>
<li>Take up one line</li>
<li>Use a standard separator between steps, like &gt;</li>
<li>Each step links to an appropriate page using standard link indicators (underlined and colored)
<ul>
<li>Except for the last step, which should be unlinked and represent the current page</li>
</ul>
</li>
</ul>
<h4>Unstyled example</h4>
<ol>
<li><a href="../../../../../../">Kim Jong Il&#8217;s Favorite Widgets, LLC</a></li>
<li><a href="../../../../../">Military</a></li>
<li><a href="../../../../">Nuclear</a></li>
<li><a href="../../../">Warheads</a></li>
<li><a href="../../">Just for funsies</a></li>
<li><a href="../">2006</a></li>
<li class="current_page">Gilju, Hamgyong province, 0136 GMT</li>
</ol>
<h4>Styled example</h4>
<ol id="breadcrumbs">
<li><a href="../../../../../../">Kim Jong Il&#8217;s Favorite Widgets, LLC</a></li>
<li><a href="../../../../../">Military</a></li>
<li><a href="../../../../">Nuclear</a></li>
<li><a href="../../../">Warheads</a></li>
<li><a href="../../">Just for funsies</a></li>
<li><a href="../">2006</a></li>
<li class="current_page">Gilju, Hamgyong province, 0136 GMT</li>
</ol>
<p>Minor variations could include having the current page item be in a bold font, however, breadcrumbs are <em>secondary</em> navigation. They don&#8217;t need to attract much attention.</p>
<p>To reference the Project Cerbera site again, the examples there use a greater-than background-image on the list items. That technique may stand better in cross-browser tests than the use of the <var>after</var> pseudo-class used here.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.davingranroth.com/2009/02/marking-up-breadcrumb-navigation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diagram of XHTML, CSS, JavaScript as types of code in a web page</title>
		<link>http://blog.davingranroth.com/2005/10/diagram-of-xhtml-css-javascript-as-types-of-code-in-a-web-page/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=diagram-of-xhtml-css-javascript-as-types-of-code-in-a-web-page</link>
		<comments>http://blog.davingranroth.com/2005/10/diagram-of-xhtml-css-javascript-as-types-of-code-in-a-web-page/#comments</comments>
		<pubDate>Mon, 03 Oct 2005 21:36:00 +0000</pubDate>
		<dc:creator>Davin Granroth</dc:creator>
				<category><![CDATA[Web design and technology]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.davingranroth.com/?p=284</guid>
		<description><![CDATA[I&#8217;m thinking of using this diagram in an XHTML class I may be teaching in a couple weeks. The idea is to put XHTML, CSS, and Javascript in context with each other—yet to also illustrate that they are separate types &#8230; <a href="http://blog.davingranroth.com/2005/10/diagram-of-xhtml-css-javascript-as-types-of-code-in-a-web-page/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_479" class="wp-caption alignnone" style="width: 310px"><a href="http://blog.davingranroth.com/wp-content/uploads/2008/12/xhtml-css-jscript-webpage.png"><img class="size-medium wp-image-479" title="XHTML, CSS, Javascript as part of a web page" src="http://blog.davingranroth.com/wp-content/uploads/2008/12/xhtml-css-jscript-webpage-300x145.png" alt="XHTML, CSS, Javascript as part of a web page" width="300" height="145" /></a><p class="wp-caption-text">XHTML, CSS, Javascript: Cumulative aspects of a web page. Click the image for a larger version.</p></div>
<p>I&#8217;m thinking of using this diagram in an XHTML class I may be teaching in a couple weeks. The idea is to put XHTML, CSS, and Javascript in context with each other—yet to also illustrate that they are separate types of code and often are actually different files altogether.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.davingranroth.com/2005/10/diagram-of-xhtml-css-javascript-as-types-of-code-in-a-web-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why use CSS-based layouts?</title>
		<link>http://blog.davingranroth.com/2005/09/why-use-css-based-layouts/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=why-use-css-based-layouts</link>
		<comments>http://blog.davingranroth.com/2005/09/why-use-css-based-layouts/#comments</comments>
		<pubDate>Thu, 29 Sep 2005 18:40:09 +0000</pubDate>
		<dc:creator>Davin Granroth</dc:creator>
				<category><![CDATA[Web design and technology]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://blog.davingranroth.com/?p=282</guid>
		<description><![CDATA[
 <a href="http://blog.davingranroth.com/2005/09/why-use-css-based-layouts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was prepping for a Dreamweaver class a couple months ago and was fiddling around with the practice files that came as part of the course material. There is a whole lesson devoted to using html tables as a tool to do page layouts. This poses an issue for me.</p>
<p>My primary job for the last six years or so has been to create web sites. It has been about three years since I did a web site that relied on tables for layout. Simply, there is no really compelling reason to continue to use tables for web page layouts anymore. Further, there are solid reasons to stop.</p>
<p>So, I reworked their basic practice file to use xhtml and css instead of html and tables. <a href="http://www.msu.edu/~granroth/lcttp/DWpractice/">Here&#8217;s a comparison of the two versions.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.davingranroth.com/2005/09/why-use-css-based-layouts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
