<?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>fuzzymargins &#187; CSS</title>
	<atom:link href="http://www.fuzzymargins.com/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fuzzymargins.com</link>
	<description>Life is full of code</description>
	<lastBuildDate>Sun, 07 Mar 2010 14:21:15 +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>Move the WordPress page links to the header</title>
		<link>http://www.fuzzymargins.com/2009/04/move-the-wordpress-page-links-to-the-header/</link>
		<comments>http://www.fuzzymargins.com/2009/04/move-the-wordpress-page-links-to-the-header/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 13:30:36 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=289</guid>
		<description><![CDATA[The default theme for WordPress places the links to pages in the sidebar. Moving them to the header is relatively easy to do if you&#8217;re comfortable making minor changes to the code. The first thing is to find the path to the theme that you are using, for the default theme the path is: &#8260;wordpress&#8260;wp-content&#8260;themes&#8260;default [...]]]></description>
			<content:encoded><![CDATA[<p>The default theme for WordPress places the links to pages in the sidebar. Moving them to the header is relatively easy to do if you&#8217;re comfortable making minor changes to the code.<br />
The first thing is to find the path to the theme that you are using, for the default theme the path is:</p>
<p class="highlight">&frasl;wordpress&frasl;wp-content&frasl;themes&frasl;default</p>
<p>For other themes the path will vary so make sure you have identified the correct one for the theme you have in use. </p>
<p>Then using your favourite text editor open up the following files:</p>
<ul>
<li><strong>sidebar.php</strong></li>
<li><strong>header.php</strong></li>
</ul>
<p class="note"><strong>Note:</strong> Before you make any changes to these files make sure you have a backup</p>
<p>Next look for the following code fragment in sidebar.php which is used by WordPress to generate the list of page links.</p>
<p><span id="more-289"></span></p>
<pre><code>&lt;ul&gt;&lt;?php wp_list_pages('title_li='); ?&gt;&lt;/ul&gt;</code>
</pre>
<p>Copy the line of code above from the <em>sidebar.php</em> file and paste it in to the <em>header.php</em> file</p>
<p>This will copy the page links from the sidebar to the header. The end result may look strange because of the CSS styles in use. To get the result seen above in the header of this blog I changed the stylesheet to make the page links float right, where you place them  is down to personal preferences.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2009/04/move-the-wordpress-page-links-to-the-header/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Move the WordPress search box to the header</title>
		<link>http://www.fuzzymargins.com/2009/04/move-the-wordpress-search-box-to-the-header/</link>
		<comments>http://www.fuzzymargins.com/2009/04/move-the-wordpress-search-box-to-the-header/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 17:14:02 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=237</guid>
		<description><![CDATA[The default theme in WordPress places the search box in the sidebar. Moving it to the header is relatively easy to do if you&#8217;re comfortable making minor changes to the code. The first thing is to find the path to the theme that you are using, for the default theme the path is: &#8260;wordpress&#8260;wp-content&#8260;themes&#8260;default Then [...]]]></description>
			<content:encoded><![CDATA[<p>The default theme in WordPress places the search box in the sidebar. Moving it to the header is relatively easy to do if you&#8217;re comfortable making minor changes to the code. The first thing is to find the path to the theme that you are using, for the default theme the path is:</p>
<p class="highlight">&frasl;wordpress&frasl;wp-content&frasl;themes&frasl;default</p>
<p>Then using your favourite text editor open up the following files:</p>
<ul>
<li><strong>sidebar.php</strong></li>
<li><strong>header.php</strong></li>
</ul>
<p class="note"><strong>Note:</strong> Before you make any changes to these files make sure you have a backup</p>
<p>Next look for the following code fragment in sidebar.php which is used by WordPress to generate the search box (What this code does is to insert the contents of the <em>searchform.php </em>file at this point in the page. The <em>searchform.php</em> file contains the code to produce the search box and the search button).</p>
<p><span id="more-237"></span></p>
<pre><code>&lt;?php include (TEMPLATEPATH . '/searchform.php'); ?&gt;</code>
</pre>
<p>Cut the line of code above from the <em>sidebar.php</em> file and paste it in an appropriate location in the header.php file.</p>
<p>This will move the search form from the sidebar to the header. The end result may look strange because of the CSS styles in use. To get the result seen above in the header of this blog I changed the stylesheet to make the title float left and the search form float right, where you place the search form is down to personal preferences.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2009/04/move-the-wordpress-search-box-to-the-header/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>FrontPage glitches floor Firefox</title>
		<link>http://www.fuzzymargins.com/2009/03/frontpage-firefox-horror-show/</link>
		<comments>http://www.fuzzymargins.com/2009/03/frontpage-firefox-horror-show/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 22:24:08 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html compatibility]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=226</guid>
		<description><![CDATA[In my spare time I like to think of myself as a cyclist, and as a cyclist my thing is riding cyclosportives which are similar if not the same as century rides in the USA. One of the popular rides close to my home in Oxford is the White Horse Challenge which has a route [...]]]></description>
			<content:encoded><![CDATA[<p>In my spare time I like to think of myself as a cyclist, and as a cyclist my thing is riding cyclosportives which are similar if not the same as century rides in the USA. One of the popular rides close to my home in Oxford is the <a href="http://test.fuzzymargins.com/whc_new/">White Horse Challenge</a> which has a route that climbs past several White Horse figures that have been carved into the chalk of the hills around here.</p>
<p><img class="alignnone size-medium wp-image-154" title="White Horse Hill" src="http://www.fuzzymargins.com/wp-content/uploads/2009/03/whitehorsechallenge.jpg" alt="White Horse Hill" width="500" height="332" /></p>
<p>The website for this ride was built using Microsoft FrontPage 2003 and looks fine if viewed with Internet Explorer but looks a real mess if viewed with Firefox.<br />
<span id="more-226"></span><br />
The problem is that FrontPage out of the box has default settings that assume that websites will be viewed with IE. This includes allowing the use of VML Graphics which are the main culprit for things going wrong.<br />
We tried changing the settings on FrontPage and then re-publishing the website but that didn&#8217;t improve things at all. The only solution was to create a totally new website then edit the pages manually to remove the VML stuff that was causing Firefox (and other standards-compliant browsers) to go bananas.<br />
As an example of what happens, where content was positioned manually using FrontPage this would be placed in the correct place by VML if the browser was IE. For other browsers there was a jpg image of the content that was displayed instead. The most obvious sign of this happening is where links don&#8217;t work when using browsers other then Internet Explorer (how could they as they are just part of an image).<br />
The only sensible solution was to rewrite everything manually removing hundreds of lines of VML. This had the effect of improving performance as the size of the pages is reduced pretty dramatically. Also used CSS to reproduce the table based design of the original website, so FrontPage out of the box didn&#8217;t use any CSS at all.<br />
FrontPage 2003 is hardly leading edge these days but there are quite a few websites out there that were built with this tool, and a lot of them have problems with cross-browser compatibility and modern browser standards. With some refactoring work they can be bought up to modern standards without having to re-create them from scratch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2009/03/frontpage-firefox-horror-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Style columns in tables with CSS</title>
		<link>http://www.fuzzymargins.com/2008/10/style-columns-in-tables-with-css/</link>
		<comments>http://www.fuzzymargins.com/2008/10/style-columns-in-tables-with-css/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 21:27:44 +0000</pubDate>
		<dc:creator>jamespiggot</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.fuzzymargins.com/?p=4</guid>
		<description><![CDATA[How do you style columns in HTML tables without resorting to styling the individual cells? There doesn&#8217;t seem to be an easy answer to this question that will work with most browsers. The method shown here works fine for my requirements but that&#8217;s not to say there aren&#8217;t better ways of doing this out there. [...]]]></description>
			<content:encoded><![CDATA[<h3>How do you style columns in HTML tables without resorting to styling the individual cells?</h3>
<p>There doesn&#8217;t seem to be an easy answer to this question that will work with most browsers. The method shown here works fine for my requirements but that&#8217;s not to say there aren&#8217;t better ways of doing this out there.</p>
<p>The requirement I had was for a restaurant that required a table with three columns; the text of the menu item, special colour characters for vegetarian or wheat free dishes,  and the price of the item. The image below shows an example of the menu.</p>
<p><a href="http://www.fuzzymargins.com/wp-content/uploads/2008/11/menu_test1.png"><img class="alignnone size-full wp-image-17" title="menu_test1" src="http://www.fuzzymargins.com/wp-content/uploads/2008/11/menu_test1.jpg" alt="" width="500" height="183" /></a></p>
<p>The text column is left aligned text with a width of 85%. The second column is centre aligned with a width of 5%.  The third column with the price has to be horizontally right-aligned, vertically top aligned, with bold text and a width of 10%.</p>
<p><span id="more-4"></span></p>
<p>There are several ways of doing this, one approach is to style each cell in the column but the resulting code is not easily changed and can be very tedious for tables with a large number of cells, plus it is going back to using tables for presentation</p>
<p>An alternative approach is to use pure CSS by constructing the table with &lt;div>tags and not using html table markup at all. This works but does result in divitis with loads of nested div tags.</p>
<p>The best solution I&#8217;ve found, and no doubt there are others as good or better out there,  is to use the <em>:first-child pseudo-class</em>.  This pseudo-class matches the first occurrence of the specified element within another element. You can request the first cell within each row in the table with the end result being a column.  So the the CSS  style sheet containing:</p>
<pre><code>div.menu_box td:first-child {
width: 85%
}</code></pre>
<p>Would result in the first column of the table having a width of 85% of the enclosing element, in this case the menu_box div.</p>
<p>To select the second column in the table just use the <em>adjacent sibling combinator </em>which is a plus symbol. This will select an element that immediately follows another element with the same parent,  in this case we select a  &lt;td> tag that immediately follows another &lt;td> tag when they are both children of the same menu_box div parent.</p>
<p>Adding this to the style sheet results in:</p>
<pre><code>div.menu_box td:first-child {
width: 85%;
}
div.menu_box td:first-child + td {
width: 5%; text-align: center;
}</code></pre>
<p>Following the same pattern, to make the third column right-aligned and bold we just need to add another adjacent sibling plus (+) sign and another td selector to give:</p>
<pre><code>div.menu_box td:first-child {
width: 85%;
}
div.menu_box td:first-child + td {
width: 5%; text-align: center;
}
div.menu_box td:first-child + td  + td {
width: 10%;
text-align: right;
font-weight:800;
vertical-align: top;
}</code></pre>
<p>This works with most modern browsers, but doesn&#8217;t work with IE 6 or previous.</p>
<p>That requires some extra CSS (shown in bold below) to make up for the fact that older versions of IE don&#8217;t have support the solution outlined above, but does have support for some non-standard attributes in the</p>
<p>tag (which the more modern standard-compliant browsers like FireFox do not support).  So to get something that works correctly with most browsers you have to use two different methods combined as shown below.</p>
<pre><code>div.menu_box <strong>col.c1</strong>, td:first-child {
width: 85%;
}
div.menu_box <strong>col.c2</strong>, td:first-child + td {
width: 5%; text-align: center;
vertical-align: top;
}
div.menu_box <strong>col.c3</strong>, td:first-child + td  + td {
width: 10%;
text-align: right;
font-weight:800;
vertical-align: top;
}</code></pre>
<p>The col.c1, col.c2 and col.c3 selectors are used within a  tag in the HTML table as shown below.</p>
<pre><code>&amp;lt;div class="menu_box"&gt;
&amp;lt;table border="0"&gt;
&amp;lt;colgroup&gt;
  &amp;lt;col class="c1"&gt;&amp;lt;/col&gt;
  &amp;lt;col class="c2"&gt;&amp;lt;/col&gt;
  &amp;lt;col class="c3"&gt;&amp;lt;/col&gt;
&amp;lt;/colgroup&gt;
...table rows and cells go here....
&amp;lt;/table&gt;
&amp;lt;/div&gt;</code>
</pre>
<p>To test browser compatibility I used the free service at <a title="Browser Shots " href="http://browsershots.org" target="_blank">http://browsershots.org</a> where you can test a page and receive images of the page for each platform/browser/version combination.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fuzzymargins.com/2008/10/style-columns-in-tables-with-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
