<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Just a Thought...: Tag css</title>
    <link>http://bloritsch.d-haven.net/articles/tag/css</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Random thoughts</description>
    <item>
      <title>Web Design 101</title>
      <description>&lt;p&gt;This is a departure from the film and darkroom printing posts, so apologies and I&amp;#8217;ll be back on that later.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;d like to think I&amp;#8217;m a pretty good application designer, although some of the things that I&amp;#8217;ve seen on other sites have left me a bit jealous.  Face it, I didn&amp;#8217;t have a background in web design.  I know what I &lt;em&gt;should&lt;/em&gt; be able to do, and what it ends up looking like.  The problem is familiar to anyone who has designed for the web: IE and non-standard implementations of &lt;span class="caps"&gt;HTML&lt;/span&gt;, JavaScript, &lt;span class="caps"&gt;CSS&lt;/span&gt;, etc.  The way it&amp;#8217;s supposed to work is you whip open the standards, see what &lt;span class="caps"&gt;CSS&lt;/span&gt; can do for your style, and do it.  When you see impressive use of &lt;span class="caps"&gt;CSS&lt;/span&gt; from the &lt;a href="http://www.csszengarden.com/"&gt;&lt;span class="caps"&gt;CSS&lt;/span&gt; Zen Garden&lt;/a&gt;  you start thinking, why can&amp;#8217;t I do that?&lt;/p&gt;


	&lt;p&gt;I come from an application development background, where we can design our desktop apps with nice grid based layouts and do all kinds of fancy things.  From there I went on to web development, and have always been frustrated with my inability to escape using tables for layout.  Tables are great for lining things up, but they can cause their own issues when you start incorporating &lt;span class="caps"&gt;AJAX&lt;/span&gt; and other goodies.  Then you have to worry about what your client&amp;#8217;s browsers can do and what they can&amp;#8217;t do.  At least I don&amp;#8217;t have to worry about Netscape 4 and it&amp;#8217;s 30 second lag time to sort out nested tables anymore.&lt;/p&gt;


	&lt;p&gt;So, I think I&amp;#8217;ve solved the worst of my problems.  I solved the nonstandard JavaScript implementation problem by using &lt;a href="http://prototypejs.org"&gt;Prototype.js&lt;/a&gt;  which really made it easy to take care of &lt;span class="caps"&gt;AJAX&lt;/span&gt; support for tags and made some of my complex form handling easier.  I was still doing my own JavaScript implementations of type-ahead controls and the like.  Then I discovered &lt;a href="http://script.aculo.us"&gt;Scriptaculous&lt;/a&gt;  which took the pain out of 90% of the more advanced control issues I had.&lt;/p&gt;


	&lt;p&gt;But what could be done between the presentation hell that Internet Explorer puts me through compared to other browsers on the market?  IE positioned things just a bit off, and handled the positioning of divs a little crazy as well.  If I was going to both have a nice visual grid layout and use markup the way it was intended, I needed a solution like prototype and scriptaculous to help me out.  Enter &lt;a href="http://blueprintcss.org"&gt;Blueprint &lt;span class="caps"&gt;CSS&lt;/span&gt;&lt;/a&gt;  to take away the pain and suffering of using divs to align your content.  Now blueprint provides some nice little &amp;#8220;plugins&amp;#8221; that use &lt;span class="caps"&gt;CSS&lt;/span&gt; to do pretty buttons or decorate links with graphic icons all with pure &lt;span class="caps"&gt;CSS&lt;/span&gt;.  The graphic icons degrade gracefully as &lt;span class="caps"&gt;IE 6&lt;/span&gt; does not support the type of selectors it uses.  However, the library included a couple PNGs with transparencies.  So what does one do about the fact that &lt;span class="caps"&gt;IE 6&lt;/span&gt; does not render that nicely?  Fix it up with &lt;a href="http://labs.unitinteractive.com/unitpngfix.php"&gt;Unit &lt;span class="caps"&gt;PNG&lt;/span&gt; Fix&lt;/a&gt;  of course.&lt;/p&gt;


	&lt;p&gt;Now my header looks like this:&lt;/p&gt;


&lt;pre&gt;
    &amp;lt;head&amp;gt;
        &amp;lt;title&amp;gt;My Site&amp;lt;/title&amp;gt;
        &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&amp;gt;
        &amp;lt;link rel="stylesheet" href="css/screen.css" type="text/css" media="screen, projection"&amp;gt;
        &amp;lt;link rel="stylesheet" href="css/print.css" type="text/css" media="print"&amp;gt;
        &amp;lt;!-- Fix nonstandard IE spacing --&amp;gt;
        &amp;lt;!--[if lt IE 8]&amp;gt;&amp;lt;link rel="stylesheet" href="css/ie.css" type="text/css" media="screen, projection"&amp;gt;&amp;lt;![endif]--&amp;gt;

        &amp;lt;!-- Site CSS --&amp;gt;
        &amp;lt;link type="text/css" href="css/mysite.css" rel="stylesheet"/&amp;gt;

        &amp;lt;!-- Fix IE6 PNG transparency issues --&amp;gt;
        &amp;lt;!--[if lte IE 6]&amp;gt;&amp;lt;script type="text/javascript" src="lib/unitpngfix.js"&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;![endif]--&amp;gt;

        &amp;lt;!-- Prototype.js/Script.aculo.us  --&amp;gt;
        &amp;lt;script type="text/javascript" src="lib/prototype/prototype.js"&amp;gt;&amp;lt;/script&amp;gt;
        &amp;lt;script type="text/javascript" src="lib/scriptaculous/scriptaculous.js"&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;/head&amp;gt;
&lt;/pre&gt;

	&lt;p&gt;It seems like a lot, but it makes my life so much easier.  I highly recommend &lt;a href="http://headfirstlabs.com/books/hfwd/"&gt;Head First Web Design&lt;/a&gt;  as it covers all these wonderful concepts and more.&lt;/p&gt;</description>
      <pubDate>Fri, 17 Jul 2009 19:25:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:350b4587-3156-4f81-b2b2-c71c665ffa42</guid>
      <author>Berin Loritsch</author>
      <link>http://bloritsch.d-haven.net/articles/2009/07/17/web-design-101</link>
      <category>web</category>
      <category>design</category>
      <category>javascript</category>
      <category>scriptaculous</category>
      <category>prototypejs</category>
      <category>blueprintcss</category>
      <category>css</category>
    </item>
  </channel>
</rss>
