<?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>nekkidblogger &#187; CSS</title>
	<atom:link href="http://nekkidblogger.com/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://nekkidblogger.com</link>
	<description>SEO, CSS, Web Design and stuff</description>
	<lastBuildDate>Tue, 08 Nov 2011 01:49:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Vertical Nekkidblogger menu &#8211; Ultra-efficient CSS flyout menu</title>
		<link>http://nekkidblogger.com/2011/vertical-nekkidblogger-menu-ultra-efficient-css-flyout-menu/</link>
		<comments>http://nekkidblogger.com/2011/vertical-nekkidblogger-menu-ultra-efficient-css-flyout-menu/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 20:11:06 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS menu]]></category>
		<category><![CDATA[effective CSS]]></category>
		<category><![CDATA[flyout]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[efficient CSS menu]]></category>
		<category><![CDATA[fast CSS only menu]]></category>
		<category><![CDATA[good for SEO]]></category>
		<category><![CDATA[multi-level vertical CSS menu]]></category>
		<category><![CDATA[vertical CSS flyout menu]]></category>

		<guid isPermaLink="false">http://nekkidblogger.com/?p=619</guid>
		<description><![CDATA[The menu uses the ultra efficient Nekkidblogger menu framework, the same as I used for the horizontal CSS drop menu. It uses an accessible, standard UL (unordered list) classed with classes for the levels of the menu. The CSS is light, simple and very fast. Here it is. It only uses three &#34;structural&#34; CSS-rules for [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>The menu uses the <a href="http://nekkidblogger.com/2011/vertical-nekkidblogger-menu-ultra-efficient-css-flyout-menu/" title="CSS only, efficient dropdown menu">ultra efficient Nekkidblogger menu framework</a>, the same as I used for the horizontal CSS drop menu. It uses an accessible, standard UL (unordered list) classed with classes for the levels of the menu. The CSS is light, simple and very fast.</p>
<p>Here it is. It only uses three &quot;structural&quot; CSS-rules for a multi-level menu (no javascript):</p>
<div class="menimg">
<ul id="nekkidblogger-v">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2 »</a>
<ul class="l2">
<li><a href="#">Link 2-1</a></li>
<li><a href="#">Link 2-2</a></li>
<li><a href="#">Link 2-3</a></li>
</ul>
</li>
<li><a href="#">Link 3 »</a>
<ul class="l2">
<li><a href="#">Link 3-1</a></li>
<li><a href="#">Link 3-2 »</a>
<ul class="l3">
<li><a href="#">Link 3-2-1</a></li>
<li><a href="#">Link 3-2-2 »</a>
<ul class="l4">
<li><a href="#">Link 3-2-2-1</a></li>
<li><a href="#">Link 3-2-2-2</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Link 4</a></li>
</ul>
</div>
<p style="padding-top:25px">It is the most <a href="http://nekkidblogger.com/2011/vertical-nekkidblogger-menu-ultra-efficient-css-flyout-menu/">efficient menu</a> there is: no complex CSS rules with long lists of descendant selectors and a clear separation between presentational and structural elements.</p>
<p>The menu has been tested extensively and works well in all modern browsers: Chrome, Firefox, Internet Explorer from IE 7 and up, as well as Safari and Opera. For IE6 some fixes are required. You can find these, along with the markup and CSS for this menu, in <a href="http://nekkidblogger.com/nekkidblogger-menu-vertical.html" title="Demo: Nekkidblogger vertical flyout menu" target="_blank">the online demo</a>.</p>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2011/vertical-nekkidblogger-menu-ultra-efficient-css-flyout-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ultra-efficient CSS/HTML drop menu: Nekkidblogger menu</title>
		<link>http://nekkidblogger.com/2011/ultra-efficient-css-html-drop-menu-nekkidblogger-menu/</link>
		<comments>http://nekkidblogger.com/2011/ultra-efficient-css-html-drop-menu-nekkidblogger-menu/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 22:27:35 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS menu]]></category>
		<category><![CDATA[dropdown]]></category>
		<category><![CDATA[effective CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[website speed]]></category>
		<category><![CDATA[CSS drop meu]]></category>
		<category><![CDATA[CSS dropdown menu]]></category>
		<category><![CDATA[fast menu]]></category>
		<category><![CDATA[pure CSS]]></category>
		<category><![CDATA[rendering speed]]></category>

		<guid isPermaLink="false">http://www.nekkidblogger.com/?p=491</guid>
		<description><![CDATA[Introduction Over the last couple of years there has been an increasing focus on Web page speed. Partly this is due to initiatives by Google and Yahoo, partly it is due to the explosive increase in web browsing on devices such as iPads and advanced cell phones (iPhone, Androids, etc). Gradually, the focus on speed [...]]]></description>
			<content:encoded><![CDATA[<p></p><h3>Introduction</h3>
<p>Over the last couple of years there has been an increasing focus on Web page speed. Partly this is due to initiatives by Google and Yahoo, partly it is due to the explosive increase in web browsing on devices such as iPads and advanced cell phones (iPhone, Androids, etc).</p>
<p>Gradually, the focus on speed has also resulted in increased attention being devoted to more efficient CSS. Efficient HTML and CSS can help improve rendering speed significantly, not least on mobile devices with slower processors. I have done a lot of work to speed up web sites lately, and in the process I have noticed that menu systems is an area where there is a lot of inefficient CSS floating around. It turns out there is lots of room for improvements.</p>
<h3>Markup (HTML)</h3>
<p>What we want is a HTML/CSS menu with very efficient CSS. In the example I use a horizontal 4-level dropdown menu.</p>
<p>The markup is basically a standard unordered list (&lt;ul&gt;&lt;li&gt;). I have highlighted the non-standard features. It has <code>id="nekkidblogger"</code> and each of the sub-levels (nested lists) have classes describing the level: <span class="hli">level2</span>, <span class="hli">level3</span> and <span class="hli">level4</span>.</p>
<p>Usually lists used in menus are not styled with classes like this. However, doing it this way has some great advantages: It makes it easy to build a CSS menu with very few style rules; it allows for very efficient CSS; and provides (as a kind of bonus) convenient &quot;hooks&quot; (i.e. the &quot;level&quot; classes&quot;) for styling if one wants to style the dropdown levels differently from the top level.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
</pre>
<pre><span class="html"><span class="html-other-element">&lt;ul id=<span class="html-attribute">&quot;nekkidblogger&quot;</span>&gt;</span>
<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 1<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 2<span class="html-anchor-element">&lt;/a&gt;</span>
  <span class="html-other-element">&lt;ul class=<span class="html-attribute">&quot;level2&quot;</span>&gt;</span>
    <span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 2-1<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
    <span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 2-2<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
    <span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 2-3<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
  <span class="html-other-element">&lt;/ul&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3<span class="html-anchor-element">&lt;/a&gt;</span>
  <span class="html-other-element">&lt;ul class=<span class="html-attribute">&quot;level2&quot;</span>&gt;</span>
    <span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3-1<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
    <span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3-2<span class="html-anchor-element">&lt;/a&gt;</span>
       <span class="html-other-element">&lt;ul class=<span class="html-attribute">&quot;level3&quot;</span>&gt;</span>
         <span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3-2-1<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
         <span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3-2-2<span class="html-anchor-element">&lt;/a&gt;</span>
            <span class="html-other-element">&lt;ul class=<span class="html-attribute">&quot;level4&quot;</span>&gt;</span>
              <span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3-2-2-1<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
              <span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3-2-2-2<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
            <span class="html-other-element">&lt;/ul&gt;</span><span class="html-other-element">&lt;/li&gt;</span><span class="html-other-element">&lt;/ul&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
  <span class="html-other-element">&lt;/ul&gt;</span><span class="html-other-element">&lt;/li&gt;</span><span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 4<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
<span class="html-other-element">&lt;/ul&gt;</span></span></pre>
</div>
<div class="display2">
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a>
<ul>
<li><a href="#">Link 2-1</a></li>
<li><a href="#">Link 2-2</a></li>
<li><a href="#">Link 2-3</a></li>
</ul>
</li>
<li><a href="#">Link 3</a>
<ul>
<li><a href="#">Link 3-1</a></li>
<li><a href="#">Link 3-2</a>
<ul>
<li><a href="#">Link 3-2-1</a></li>
<li><a href="#">Link 3-2-2</a>
<ul>
<li><a href="#">Link 3-2-2-1</a></li>
<li><a href="#">Link 3-2-2-2</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Link 4</a></li>
</ul>
</div>
<p>On the right it is shown without styling. This is a standard unordered list. The &lt;ul&gt; for the overall menu has id=&#8221;nekkidblogger&#8221;. It has four top level links, and under Link 3 there are three dropdown levels. This is more than sufficient for a demonstration &#8211; there is no need to fill it up with lots of dropdown elements. </p>
<p>So now we are ready to give it structure and style!</p>
<h2>CSS for the Nekkidblogger menu</h2>
<p>One of the keys to efficient CSS is to use the &quot;cascade&quot; as much as possible &#8211; to allow &quot;child-elements&quot; to inherit as much as possible from &quot;parent&quot; elements. So here I don&#8217;t define selectors to the extent that I can avoid it. Also, I try to only style elements once, and then let inheritance take care of as much as possible.</p>
<p>In the following I mark the rules that are structural (makes the menu work as it should) as &#8220;Rule&#8221; and the presentational style rules as &#8220;Style&#8221; in order to clearly separate the two.</p>
<pre><span class="hli">#nekkidblogger ul</span> {padding:0;margin:0;} (<span class="rule">Style 1</span>)</pre>
</p>
<p>This isn&#8217;t really part of the menu, but useful for setting the context. If you use a CSS reset, you don&#8217;t need this. Also, you may prefer simply <code><span class="hli"> ul, li</span> {padding:0;margin:0;}</code>. I use the more specific reset here (for the &quot;nekkidblogger&quot;-id only) since this is a blog where the general rules have been set for other purposes.</p>
<h3><strong>The Top level</strong></h3>
<pre><span class="hli">#nekkidblogger li</span> { list-style:none; position:relative; float:left;
    text-align:center; margin-right:5px; font: 10px verdana,
    sans-serif; } (<span class="rule">Rule 1</span>)</pre>
<p>This is the first structural rule of the menu. Here &quot;<strong>list-style</strong>&quot;, &quot;<strong>position</strong>&quot; and &quot;<strong>float</strong>&quot; are necessary structural elements, while &quot;text-align&quot; and &quot;margin&quot; are presentational. Note that I style the <strong>a</strong>-selector, not the &lt;li&gt;. The &lt;li&gt;-element adapts to its content &#8211; so we don&#8217;t need to define a &quot;width&quot; here for example.</p>
<pre><span class="hli">#nekkidblogger a</span> { display: block; width: 8em; color: black;
     line-height: 30px; text-decoration: none; background: silver;
     border:1px solid #fff; margin: 0 -1px -1px 0; } (<span class="rule">Style 2</span>)</pre>
<p>Here everything is presentational. &quot;<strong>display:block</strong>&quot; is important in order to display the links as boxes. &quot;width&quot;, &quot;height&quot; and the rest is styling. I set the properties of the links here, and then they are inherited by the sub-levels. In your own menu, you may want to style the dropdowns as well.</p>
<pre><span class="hli">#nekkidblogger :hover &gt; a</span> { background:#7B7B7B;
         color:yellow } (<span class="rule">Style 3</span>)</pre>
<p>This is a presentational element only &#8211; we don&#8217;t need to set different properties for the hover state &#8211; but most often one does that in menus to make them look better. Here I style the hovered link as well as the whole hover path instead of just the hovered link (one usually uses simply &quot;a:hover&quot;). I picked up and adapted this neat little trick from the excellent <a href="http://www.cssplay.co.uk/">CSS experiments by Stu Nicolls</a>.</p>
<p>What we have done so far (we have also &quot;set the stage&quot; for the lower levels):
</p>
<ul id="nekkidblogger">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
</ul>
<h3 class="clepad"><strong>Second and lower levels</strong></h3>
<p>The rest is purely structural &#8211; no presentational elements, as I simply let the lower levels of the menu inherit everything, including the hover state (see Style 3). However, I will show you how you easily can style the lower levels yourself if you want to:</p>
<h4><strong>A. Style the boxes</strong></h4>
<p>The classes &quot;.level2-.level(n)&quot; provide &quot;hooks&quot; that you can easily use to format the lower levels.</p>
<p>We could, for instance, give a different style to level two and the lower levels &#8211; just style &quot;.level2&quot; and let the lower levels inherit. Or we could style each level separately. For instance:</p>
<pre><span class="hli">#nekkidblogger .level2 a</span> { background: #FFF; height: 25px; etc .. }</pre>
<p>And/or, we could style the lower levels like so: </p>
<pre><span class="hli">#nekkidblogger .level3 a</span> { ... }</pre>
<pre><span class="hli">#nekkidblogger .level4 a</span> { ... }</pre>
<p>OK. Back to the nekkidblogger menu:</p>
<h4><strong>B. Position the dropdown boxes</strong></h4>
<p>The top level is horizontal. We want to drop the second level down vertically from it. We have defined the &lt;li&gt;&#8217;s to be relative, so now we position the dropdown (.level2) in relation to them:</p>
<pre><span class="hli">.level2</span> { position:absolute; top:30px; left:0;  }  (<span class="rule">Rule 2</span>)</pre>
<p>Here &quot;left:0&quot; is default in the good browsers, so we should not need to specify it, but as it for some reason is not so in IE (surprise?), we still must. 30px is the line-height &#8211; see Style 2.</p>
<p>The next two levels &#8211; level 3 and level 4 &#8211; we want to fly out to the right of level 2. 8 em is the width of the <strong>a</strong>-element (see Style 2). I add .08em (about 1px &#8211; the width of the border) for good alignment. So:
</p>
<pre><span class="hli">.level3,.level4</span> { position:absolute; top:0; left:8.08em; } (<span class="rule">Rule 3</span>)</pre>
<h4><strong>C. Dropdowns: Hide and make visible when hover</strong></h4>
<pre><span class="hli">.level2,.level3,.level4</span> {visibility:hidden} (<span class="rule">Rule 4</span>)</pre>
<p>We need to hide all levels separately &#8211; if we let &quot;hidden&quot;-property be inherited, then the &quot;visible&quot;-property will be too, and all levels would show up when we hovered a given level. Also note that if you want to add another level or two to the menu, all you need is to insert the correct classes in the HTML for the list and then add &quot;.level5, .level6&quot; in Rules 3 and 4. So adding N more levels, using the Nekkidblogger menu framework, does not add to the complexity of the CSS.</p>
<pre><span class="hli">#nekkidblogger :hover &gt; ul</span> { visibility:visible; }(<span class="rule">Rule 5</span>)</pre>
<p>Makes the child elements of a &lt;ul&gt;  visible when &lt;li&gt; is hovered (but only the child-elements, not the &quot;grand-children&quot;).  And that&#8217;s all!</p>
<p>Here is the menu: </p>
<div class="menimg">
<ul id="nekkidblogger">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a>
<ul class="level2">
<li><a href="#">Link 2-1</a></li>
<li><a href="#">Link 2-2</a></li>
<li><a href="#">Link 2-3</a></li>
</ul>
</li>
<li><a href="#">Link 3</a>
<ul class="level2">
<li><a href="#">Link 3-1</a></li>
<li><a href="#">Link 3-2</a>
<ul class="level3">
<li><a href="#">Link 3-2-1</a></li>
<li><a href="#">Link 3-2-2</a>
<ul class="level4">
<li><a href="#">Link 3-2-2-1</a></li>
<li><a href="#">Link 3-2-2-2</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Link 4</a></li>
</ul>
</div>
<h3><strong>Final remarks</strong></h3>
<p>So, that&#8217;s it. Five &quot;structural&quot; CSS-rules for a multi-level menu (The &#8220;Style&#8221;-rules are purely presentational). The rules are also comparatively very simple, mostly very short, and computationally effective (good for fast page rendering) with minimum use of <a href="http://code.google.com/speed/page-speed/docs/rendering.html#UseEfficientCSSSelectors" title="See Google on this">descendant selectors</a>.</p>
<p>If you examine the <a href="http://nekkidblogger.com/nekkidblogger-menu.html" title="Demo of Nekkidblogger menu">live demo</a> with <a href="http://code.google.com/speed/page-speed/docs/extension.html" title="Read about PageSpeed">Google&#8217;s Page Speed</a> (using  Firefox), and look at the use of efficient selectors, you will find that it has &quot;0 very inefficient rules, 0 inefficient rules, and 2 potentially inefficient uses of :hover&quot;. The &quot;potentially inefficient ones are Style 3 and Rule 5, but they are as simple as can be.</p>
<p>If by comparison you run Page Speed on the <a href="http://www.htmldog.com/articles/suckerfish/dropdowns/example/bones3.html"><em>Son of Suckerfish</em> menu with three dropdowns</a>, which is a very widely used menu and which was published in <em>A List Apart</em>, you will find that it has &quot;7 very inefficient rules, 5 inefficient rules, and 5 potentially inefficient uses of :hover&quot;. So, there is a difference. And if Google&#8217;s Page Speed is worth anything, and if page rendering speed matters, it may well be a difference that matters.</p>
<p>The Nekkidblogger menu has been extensively tested, and works in all major browsers: Chrome, Firefox, Internet Explorer from IE 7 and up, Safari, and Opera. In <a href="http://nekkidblogger.com/nekkidblogger-menu.html" title="The Nekkidblogger menu - demo">the demo</a> I give some more detail and show the fixes necessary to make it work in IE 6.</p>
<p>See <a href="http://nekkidblogger.com/nekkidblogger-menu.html" title="copyright, terms and conditions">Copyright and Terms and Conditions, on demo page, sidebar 1.</a></p>
<p><strong>PS:</strong> In later posts I&#8217;ll show how to make the rightmost flyouts fly left and how to convert this horizontal menu into a <a href="http://nekkidblogger.com/2011/vertical-nekkidblogger-menu-ultra-efficient-css-flyout-menu/" title="Vertical CSS menu">vertical CSS menu</a> by changing only tiny bits of CSS.</p>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2011/ultra-efficient-css-html-drop-menu-nekkidblogger-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flexible and robust 3 column CSS layout</title>
		<link>http://nekkidblogger.com/2011/flexible-and-robust-3-column-css-layout/</link>
		<comments>http://nekkidblogger.com/2011/flexible-and-robust-3-column-css-layout/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 23:35:11 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Web site layout]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[3 column CSS layout]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[flexible]]></category>
		<category><![CDATA[robust]]></category>

		<guid isPermaLink="false">http://nekkidblogger.com/?p=578</guid>
		<description><![CDATA[I have just completed a new three column CSS layout designed to be extremely robust and flexible. The major DIVs are build outside in to prevent column overflow, and the layout is designed to degrade very gracefully in narrower viewports. Give it a test by clicking the demo (below is just an image) &#8211; see [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I have just completed a new three column CSS layout designed to be extremely robust and flexible. The major DIVs are build outside in to prevent column overflow, and the layout is designed to degrade very gracefully in narrower viewports. Give it a test by <a href="http://nekkidblogger.com/css-3col-flex.html" title="demo - robust three column CSS layout">clicking the demo</a> (below is just an image) &#8211; see how the header splits and the sidebars fold under one another as you make the viewport narrower.</p>
<p>It&#8217;s designed for ads in the header and 25o px wide ads in the middle sidebar. Have fun!</p>
<p style="text-align: center;"><img src="/pics/three-column-CSS.jpg" alt="Three column CSS layout" width="500" height="258" /></p>
<p>You can get the markup and the CSS by viewing the source of <a href="http://nekkidblogger.com/css-3col-flex.html" title="Robust and flexible 3 column CSS layout">the demo</a>!</p>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2011/flexible-and-robust-3-column-css-layout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Suckerfish revisited &#8211; CSS/HTML dropdown menu: Barebones</title>
		<link>http://nekkidblogger.com/2011/suckerfish-revisited-csshtml-dropdown-menu-barebones/</link>
		<comments>http://nekkidblogger.com/2011/suckerfish-revisited-csshtml-dropdown-menu-barebones/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 22:49:43 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS menu]]></category>
		<category><![CDATA[dropdown]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Suckerfish]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[barebones version]]></category>
		<category><![CDATA[css rules]]></category>
		<category><![CDATA[CSS/HTML]]></category>
		<category><![CDATA[dropdown menu]]></category>
		<category><![CDATA[styling]]></category>
		<category><![CDATA[Suckerfish menu]]></category>
		<category><![CDATA[visibility:hidden]]></category>

		<guid isPermaLink="false">http://www.nekkidblogger.com/?p=538</guid>
		<description><![CDATA[Introduction The Suckerfish menu, first published in A List Apart in 2003, was a major achievement. The authors, Patrick Griffiths and Dan Webb, showed how to build a horizontal dropdown menu with very efficient CSS. It is often referred  to as a CSS-only menu. For browsers that didn&#8217;t support the &#8220;li:hover&#8221; (Internet Explorer &#8211; IE [...]]]></description>
			<content:encoded><![CDATA[<p></p><h2>Introduction</h2>
<p>The Suckerfish menu, first published in <a href="http://www.alistapart.com/articles/dropdowns" target="_blank">A List Apart in 2003</a>, was a major achievement. The authors, Patrick Griffiths and Dan Webb, showed how to build a horizontal dropdown menu with very efficient CSS. It is often referred  to as a CSS-only menu. For browsers that didn&#8217;t support the &#8220;li:hover&#8221; (Internet Explorer &#8211; IE &#8211; 6, of course), the authors provided a JavaScript that made the menu work even there.</p>
<h2>Markup (HTML)</h2>
<p>A standard unordered list (&lt;ul&gt;&lt;li&gt;). It has <code>class="barmenu"</code>.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre>
<pre><span class="html"><span class="html-other-element">&lt;ul class=<span class="html-attribute">&quot;barmenu&quot;</span>&gt;</span>
	<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 1<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
	<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 2<span class="html-anchor-element">&lt;/a&gt;</span>
<span class="html-other-element">&lt;ul&gt;</span>
	<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 2-1<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
	<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 2-2<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
	<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 2-3<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
<span class="html-other-element">&lt;/ul&gt;</span>
<span class="html-other-element">&lt;/li&gt;</span>
	<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3<span class="html-anchor-element">&lt;/a&gt;</span>
<span class="html-other-element">&lt;ul&gt;</span>
	<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3-1<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
	<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3-2<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
	<span class="html-other-element">&lt;li&gt;</span><span class="html-anchor-element">&lt;a href=<span class="html-attribute">&quot;#&quot;</span>&gt;</span>Link 3-3<span class="html-anchor-element">&lt;/a&gt;</span><span class="html-other-element">&lt;/li&gt;</span>
<span class="html-other-element">&lt;/ul&gt;</span>
<span class="html-other-element">&lt;/li&gt;</span>
<span class="html-other-element">&lt;/ul&gt;</span></span></pre>
</div>
<h2>CSS (with comments)</h2>
<h3>The Suckerfish</h3>
<p>The logic of the Suckerfish menu has since been used widely to build menus for web pages. The core of it was provided by the authors in a <a href="http://www.htmldog.com/articles/suckerfish/bones/" target="_blank">barebones version</a>. The Suckerfish dropdown menu uses the following 5 rules to do the job (I have included their original comments as well):</p>
<pre><span class="hli">ul</span> { /* all lists */
    padding: 0; margin: 0; list-style: none; } (<span class="rule">Rule S-1</span>)</pre>
<pre><span class="hli">li</span> { /* all list items */
     float: left; position: relative; width: 10em; }(<span class="rule">Rule S-2</span>)</pre>
<pre><span class="hli">li ul</span> { /* second-level lists */ display: none;
     position: absolute; top: 1em; left: 0; }(<span class="rule">Rule S-3</span>)</pre>
<pre><span class="hli">li&gt;ul</span> { /* to override top and left in browsers other than IE,
  which will position to the top right of the containing li, rather
  than bottom left */ top: auto; left: auto; } (<span class="rule">Rule S-4</span>)</pre>
<pre><span class="hli">li:hover ul, li.over ul</span> { /* lists nested under hovered list items */
     display: block; } (<span class="rule">Rule S-5</span>)</pre>
<p>That&#8217;s it. Five CSS rules for a dropdown. This was a major achievement at the time it was published &#8211; neat, simple, orderly rules and very cross-browser compatible. The question is: Can it be improved on now, almost ten years later, with more standards-compatible browsers and with IE 6 more or less out of the picture? As of July 2011 IE6 is <a href="http://www.w3schools.com/browsers/browsers_explorer.asp" target="_blank">used by 2.3%</a> of users. And IE7 is used by a little more than 4%!</p>
<h3>Modern CSS dropdown &#8211; barebones</h3>
<p>In the following rules you can take out the &#8220;.barmenu&#8221; if you want &#8211; I just need to use a &#8220;class&#8221; here because I have other menus and other unordered lists in this blog, so that I need to use more specific rules.</p>
<pre><span class="hli">.barmenu ul, .barmenu li</span> { /* all lists */
	padding: 0; margin: 0; list-style: none; } (<span class="rule">Rule 1</span>)</pre>
<pre><span class="hli">.barmenu li</span> { position:relative; float:left; width: 5em;
    padding:0 0 1px; } (<span class="rule">Rule 2</span>)</pre>
<p>I usually style the link element rather then the &lt;li&gt;, but since I don&#8217;t style I simply give the &lt;li&gt; a width here. This should go out when the menu is styled. The strange padding is explained below (under Rule 4).</p>
<pre><span class="hli">.barmenu li ul</span> { position:absolute; visibility:hidden;
      top:20px; left:0; }(<span class="rule">Rule 3</span>)</pre>
<p>I usually use use &#8220;visibility: hidden&#8221; and &#8220;visibility: visible&#8221; to hide and unhide the dropdown. &#8220;Visibility&#8221; was introduced in CSS2 and is well supported today. I could also have hidden the dropdown outside the viewport, positioning it absolutely at -999em, which today is another standard method. Or, I could have used &#8220;display:none&#8221;. As it turns out, all the three ways of doing it encounter similar problems in IE7 and IE8.</p>
<p><span id="more-538"></span></p>
<p>&#8220;top&#8221; and &#8220;left&#8221; above are needed for IE7 and IE8, the modern browsers (Opera, Chrome, Firefox, and Safari) do not need them. The modern browsers seem to assume &#8220;left:0&#8243; and a vertical offset equal to the current line height &#8211; both reasonable assumptions. IE, on the other hand, assumes 0 vertical offset and a default margin &lt;ul&gt; or &lt;li&gt; offset, which simply is odd.</p>
<pre><span class="hli">.barmenu :hover &gt; ul</span> { visibility: visible; margin-top:-1px;
  background: #FFF; }(<span class="rule">Rule 4</span>)</pre>
<p>(<strong>PS</strong> 9/23/2011: I have revised and changed <span class="hli">.barmenu li:hover &gt; ul</span> to <span class="hli">.barmenu :hover &gt; ul</span>.) This rule makes the child elements of a &lt;li&gt; visible when &lt;li&gt; is hovered. Note that &#8220;visibility:hidden&#8221; reputedly leads to &#8220;performance problems&#8221; in IE7 and IE8, while the modern browsers seem to handle content hidden with &#8220;visibility: hidden&#8221; quite well.</p>
<p>However, it also contains two &#8220;fixes&#8221; for IE7 and IE8. The first is &#8220;background: #FFF&#8221;. This is not included to give a background (I use white &#8211; #FFF &#8211; here anyway, so the menu inherits that) &#8211; it is there to make the display of the dropdown stable and scrollable in IE7. Without background the submenu appears as long as the mouse hovers over the parent menu item, but once you move the cursor down over the submenu, the submenu disappears. This is not what we want.</p>
<p>I have spent many hours tesing various fixes to this. The usual fixes for IE problems, such as &#8220;zoom:1&#8243; or &#8220;height:1%&#8221; don&#8217;t work here. But background does &#8211; either a color or a background image. Omer Greenwald at <a href="http://www.webtechwise.com/fix-ie7-submenu-hover-problem/" target="_blank">webtechwise.com</a> uses a transparent background image as a fix, and that seems to work just as well.</p>
<p>The other fix used here, which also seems to be required for IE7, is to make certain that the top menu and the dropdown actually &#8220;touch&#8221; one another. If there is a one pixel gap, the dropdown will disappear when you move the cursor down and over the &#8220;gap&#8221; to click the submenu items. The fix for this is to include a padding of 1px at the bottom of the &lt;li&gt; (Rule 2) and then use a negative margin of 1px to move the dropdown up into the top menu (Rule 4).</p>
<p>It is somewhat interesting to note that if you move the dropdown a little too far down &#8211; for instance &#8220;top:25px&#8221; &#8211; the problem returns.</p>
<div class="display">
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a>
<ul>
<li><a href="#">Link 2-1</a></li>
<li><a href="#">Link 2-2</a></li>
<li><a href="#">Link 2-3</a></li>
</ul>
</li>
<li><a href="#">Link 3</a>
<ul>
<li><a href="#">Link 3-1</a></li>
<li><a href="#">Link 3-2</a></li>
<li><a href="#">Link 3-3</a></li>
</ul>
</li>
</ul>
</div>
<p>Note that most of the fixes for IE used here are specific to a barebones menu. Once you style the menu, the dropdown is likely to actually touch the top level menu, so that problem disappears. And when you give color to the background &#8211; which you probably will &#8211; you take care of that issue too. (To the right is the list before we apply CSS and turn it into a menu.)</p>
<p>OK. That&#8217;s it. One rule less than the Suckerfish menu, and we don&#8217;t need any java if we don&#8217;t support the soon to be gone IE6. It works as intended in all major browsers as well as IE8 and IE7. To make it work in IE6 will require rewrites, as IE6 does not support the child selector &gt; that I use here. It will also require JavaScript as IE6 only supports the hover property on links, not on lists and other elements.</p>
<p>Here&#8217;s the menu:</p>
<div style="padding-left: 100px;">
<ul class="barmenu">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a>
<ul>
<li><a href="#">Link 2-1</a></li>
<li><a href="#">Link 2-2</a></li>
<li><a href="#">Link 2-3</a></li>
</ul>
</li>
<li><a href="#">Link 3</a>
<ul>
<li><a href="#">Link 3-1</a></li>
<li><a href="#">Link 3-2</a></li>
<li><a href="#">Link 3-3</a></li>
</ul>
</li>
</ul>
</div>
<p style="padding-top: 15px; clear: both;">So that&#8217;s it. Four CSS-rules for a dropdown menu &#8211; and one of the rules a reset rule (Rule 1). If you have resets in place in your CSS, you probably don&#8217;t need it. So, three rules really.  That&#8217;s all we need with modern browsers! But then, of course, lots of fixes for the older versions of Internet Explorer. What a huge waster of web designer man hours those browsers have been.</p>
<h2>Basic styling</h2>
<p>Usually one styles the links rather than the &lt;li&gt;-items. The advantage is that  by doing it this way, one increases the clickable area of the menu. The &lt;li&gt;-items don&#8217;t need styling &#8211; they simply adapt to the space required by the content.</p>
<pre><span class="hli">.barmenu2 a</span> { display: block; width: 5em; color: black;
  line-height: 25px; text-decoration: none; background: silver;
  text-align: center; } (<span class="rule">Rule A</span>)</pre>
<p>I need to use a different class, as I display both menus here.</p>
<pre><span class="hli">.barmenu2 a:hover</span> { background: #7B7B7B; color: yellow; } (<span class="rule">Rule B</span>)</pre>
<p>If you want to style the dropdown (I don&#8217;t do it here), you can use:</p>
<pre><span class="hli">.barmenu2 li ul a</span> { something .. }, and
<span class="hli">.barmenu2 li ul a:hover</span> { something else } (for the hover)</pre>
<p>And that&#8217;s all. So now I can remove the various fixes (in Rules 2-4) from the barebones example. The only ones I still need are &#8220;top:25px&#8221; (adjusted to 25px as that is the height now) and &#8220;left:0&#8243;. I&#8217;ve also taken out the width in the &lt;li&gt;-rule:</p>
<pre><span class="hli">.barmenu2 li</span>{ position:relative; float:left; } (<span class="rule">Rule 2</span>)
<span class="hli">.barmenu2 li ul</span> { position:absolute; visibility:hidden;
    top:25px; left:0;  } (<span class="rule">Rule 3</span>)
<span class="hli">.barmenu2 :hover &gt; ul</span> { visibility: visible; } (<span class="rule">Rule 4</span>)</pre>
<p>A useful tip on styling menus with hidden dropdowns or flyouts is to simply comment those parts that hide it out and style the menu with the whole menu visible. Here that would simply mean to comment it out like so /* visbility: hidden; */ in Rule 3. When done, you simply remove the comments.</p>
<p>OK. Here is the menu:</p>
<div style="padding-left: 100px;">
<ul class="barmenu2">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a>
<ul>
<li><a href="#">Link 2-1</a></li>
<li><a href="#">Link 2-2</a></li>
<li><a href="#">Link 2-3</a></li>
</ul>
</li>
<li><a href="#">Link 3</a>
<ul>
<li><a href="#">Link 3-1</a></li>
<li><a href="#">Link 3-2</a></li>
<li><a href="#">Link 3-3</a></li>
</ul>
</li>
</ul>
</div>
<p style="padding-top: 30px; clear: both;">So there it is with some basic styling. Now it works just fine in all browsers, including IE7 and IE8. See the <a href="http://nekkidblogger.com/nekkidblogger-2levelmenu-barebones.html">demo with source and CSS</a>.</p>
<p>Stay tuned for much more on menus!</p>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2011/suckerfish-revisited-csshtml-dropdown-menu-barebones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phpBB3 so 1980s &#8211; user unfriendly</title>
		<link>http://nekkidblogger.com/2011/phpbb3-so-1980s-user-un-friendly/</link>
		<comments>http://nekkidblogger.com/2011/phpbb3-so-1980s-user-un-friendly/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 20:07:00 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[bbPress plugin]]></category>
		<category><![CDATA[bulletin board]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[phpBB]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[bbPress]]></category>
		<category><![CDATA[mods]]></category>
		<category><![CDATA[phpBB3]]></category>
		<category><![CDATA[search engine]]></category>
		<category><![CDATA[search-friendly URL]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[user unfriendly]]></category>
		<category><![CDATA[userfriendliness]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.nekkidblogger.com/?p=476</guid>
		<description><![CDATA[I&#8217;ve been looking into forum software lately. I want to set up a couple of discussion forums. It seems to me that the most highly recommended among the free, open source bulletin boards is phpBB, now in version 3 &#8211; phpBB3. So I&#8217;ve installed it on a test site and have started to work with [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;ve been looking into forum software lately. I want to set up a couple of discussion forums. It seems to me that the most highly recommended among the free, open source bulletin boards is <a href="http://www.phpbb.com/">phpBB</a>, now in version 3 &#8211; <strong>phpBB3</strong>.</p>
<p><img class="alignright" style="margin: 6px;" title="phpBB logo" src="http://nekkidblogger.com/pics/phpbb-logo.jpg" alt="phpbb logo" width="144" height="80" />So I&#8217;ve installed it on a test site and have started to work with it. And, so that it&#8217;s said, the core functionality of phpBB3 is excellent! Really outstanding. It&#8217;s an excellent bulletin board. And there are a lot of good folks in the community doing an excellent job in developing good mods. However, being used to working with WordPress, I have to say I was shocked. Completely. WordPress is so geared towards making it easy to use. By contrast, with phpBB3 everything is so 1980s: Installing it is OK, not as easy and quick as WordPress, but still not too complicated either. But there it stops.</p>
<p>First of all, the whole attitude surrounding phpBB, including the new phpBB3, is old fashioned: It&#8217;s made by people who can write programs using HTML, CSS, PHP and MySQL <strong>for people who can do all the same things</strong>. The attitude seems to be that if you can&#8217;t do that, you shouldn&#8217;t be using the software. Very little is done, compared to WordPress, to make is <strong>easy to use</strong>.</p>
<p>In WordPress, we have become accustomed to <strong>automatic upgrades</strong> &#8211; just click a button for upgrade, and the system upgrades itself, including the databases. Same thing with themes and plugins: Search for a theme or plugin, find it, read the docs and user reviews, decide you want it, click install, and once installed click &#8220;activate&#8221; and it&#8217;s up and running. <strong>Smooth. Nice. Easy</strong> for people who can&#8217;t program in PHP and/or don&#8217;t want to mess with MySQL.</p>
<p>With phpBB3 it is still 1980-something. There are mods. But you have to either download them to your PC, unpack them, upload them to the site, and <strong>install them manually</strong> or use something the good folks at phpBB call a &#8220;mod-manager&#8221;, called &#8220;<a title="phpBB Auotmod mod-manager" href="http://www.phpbb.com/mods/?from=submenu">Auto-Mod</a>&#8220;. Now,<a href="http://www.phpbb.com/mods/installing/"> manually really means going in and manually changing</a> PHP-files and into MySQL and running scripts or instructions to create new tables, alter existing ones and the like. Very tedious. And you can make mistakes that may have serious consequences and can cause lots of grief.</p>
<p>But the <strong>mod-manager is tedious too</strong>! If you are patient and finally manage to find the instructions for installing it, you will find that they are OK for programmers but make no sense for non-programmers. They say, for instance: &#8220;After uploading the files, you need to run the install script.&#8221; Which script? They don&#8217;t say precisely. How do you run it? They don&#8217;t tell. Lots of people will give up at this point. Why isn&#8217;t it simply integrated in the install of phpBB3? If the plugin and theme installers hadn&#8217;t been integrated into WordPress, they probably would have had tens of millions fewer users.</p>
<p>I actually installed it, and used it to install another mod. Even with the auto-mod installer in place, the instructions still said I had to download and unzip the mod and then upload it to my server. Did all that, navigated though poor instructions again, installed a mod and ended up with more than a screen-full of so-called &#8220;do-it-yourself&#8221;-instructions, which required me to move files, edit PHP-code, and run MySQL-script. What&#8217;s wrong with these folks? <strong>Auto-installation and auto-upgrading is expected</strong> by everyone everywhere these days. No only does WordPress do it &#8211; even Microsoft and Adobe manages that! This really sucks big-time!</p>
<p>Using the <strong>auto-install</strong> was scary business as well. I&#8217;ve tested it out with two mods. The first one <strong>crashed</strong> my board &#8211; I just got a white screen and could not get into it even through back-doors, so I had to wipe and re-upload all system files. The second time I tried, I got the message that the install was &#8220;successful&#8221;, but every time I wanted to go back to the forum I got messages that files were missing, so I ended up having to upload 10 or so files <strong>manually</strong> before it started to work again. Not so good!</p>
<p>There is no objective reason why phpBB3 couldn&#8217;t be as easy to use as WordPress. WordPress plugins and updates overwrite and install new PHP-files and modify the MySQL database. It&#8217;s quite possible &#8211; as WordPress demonstrates &#8211; to do it. But the <strong>emphasis on user friendliness</strong> is not nearly as high among the good people developing phpBB, so the standards for it have not been developed and aren&#8217;t pushed as they are with WordPress. Another sign of the same lack of standards for user friendliness is that many mods conflict with one another: It&#8217;s a big mess for people running the boards, but quite easy to avoid if you devote attention to it.</p>
<p>I was also shocked by the lack of emphasis on SEO in phpBB3. It writes URL&#8217;s like this: &#8220;http://example.com/viewforum.php?f=3&amp;sid=f00744bc867aec5bc739f4ee59364726&#8243; (NB: Not a working URL). Not a very search engine friendly URL, if you ask me. Totally 1980s and totally bad from a Search Engine Optimization (SEO) point of view (also a dimension where WordPress really excels, by the way). Using URLs like that is almost like telling Google &#8220;<strong>I want to be invisible</strong>&#8221; or &#8220;Please don&#8217;t list me on any of the first 20 pages of search results&#8221;. To most webmasters today, being found in by the search engines is imperative. In the 1980s it wasn&#8217;t.</p>
<p>For sake of comparison, on another test site I installed WordPress with the bulletin board <a href="http://wordpress.org/extend/plugins/bbpress/">plugin bbPress</a>. A few clicks, and there it was, up and running. And right out of the box it produces URLs that look like this: http://www.examplesite.com/forums/forum/recent-seo-software-news/ (NB: Not a working URL). The core functionality is not nearly as good, but it will <strong>get traffic</strong> from the search engines.</p>
<p>Also, if you want to<strong> change something</strong>, like put in place a new header image or alter the layout, it&#8217;s a lot of work. The system more or less forces you to do the changes online, while logged in, in a pretty poor editing window without, for instance, search capability. A couple of days ago I sat for hours editing a CSS-file more than 2500 lines long. Without a file-search facility available, that means scrolling up and down hundreds of lines to find the class or id one wants to modify, finding perhaps the color definitions at line 2300 or something and other styles for it at line 350 or whatever &#8211; that&#8217;s bad. And it&#8217;s boring too. And it could have been easy to fix &#8211; if <strong>user friendliness</strong> was a concern, that is.</p>
<p>Of course and predictably, I ended up scrapping the header that came with the system and creating my own from scratch. It simply was easier &#8211; but that&#8217;s not how it ought to be.</p>
<p>So, there you have it, an excellent program that has a <strong>long, long way to go</strong> in terms of user friendliness and that has been built with an <strong>old-fashioned and out-dated philosophy</strong>, so that the platform in reality is <strong>its own worst enemy</strong>. From the outside it looks like a project and community in need of a clearer vision, better prioritizing and improved leadership.</p>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2011/phpbb3-so-1980s-user-un-friendly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML &amp; XHTML DeMYSTiFieD, by Lee Cottrell</title>
		<link>http://nekkidblogger.com/2010/html-xhtml-demystified-by-lee-cottrell/</link>
		<comments>http://nekkidblogger.com/2010/html-xhtml-demystified-by-lee-cottrell/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 04:58:18 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Lee Cottrell]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[beginner book]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[HTML CSS]]></category>
		<category><![CDATA[self-study]]></category>

		<guid isPermaLink="false">http://www.nekkidblogger.com/?p=372</guid>
		<description><![CDATA[HTML &#038; XHTML DeMYSTiFieD is an excellent book for people wanting to learn the basics about how to build web sites by self-study. It is a well designed book that starts right at the beginning – with what HTML and XHTML is – and quickly moves on to show readers how to build their first [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a href="http://www.amazon.com/gp/product/0071748040?ie=UTF8&#038;tag=leserglede-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0071748040"><img src="http://www.leserglede.com/pics/51-X4QOXABL._SL160_.jpg" alt="HTML &amp; XHTML DeMystified by Lee Cottrel" hspace="6" vspace="6" border="0" align="left"/></a><img src="http://www.assoc-amazon.com/e/ir?t=leserglede-20&#038;l=as2&#038;o=1&#038;a=0071748040" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><em>HTML &#038; XHTML DeMYSTiFieD</em> is an excellent book for people wanting to learn the basics about how to build web sites by self-study. It is a well designed book that starts right at the beginning – with what HTML and XHTML is – and quickly moves on to show readers how to build their first web pages.
</p>
<p>The author, Lee Cottrell, is a computer teacher at the Bradford School. He has been creating Web pages with HTML since 1993 and teaching it to students for more than 12 years. Throughout this time, Cottrell has learned how to effectively describe HTML’s core elements.
</p>
<p>The book is a practical, self-paced guide to HTML and XHTML. It is hands on from start to finish and gives thorough and more than sufficient guidance on required Web design techniques and technologies. The step-by-step approach is well thought out, and the sequence and progression in this nice little course book seems very appropriate. It shows first how to build a simple web page, and then it teaches you the use of various important yet basic HTML elements like hyperlinks, lists, tables and forms.
</p>
<p>The book also takes some steps beyond the pure HTML and teaches you how to layout and format pages and page elements with CSS, and some neat small Javascript utilities to spice up and make your HTML-page become more interactive and live. Also, Learning HTML and XHTML is full of smart and very useful advice that teaches you to do things the right way from the start, and that – if you follow Cottrell’s advice – will save you a lot of time and worry later one.</p>
<ul>
<li>The book covers Covers HTML, XHTML, HTML5, and CSS
</li>
<li>Develops two stand-alone examples per chapter: one created by the author; the other for you to practice
</li>
<li>Helps you recognize and resolve common HTML errors
</li>
<li>Is an excellent book for self-study</li>
</ul>
<p>At the end of each chapter are review questions and at the end of the book is a final exam– with well-considered questions that provide excellent tools for revealing whether you have digested the materials the way you should or not. In my opinion this is a great book for self-study or for use in a class room for students learning HTML and the basic techniques of web site building for the first time! <em>HTML &#038; XHTML DeMYSTiFieD</em> is a book with hard stuff made really simple!</p>
<div class="linkbox">Links to books by <strong>Lee Cottrell</strong> on <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fentity%2FLee-Cottrell%2FB001HPCXPC%3Fie%3DUTF8%26ref_%3Dntt_athr_dp_pel_1&#038;tag=leserglede-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=390957">Amazon US</a><img src="https://www.assoc-amazon.com/e/ir?t=leserglede-20&#038;l=ur2&#038;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, <a href="http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.co.uk%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb_sb_noss%26y%3D0%26field-keywords%3Dlee%2520cottrell%26url%3Dsearch-alias%253Daps&#038;tag=wwwleserglede-21&#038;linkCode=ur2&#038;camp=1634&#038;creative=19450">Amazon UK</a><img src="https://www.assoc-amazon.co.uk/e/ir?t=wwwleserglede-21&#038;l=ur2&#038;o=2" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, and <a href="http://www.amazon.ca/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.ca%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb_sb_noss%26y%3D0%26field-keywords%3Dlee%2520cottrell%26url%3Dsearch-alias%253Daps&#038;tag=leserglede09-20&#038;linkCode=ur2&#038;camp=15121&#038;creative=390961">Amazon CAN</a><img src="https://www.assoc-amazon.ca/e/ir?t=leserglede09-20&#038;l=ur2&#038;o=15" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.</div>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2010/html-xhtml-demystified-by-lee-cottrell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Standards Solutions: The Markup and Style Handbook, by Dan Cederholm</title>
		<link>http://nekkidblogger.com/2010/web-standards-solutions-the-markup-and-style-handbook-by-dan-cederholm/</link>
		<comments>http://nekkidblogger.com/2010/web-standards-solutions-the-markup-and-style-handbook-by-dan-cederholm/#comments</comments>
		<pubDate>Sun, 12 Dec 2010 20:19:56 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dan Cederholm]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[Web site layout]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[Markup and Style]]></category>
		<category><![CDATA[Web Design book]]></category>
		<category><![CDATA[Web Standards Solutions]]></category>

		<guid isPermaLink="false">http://www.nekkidblogger.com/?p=369</guid>
		<description><![CDATA[This is the second &#8211; and substantially revised and expanded &#8211; edition of Dan Cederholm&#8217;s best-selling Web Standards Solutions. Web Standards is a movement that is gathering strength among Web designers, and is increasingly embraced as the standard technology specifications enforced by the World Wide Web Consortium (W3C) to make sure that web designers and [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>This is the second &#8211; and substantially revised and expanded &#8211;  <a href="http://www.amazon.com/gp/product/1430219203?ie=UTF8&amp;tag=leserglede-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1430219203"><img src="http://www.leserglede.com/pics2/51ppyq2NroL._SL160_.jpg" border="0" alt="Web Standards Solutions, by Dan Cederholm" hspace="6" vspace="4" align="left" /></a>edition of Dan Cederholm&#8217;s best-selling <em>Web Standards Solutions</em>. Web Standards is a movement that is gathering strength among Web designers, and is increasingly embraced as the standard technology specifications enforced by the World Wide Web Consortium (W3C) to make sure that web designers and browser manufacturers are using the same technology syntax. Dan Cederholm, a very well-known and excellent CSS guru, has long been in the forefront of this movement.</p>
<p>Standard solutions improve consistency, make redesign and changes of web sites easier and add robustness to web sites. Increasing adherence to standards also makes possible a smoother transition to new types of screen and viewing devices, such as screen readers for people with vision impairments, cell phones, PDFs, e-book readers, and what not. HTML, XML, XHTML and CSS are all such technologies.</p>
<p>This is a truly excellent book written by one of the best programmers and designers out there. I have used the previous edition of this book for a long time, and often gone back to it to find inspiration or solutions. A very useful book! And the new version is even better!</p>
<p><em>Web Standards Solutions </em>is a great guide to understanding the advantages you can bring to your web pages by implementing web standards and precisely how to apply them.</p>
<p>Cederholm shows you how can use CSS to lay out your pages in excellent, solid designs that are flexible and look good across viewing platforms, as well as a number of smaller, neat and efficient techniques for producing great looking elements that go into the layout, all equally scalable and easily revisable as the layout itself.</p>
<ul class="style1">
<li>The Expanded edition contains great bonus material.</li>
<li>Teaches how to use Web Standards effectively to build better web sites.</li>
<li>Cederholm&#8217;s &#8220;solutions style&#8221; promotes learning.</li>
</ul>
<p><em>Web Standards Solutions</em> has 16 short chapters, each covering the theory and practice of different web standards concepts and showing multiple solutions to given problems for easy learning. You&#8217;ll learn about multi-column layouts, using image replacement techniques to your best advantage, making the best use of tables and lists, and many more. Cederholm gives you advanced web design techniques and discusses important caveats.</p>
<p>This is a great book for people wanting to learn how to use CSS the right way, who wants good, solid workable and pretty looking solutions, and Web developers and designers wanting to learn standards-based techniques to improve their sites. <em>Web Standards Solutions</em> is very good investment, in my opinion!</p>
<div class="linkbox">Links to books by Dan Cederholm at <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fentity%2FDan-Cederholm%2FB001IGJNDK%3Fie%3DUTF8%26ref_%3Dntt%255Fathr%255Fdp%255Fpel%255F1&amp;tag=leserglede-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957">Amazon US</a><img style="border: none !important; margin: 0px !important;" src="https://www.assoc-amazon.com/e/ir?t=leserglede-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" />, <a href="http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.co.uk%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb%255Fss%26y%3D0%26field-keywords%3Ddan%2520cederholm%26url%3Dsearch-alias%253Dstripbooks&amp;tag=wwwleserglede-21&amp;linkCode=ur2&amp;camp=1634&amp;creative=19450">Amazon UK</a><img style="border: none !important; margin: 0px !important;" src="https://www.assoc-amazon.co.uk/e/ir?t=wwwleserglede-21&amp;l=ur2&amp;o=2" border="0" alt="" width="1" height="1" />, and <a href="http://www.amazon.ca/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.ca%2Fs%3Fie%3DUTF8%26redirect%3Dtrue%26search-type%3Dss%26index%3Dbooks-ca%26field-author%3DDan%2520Cederholm&amp;tag=leserglede09-20&amp;linkCode=ur2&amp;camp=15121&amp;creative=390961">Amazon CAN</a><img style="border: none !important; margin: 0px !important;" src="https://www.assoc-amazon.ca/e/ir?t=leserglede09-20&amp;l=ur2&amp;o=15" border="0" alt="" width="1" height="1" />.</div>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2010/web-standards-solutions-the-markup-and-style-handbook-by-dan-cederholm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3 &#8211; Floated images with captions and shadows</title>
		<link>http://nekkidblogger.com/2010/css3-floated-images-with-captions-and-shadows/</link>
		<comments>http://nekkidblogger.com/2010/css3-floated-images-with-captions-and-shadows/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 23:37:51 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[box shadow]]></category>
		<category><![CDATA[box shadow CSS3]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[image styling CSS]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[Web site layout]]></category>
		<category><![CDATA[CSS-example]]></category>
		<category><![CDATA[CSS3 image styling]]></category>
		<category><![CDATA[floated images]]></category>
		<category><![CDATA[image with box shadows]]></category>
		<category><![CDATA[image with captions]]></category>

		<guid isPermaLink="false">http://www.nekkidblogger.com/?p=334</guid>
		<description><![CDATA[1. Stockholm, Sweden I am floating all the pictures to the right, just for fun. You can easily change that. All the pictures have the caption neatly underneath, set in a smaller font and in italics. The first is an image without borders. To see the CSS and markup, view the source code in the [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="imgcapture"><img src="http://www.scandinavianbooks.com/pics/stockholm_sweden.jpg" width="250" height="177" alt="Stockholm, Sweden"/>
<p>1. Stockholm, Sweden</p>
</div>
<p>I am floating all the pictures to the right, just for fun. You can easily change that. All the pictures have the caption neatly underneath, set in a smaller font and in italics.</p>
<p>The first is an image without borders. To see the CSS and markup, view the <a href="http://www.nekkidblogger.com/image-shadow-caption-css3.html" target="_blank">source code in the demo</a>. Here&#8217;s the basic CSS-code for the floated image with caption:</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre>
<pre><span class="css">div.imgcapture {
  <span class="css-property">float<span class="css-selector">:</span><span class="css-value"> right</span></span>; <span class="css-property">clear<span class="css-selector">:</span><span class="css-value">right</span></span>;
  <span class="css-property">width<span class="css-selector">:</span><span class="css-value"> 257px</span></span>;
  <span class="css-property">margin<span class="css-selector">:</span><span class="css-value"> 5px 0 5px 15px</span></span>;
}
div.imgcapture p {
  <span class="css-property">padding<span class="css-selector">:</span><span class="css-value">0</span></span>; <span class="css-property">margin<span class="css-selector">:</span><span class="css-value"> 3px 0 0 0</span></span>;
  <span class="css-property">text-align<span class="css-selector">:</span><span class="css-value"> center</span></span>;
  <span class="css-property">font-style<span class="css-selector">:</span><span class="css-value"> italic</span></span>;
  <span class="css-property">font-size<span class="css-selector">:</span><span class="css-value"> smaller</span></span>;
  <span class="css-property">text-indent<span class="css-selector">:</span><span class="css-value"> 0</span></span>;
}</span></pre>
</div>
<div class="imgcapture"><img class="fixed" src="http://www.scandinavianbooks.com/pics/stockholm_sweden.jpg" width="250" height="177" alt="Stockholm, Sweden"/>
<p>2. Stockholm, Sweden</p>
</div>
<p>Then, picture two has a thin black border (you can alter the thickness and color easily). In my opinion, this makes the picture stand out a little, and is prettier. But this, of course, is a matter of taste. Here&#8217;s the CSS for that:</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
</pre>
<pre><span class="css">img.fixed {
  <span class="css-property">border<span class="css-selector">:</span><span class="css-value">1px solid black</span></span>;
  <span class="css-property">width<span class="css-selector">:</span><span class="css-value"> 250px</span></span>; }</span></pre>
</div>
<div class="imgcapture"><img class="fixed2" src="http://www.scandinavianbooks.com/pics/stockholm_sweden.jpg" width="250" height="177" alt="Stockholm, Sweden"/>
<p>3. Stockholm, Sweden</p>
</div>
<p>In my opinion a little shadow makes it stand out even more. So in the third example, the same picture has been given a discrete little <em>box shadow effect</em>. This effect is part of the CSS3 specification and supported by most browsers (but not IE 8 and earlier). It has the same border color and thickness. If you don&#8217;t see the shadow, you&#8217;re using the wrong browser.</p>
<p>Here&#8217;s the code:</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
</pre>
<pre><span class="css">img.fixed2 {
  <span class="css-property">border<span class="css-selector">:</span><span class="css-value">1px solid black</span></span>;
  <span class="css-property">width<span class="css-selector">:</span><span class="css-value"> 250px</span></span>;
  <span class="css-property">box-shadow<span class="css-selector">:</span><span class="css-value"> 3px 3px 3px #818181</span></span>;
  <span class="css-property">-webkit-box-shadow<span class="css-selector">:</span><span class="css-value"> 3px 3px 3px #818181</span></span>;
  <span class="css-property">-moz-box-shadow<span class="css-selector">:</span><span class="css-value"> 3px 3px 3px #818181</span></span>; }</span></pre>
</div>
<p>The &#8220;box-shadow&#8221; property is defined by 3 lengths and a color as attributes. The first length is the horizontal offset of the shadow, (positive means the shadow is on the right, a negative offset will put the shadow on the left of the box). The second is<br />
 the vertical offset; a negative value means the box-shadow will be on top of the box and a positive means the shadow will be below the box. Finally, the third number is the blur radius. If this is set to 0 the shadow will be sharp; the higher the number, the more blurred it will be.</p>
<div class="imgcapture"><img class="fixed3" src="http://www.scandinavianbooks.com/pics/stockholm_sweden.jpg" width="250" height="177" alt="Stockholm, Sweden"/></p>
<p>4. Stockholm, Sweden</p>
</div>
<p>In the fourth (and final) example I use slightly thicker shadow (4px) with twice as much blur (6px).
</p>
<p>And that&#8217;s it! Go ahead and use the code if you like it. The full code, including markup, can be found <a href="http://www.nekkidblogger.com/image-shadow-caption-css3.html" target="_blank">in the demo</a>. Link to me if you feel like it &#8211; it&#8217;s appreciated!</p>
<p>And, seriously &#8211; if you can&#8217;t see the shadows, it&#8217;s time to get rid of IE and get a browser that shows you the net in all it&#8217;s glory! Here&#8217;s the download sites for <a href="http://www.opera.com/download/" target="_blank">Opera</a>, <a href="http://www.google.com/chrome"  target="_blank">Chrome</a>, <a href="http://www.mozilla.com/en-US/firefox/personal.html" target="_blank">Firefox</a> (a tad buggy for the moment) and <a href="http://www.apple.com/safari/download/" target="_blank">Safari</a> (unfortunately wants to grab you email address).</p>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2010/css3-floated-images-with-captions-and-shadows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML &amp; CSS: The Complete Reference, Fifth Edition, by Thomas A. Powell</title>
		<link>http://nekkidblogger.com/2010/html-css-the-complete-reference-fifth-edition-by-thomas-a-powell/</link>
		<comments>http://nekkidblogger.com/2010/html-css-the-complete-reference-fifth-edition-by-thomas-a-powell/#comments</comments>
		<pubDate>Fri, 28 May 2010 23:46:46 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Reference book]]></category>
		<category><![CDATA[Thomas A. Powell]]></category>
		<category><![CDATA[book review]]></category>

		<guid isPermaLink="false">http://www.nekkidblogger.com/?p=320</guid>
		<description><![CDATA[This is a comprehensive reference which covers all versions of HTML and CSS, including HTML5 and CSS3. It is written by a Web development expert who has participated in the development of the new standards, and who is very knowledgeable. I was very impressed by this book, which I think currently is the most comprehensive, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>This is a comprehensive reference which <a href="http://www.amazon.com/gp/product/0071496297?ie=UTF8&amp;tag=leserglede-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0071496297"><img src="http://www.leserglede.com/pics/510TIW-We%2BL._SL160_.jpg" border="0" alt="HTML &amp; CSS, Thomas A. Powell" hspace="6" vspace="5" align="left" /></a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=leserglede-20&amp;l=as2&amp;o=1&amp;a=0071496297" border="0" alt="" width="1" height="1" /> covers all versions of HTML and CSS, including HTML5 and CSS3. It is written by a Web development expert who has participated in the development of the new standards, and who is very knowledgeable. I was very impressed by this book, which I think currently is the most comprehensive, complete and up to date reference book for CSS and HTML available. The book is an outstanding go-to guide for both for beginners and professional Web developers as it is fully updated for the latest CSS and XHTML standards and provides clear and concise examples.</p>
<p>The author, Thomas A. Powell, is president of PINT, Inc. (pint.com), a nationally recognized Web agency. He developed the Web Publishing Certificate program for the University of California, San Diego Extension and is an instructor for the Computer Science Department at UCSD. He is also the author of the previous bestselling editions of this book and <em>Ajax: The Complete Reference</em>, and co-author of <em>JavaScript: The Complete Reference</em>. This broad expertise and background has clearly been important in the writing of <em>HTML &amp; CSS: The Complete Reference</em>.</p>
<p>This excellent book covers all the elements supported in today&#8217;s Web browsers&#8211;from the standard (X)HTML tags to the archaic and proprietary tags that may be encountered. <em>HTML &amp; CSS: The Complete Reference, Fifth Edition</em> contains full details on CSS 2.1 as well as every proprietary and emerging CSS3 property currently supported. I was positively surprised by the width of the coverage of CSS3. It also has good annotated examples of correct markup and style which show you how to use all of these technologies to build impressive Web pages.</p>
<p>Also, <em>CSS and XHTML: The Complete Reference, Fifth Edition</em> covers the newest browser versions including Firefox 3, Internet Explorer 8, Safari and Opera, and contains much updated information about the browser and cross-browser compatibility of the various HTML and CSS elements. In addition, helpful appendixes cover the syntax of character entities, fonts, colors, and URLs.</p>
<p>I was very favorably impressed by this book. It is well written and well organized, and even though it is has more than 800 pages, very little space is wasted. <em>CSS and XHTML: The Complete Reference, Fifth Edition</em> also contains good examples of useful Java. Overall the book is very up to date and so comprehensive that I think it will be useful for a long time, even though things change relatively fast as far as CSS and HTML is concerned. If you, like me, like to have a good reference book that is well organized, contains information on browser implementation and even some good examples, this is a very good choice which I strongly recommend!</p>
<div class="linkbox">Links to books by Thomas A. Powell at <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2Fs%3Fie%3DUTF8%26sort%3Drelevancerank%26search-alias%3Dbooks%26ref_%3Dntt%5Fathr%5Fdp%5Fsr%5F1%26field-author%3DThomas%2520Powell&amp;tag=leserglede-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957">amazon US</a><img style="border: none !important; margin: 0px !important;" src="https://www.assoc-amazon.com/e/ir?t=leserglede-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" />, <a href="http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.co.uk%2Fgp%2Fentity%2FThomas-A.-Powell%2FB000AP7P76%3Fie%3DUTF8%26ref_%3Dntt%5Fathr%5Fdp%5Fpel%5F1&amp;tag=wwwleserglede-21&amp;linkCode=ur2&amp;camp=1634&amp;creative=19450">amazon UK</a><img style="border: none !important; margin: 0px !important;" src="https://www.assoc-amazon.co.uk/e/ir?t=wwwleserglede-21&amp;l=ur2&amp;o=2" border="0" alt="" width="1" height="1" />, and <a href="http://www.amazon.ca/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.ca%2Fs%3Fie%3DUTF8%26search-alias%3Dbooks-ca%26field-author%3DThomas%2520Powell&amp;tag=leserglede09-20&amp;linkCode=ur2&amp;camp=15121&amp;creative=390961">amazon CAN</a><img style="border: none !important; margin: 0px !important;" src="https://www.assoc-amazon.ca/e/ir?t=leserglede09-20&amp;l=ur2&amp;o=15" border="0" alt="" width="1" height="1" />.</div>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2010/html-css-the-complete-reference-fifth-edition-by-thomas-a-powell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML, XHTML, and CSS Bible (Fifth edition), by Steven M. Schafer</title>
		<link>http://nekkidblogger.com/2010/html-xhtml-and-css-bible-fifth-edition-by-steven-m-schafer/</link>
		<comments>http://nekkidblogger.com/2010/html-xhtml-and-css-bible-fifth-edition-by-steven-m-schafer/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 17:41:23 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Steven M. Schafer]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.nekkidblogger.com/?p=315</guid>
		<description><![CDATA[This is a big and thick book – 740 pages including appendices. It is marketed as a beginner to intermediate book on HTML, XHTML and CSS. The book provides coverage of these three Web authoring standards, and also gives some coverage of the upcoming releases of HTML 5 and CSS 3. The book also explains [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>This is a big and thick book – <a href="http://www.amazon.com/gp/product/0470523964?ie=UTF8&amp;tag=leserglede-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470523964"><img src="http://www.leserglede.com/pics/510pbnUIoAL._SL160_.jpg" border="0" alt="HTML, XHTML and CSS Bible" hspace="7" vspace="6" align="left" /></a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.com/e/ir?t=leserglede-20&amp;l=as2&amp;o=1&amp;a=0470523964" border="0" alt="" width="1" height="1" /> 740 pages including appendices. It is marketed as a beginner to intermediate book on HTML, XHTML and CSS.</p>
<p>The book provides coverage of these three Web authoring standards, and also gives some coverage of the upcoming releases of HTML 5 and CSS 3.  The book also explains the basic structure and necessary formatting to create static and dynamic web pages. What it does is the following:</p>
<ul>
<li>Explores the basics of HTML such as tags, attributes, and how to structure content to create specialized document formatting</li>
<li>Shows how multimedia and scripting can be used to make your content dynamic</li>
<li>Author, validate, and troubleshoot your coding and documents</li>
<li>Enable content for multiple devices—from the standard PC browser to various mobile devices</li>
<li>Understand values, lists, colors, fonts, and other CSS metrics and formatting basics</li>
</ul>
<p>The <em>HTML, XHTML, and CSS Bible</em> is relatively comprehensive, but not nearly as comprehensive as the size and thickness of the book indicates. Once you start reading it, you will find that it wastes space on every page: irrelevant code is included in virtually every example, and sometimes lots of it; the illustrations show irrelevant stuff – like for instance 1 inch of the top of the browser for most web pages shown; there are endless listings of irrelevant stuff that should only have lived with fine print in the appendices.</p>
<p>So, despite its thickness this book never goes deep into any subject, and the coverage of most subjects is, in fact, very thin and, to my mind, not very helpful. It is not good at covering the emerging Web standards. And the CSS part of the book is especially thin and at times somewhat misleading.  It doesn’t even give the basics for the simpler of the tableless CSS layouts.</p>
<p>So, I would suggest you move on to other titles if you’re looking for a good reference book or a book that can teach you (in a good way, including teaching you to start doing things right as early as possible) how to build web pages if you are a beginner. This is not a book I recommend.</p>
<div class="linkbox">Links to the <strong>HTML, XHTML and CSS Bible</strong> at <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fentity%2FSteven-M.-Schafer%2FB001IXSBWC%3Fie%3DUTF8%26ref_%3Dntt%5Fathr%5Fdp%5Fpel%5F1&amp;tag=leserglede-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957">Amazon US</a><img style="border: none !important; margin: 0px !important;" src="https://www.assoc-amazon.com/e/ir?t=leserglede-20&amp;l=ur2&amp;o=1" border="0" alt="" width="1" height="1" />, and <a href="http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.co.uk%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb%5Fsb%5Fnoss%26y%3D0%26field-keywords%3Dsteven%2520m%2520schafer%26url%3Dsearch-alias%253Daps&amp;tag=wwwleserglede-21&amp;linkCode=ur2&amp;camp=1634&amp;creative=19450">Amazon UK</a><img style="border: none !important; margin: 0px !important;" src="https://www.assoc-amazon.co.uk/e/ir?t=wwwleserglede-21&amp;l=ur2&amp;o=2" border="0" alt="" width="1" height="1" />.</div>
<p>&copy;2012 <a href="http://nekkidblogger.com">nekkidblogger</a>. All Rights Reserved.</p>.]]></content:encoded>
			<wfw:commentRss>http://nekkidblogger.com/2010/html-xhtml-and-css-bible-fifth-edition-by-steven-m-schafer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

