<?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>Miriam&#039;s Blog</title>
	<atom:link href="http://salzerdesign.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://salzerdesign.com/blog</link>
	<description>music, tech, and miscellaneous stuff</description>
	<lastBuildDate>Mon, 16 Apr 2012 02:11:10 +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>Third-Hand Smoke</title>
		<link>http://salzerdesign.com/blog/?p=324</link>
		<comments>http://salzerdesign.com/blog/?p=324#comments</comments>
		<pubDate>Mon, 16 Apr 2012 02:10:03 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=324</guid>
		<description><![CDATA[http://research.universityofcalifornia.edu/stories/2012/04/thirdhand-smoke.html This video is about the chemicals that stays on a room&#8217;s surfaces long after a smoker has finished a cigarette. (The woman in the red glasses in the video is my sister-in-law.)  The chemical residue from smoking is just &#8230; <a href="http://salzerdesign.com/blog/?p=324">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Third-Hand Smoke" href="http://research.universityofcalifornia.edu/stories/2012/04/thirdhand-smoke.html" target="_blank">http://research.universityofcalifornia.edu/stories/2012/04/thirdhand-smoke.html</a></p>
<p>This video is about the chemicals that stays on a room&#8217;s surfaces long after a smoker has finished a cigarette. (The woman in the red glasses in the video is my sister-in-law.)  The chemical residue from smoking is just now being studied.</p>
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=324</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy Passover</title>
		<link>http://salzerdesign.com/blog/?p=318</link>
		<comments>http://salzerdesign.com/blog/?p=318#comments</comments>
		<pubDate>Fri, 06 Apr 2012 03:09:57 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Passover]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=318</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><iframe width="480" height="360" src="http://www.youtube.com/embed/imOHHGk90KY" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=318</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resources for Beginning Software Engineers</title>
		<link>http://salzerdesign.com/blog/?p=177</link>
		<comments>http://salzerdesign.com/blog/?p=177#comments</comments>
		<pubDate>Thu, 08 Mar 2012 03:09:26 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[beginner resources]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=177</guid>
		<description><![CDATA[Updated: I&#8217;m back at career night again this year. I&#8217;m going to 8th grade career night at my daughter&#8217;s school. I&#8217;m too lazy to print anything out, so I&#8217;m posting some info here. http://www.w3schools.com is great for basic tutorials, and &#8230; <a href="http://salzerdesign.com/blog/?p=177">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Updated: I&#8217;m back at career night again this year.</p>
<p>I&#8217;m going to 8th grade career night at my daughter&#8217;s school. I&#8217;m too lazy to print anything out, so I&#8217;m posting some info here.</p>
<p><a>http://www.w3schools.com</a> is great for basic tutorials, and looking up specific properties.</p>
<p>To find tutorials I&#8217;m just googling &#8220;HTML tutorial&#8221; or &#8220;HTML beginner tutorial&#8221; or something similar.  If you don&#8217;t like a tutorial just skip it and find one you like better.</p>
<p><a title="HTML5 Boilerplate" href="http://html5boilerplate.com/" target="_blank">http://html5boilerplate.com</a> has great info about HTML5. A lot of it is advanced, but there are links to lots of great stuff.</p>
<p><strong>Languages</strong> (these are all free, this is only a partial list)</p>
<ul>
<li>X/HTML (HTML and/or XHTML) (<a title="Markup validator" href="http://validator.w3.org/ " target="_blank">validator</a>)</li>
<li>CSS (<a title="CSS Validator" href="http://jigsaw.w3.org/css-validator/" target="_blank">validator</a>)</li>
<li>JavaScript</li>
<li>Ruby on Rails (RoR)</li>
<li>PHP</li>
<li>Java</li>
</ul>
<p><strong>Resources</strong></p>
<ul>
<li>Internet</li>
<li>Library – try to get the most recent version of books, most of these are online</li>
<li>Networking groups – <a title="Meetup Org" href="http://www.meetup.com/" target="_blank">Meetup.org</a>, <a title="SFWow" href="http://sfwow.org/" target="_blank">SFWow.org</a> (San Francisco Women on the Web &#8211; but there are men in it too.), etc.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=177</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safari Too-Big Border Radius Creates an Interesting Effect</title>
		<link>http://salzerdesign.com/blog/?p=294</link>
		<comments>http://salzerdesign.com/blog/?p=294#comments</comments>
		<pubDate>Sun, 29 Jan 2012 03:14:54 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[border-radius]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[FF]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=294</guid>
		<description><![CDATA[div,article { width: 540px; display: block; border: 1px solid #ccc; background-color: #fff; padding: 100px 20px; margin-bottom: 20px; -moz-border-radius-bottomright: 800px 100px; -moz-border-radius-topleft: 800px 100px; -webkit-border-bottom-right-radius: 800px 100px; -webkit-border-top-left-radius: 800px 100px; border-bottom-right-radius: 800px 100px; border-top-left-radius: 800px 100px; -moz-box-shadow: 10px 10px 5px #888; &#8230; <a href="http://salzerdesign.com/blog/?p=294">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://salzerdesign.com/blog/?attachment_id=297" rel="attachment wp-att-297"><img class="alignnone size-full wp-image-297" title="safariBigBorderRadius" src="http://salzerdesign.com/blog/wp-content/uploads/2012/01/safariBigBorderRadius1.png" alt="" width="240" height="171" /></a></p>
<p><code>div,article {<br />
width: 540px;<br />
display: block;<br />
border: 1px solid #ccc;<br />
background-color: #fff;<br />
padding: 100px 20px;<br />
margin-bottom: 20px;<br />
-moz-border-radius-bottomright: 800px 100px;<br />
-moz-border-radius-topleft: 800px 100px;<br />
-webkit-border-bottom-right-radius: 800px 100px;<br />
-webkit-border-top-left-radius: 800px 100px;<br />
border-bottom-right-radius: 800px 100px;<br />
border-top-left-radius: 800px 100px;<br />
-moz-box-shadow: 10px 10px 5px #888;<br />
-webkit-box-shadow: 10px 10px 5px #888;<br />
box-shadow: 10px 10px 5px #888;<br />
}<br />
</code></p>
<p>When Firefox has a border radius that&#8217;s wider then the container, it changes the curve.</p>
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=294</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Web &#8211; Preventing the Keyboard from Popping Up</title>
		<link>http://salzerdesign.com/blog/?p=261</link>
		<comments>http://salzerdesign.com/blog/?p=261#comments</comments>
		<pubDate>Mon, 01 Aug 2011 18:49:02 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=261</guid>
		<description><![CDATA[On a mobile device (such as iOs) when a user touches an input the soft keyboard pops up. In some cases, like with a datepicker, you don&#8217;t want the soft keyboard to pop up. (The datepicker is a pop-up which &#8230; <a href="http://salzerdesign.com/blog/?p=261">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On a mobile device (such as iOs) when a user touches an input the soft keyboard pops up. In some cases, like with a datepicker, you don&#8217;t want the soft keyboard to pop up. (The datepicker is a pop-up which has it&#8217;s own buttons and selects, so you don&#8217;t need the keyboard.) After trying a few things I found the best way to prevent the keyboard from appearing is to add the &#8220;<strong>readonly</strong>&#8221; property to the input.</p>
<p>Also check out these related discussions for more info:<br />
<a href="http://stackoverflow.com/questions/3539292/ipad-web-application-how-do-i-prevent-the-keyboard-from-popping-up-on-jquery-dat/3743117#3743117" target="_blank">Preventing the keyboard from popping up</a><br />
<a href="http://stackoverflow.com/questions/6172911/what-is-the-difference-between-readonly-true-readonly-readonly/6173038#6173038" target="_blank">Input with Readonly</a></p>
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=261</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed Table Headers with wide non-breaking content</title>
		<link>http://salzerdesign.com/blog/?p=242</link>
		<comments>http://salzerdesign.com/blog/?p=242#comments</comments>
		<pubDate>Mon, 20 Jun 2011 03:44:25 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=242</guid>
		<description><![CDATA[I just got a bug at work where someone in QA put &#8220;adsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasfasdfasdfasdfasdfasdf&#8221; into content in a table. This is not &#8220;real&#8221; content, but it did break the layout. The problem is that it is non-breaking and won&#8217;t wrap, and &#8230; <a href="http://salzerdesign.com/blog/?p=242">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just got a bug at work where someone in QA put<br />
&#8220;adsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasfasdfasdfasdfasdfasdf&#8221;<br />
into content in a table. This is not &#8220;real&#8221; content, but it did break the layout. The problem is that it is non-breaking and won&#8217;t wrap, and tables can only be as thin as their thickest content in each column. If that had been &#8220;adfds adfad adfadsfasdf&#8221; etc. with spaces, it would have wrapped and been fine. If it had been a normal table, it would have gotten a horizontal scrollbar and been ok, if not beautiful. What is challenging is that the fixed-header and sorting schemes don&#8217;t play well with the horizontal scrollbars. I&#8217;m still experimenting with all of this.</p>
<p><a href="http://salzerdesign.com/test/tableOverflow.html">http://salzerdesign.com/test/tableOverflow.html</a></p>
<p>Update: so far all the tables that I&#8217;ve tested break with really long non-breaking content. I have not seen a CSS or JavaScript solution that handles it with a fixed header.</p>
<p>Also, the Android mobile OS seems to break with the CSS fixed header, but iOS seems the same as the desktop version.</p>
<p><strong>Conclusion</strong>: a fixed header table won&#8217;t work with a horizontal scroll bar.  Assuming there are both horizontal and vertical scroll bars, they should show at the same time so the user knows there is content in both directions.  To have both at once, they need to be on the same element.  If they are on different elements, one could be scrolled out of sight.  In order to have the header fixed, the CSS prevents it from scrolling vertically with the body.  Unfortunately, it also doesn&#8217;t scroll horizontally with the body.</p>
<p>The JavaScript methods of creating a fixed header have similar problems.</p>
<p>Sorry for the bad news!</p>
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=242</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Michael Koob&#8217;s Class Performance 2011</title>
		<link>http://salzerdesign.com/blog/?p=231</link>
		<comments>http://salzerdesign.com/blog/?p=231#comments</comments>
		<pubDate>Sat, 28 May 2011 15:42:33 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Music, Dance, and Movies]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=231</guid>
		<description><![CDATA[Argonne 3rd 4th and 5th graders perform at the De Young during the annual Young at Art Celebration &#8211; May 20, 2011. They are using music that I suggested!]]></description>
			<content:encoded><![CDATA[<p><iframe width="610" height="375" src="http://www.youtube.com/embed/Oth8ht5GOJ4?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>Argonne 3rd 4th and 5th graders perform at the De Young during the annual Young at Art Celebration &#8211; May 20, 2011. They are using music that I suggested!<br />
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=231</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ricardo Lemvo and Makina Loca</title>
		<link>http://salzerdesign.com/blog/?p=225</link>
		<comments>http://salzerdesign.com/blog/?p=225#comments</comments>
		<pubDate>Sat, 14 May 2011 17:06:12 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Music, Dance, and Movies]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=225</guid>
		<description><![CDATA[A week ago we saw Ricardo Lemvo and his band Makina Loca at the Yerba Buena Gardens Festival in SF.  I had a great time and danced for most of the concert!  The whole thing was really together, the band was &#8230; <a href="http://salzerdesign.com/blog/?p=225">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A week ago we saw <a title="Ricardo Lemvo and Makina Loca" href="http://www.makinaloca.com/" target="_blank">Ricardo Lemvo</a> and his band Makina Loca at the <a title="Yerba Buena Gardens Festival" href="http://www.ybgf.org/" target="_blank">Yerba Buena Gardens Festival</a> in SF.  I had a great time and danced for most of the concert!  The whole thing was really together, the band was tight.  They played mostly dance songs with a <strong>wide</strong> variety of rhythms. Ricardo Lemvo plays  congolese rumba, son montuno, soukous, mutuashi, cumbia, and more.  For the encore a band member from Montana played a cowboy song.  Ricardo Lemvo writes his songs. The band is extremely talented. I appreciate that that there is a strong horn section as well as a soukous guitar player. The band acted as a group with no individual showboating, yet all of them sounded great.</p>
<p>We first saw Ricardo Lemvo roughly 10 years ago when he played with Sam Mangwana. At that time, I was there to see Sam Mangwana and hadn&#8217;t heard of Ricardo Lemvo.  Both musicians have a lot in common including being two of my favorite musicians.</p>
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=225</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>STAR test Fails in every way</title>
		<link>http://salzerdesign.com/blog/?p=218</link>
		<comments>http://salzerdesign.com/blog/?p=218#comments</comments>
		<pubDate>Mon, 25 Apr 2011 05:48:32 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[NCLB]]></category>
		<category><![CDATA[STAR test]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=218</guid>
		<description><![CDATA[The STAR test and No Child Left Behind are ruining education because they reduce the amount and quality of teaching, are expensive, stress everyone out, are inaccurate and are becoming more so as student resentment grows. <a href="http://salzerdesign.com/blog/?p=218">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The <strong>STAR test</strong> and <strong>No Child Left Behind</strong> are <strong>ruining education</strong> because they</p>
<ul>
<li>reduce the amount and quality of teaching</li>
<li>are expensive</li>
<li>stress everyone out</li>
<li>are inaccurate and are becoming more so as student resentment grows</li>
</ul>
<p>If I&#8217;m preaching to the choir, you can skip the rest. If you want to read the reasons in more depth, keep reading.</p>
<p>The STAR test is a standardized test in California that along with No Child Left Behind is ruining education. The idea behind the test was to show which schools were doing a good job and to be able to find and improve schools that were not. Instead of improving schools which were doing a bad job of educating students, it has lowered the level of education for all students in elementary through high school.</p>
<p>How has it lowered the level of education? The test results are used in such punitive ways that teachers feel compelled to teach to the test. They sometimes spend months teaching the materials on the test, and multiple-choice test-taking itself. This is to the detriment of other subject matter, such as creative projects. Since the tests are multiple choice, it encourages teaching that &#8220;one right answer&#8221; mentality, while taking time away from creative assignments. Teachers teach best when they teach the materials they feel passionately about, but the STAR test makes everyone teach to the test. On top of it all, students have to spend time taking the tests, which go an for days, instead of learning.</p>
<p>Complying with No Child Left Behind was supposed to bring money to schools. Instead, it&#8217;s much more expensive to comply with then the amount of money it brings from the federal government.  All this testing and administration costs the schools money which could be better spent other ways.</p>
<p>The STAR test is meant to be a test of the schools and teachers. It is not an accurate test, because right off the bat disadvantaged students don&#8217;t don&#8217;t test as well as advantaged ones.  Each student&#8217;s performance is influenced by all the teachers he or she had previously, so an individual teacher&#8217;s contribution is hard to measure.  The punitive ways of using the scores encourage teachers to teach the students who start out with the most advantages and probably have smaller class sizes.  The weighting system for students who are mentally disabled or learning English don&#8217;t really make sense.</p>
<p>Teachers, administrators, and students have a lot of anxiety because of this test. STAR test are also part of a student&#8217;s permanent record and can be used as a basis for course selection or for the Gifted Program.  There isn&#8217;t much of a Gifted Program anymore because there is no money for it. There is a great joke about No Child Left Behind football analogy. (This is all over the internet, <a title="No Child Left Behind Football" href="http://drblues.wordpress.com/2006/10/26/nclb-the-football-version/" target="_blank">here&#8217;s one version</a>.) Sadly, it&#8217;s true. Gifted kids are given no help, and are often bored and start to hate school.</p>
<p>The whole assumption of the test is that it is an accurate and objective test in which all the students try their best. After years of taking these tests, many students resent them. They know that for the most part, their performance won&#8217;t affect their academic grades. They don&#8217;t have any real motivation to try hard. Last year my eighth grader decided he was going to just fill in random bubbles quickly so he could finish early and read his book.  He didn&#8217;t like his school or teacher all that much and didn&#8217;t care if it reflected badly on them.  (He probably would have been much happier in a gifted program if there had been one.)  I didn&#8217;t have many good arguments for why he should try hard and ended up bribing him to do his best.  Apparently, many other students also have the same idea of filling in random bubbles to finish the test early.</p>
<p>This year his high school tried to combat apathy by telling the students that their STAR scores would be counted as part of their academic grades. This is problematic because the test could have materials on it that their teachers hadn&#8217;t taught them, so it isn&#8217;t fair to grade students down for it. Another problem is that the scores don&#8217;t come out until the middle of the summer, after the grading period is over.  The school said they would adjust the grades after the fact. Then, they said that individual teachers could decide if they wanted to count the STAR tests or not.</p>
<p>This is a huge mess, because using the STAR scores as part of the students grade is a misuse of the test. On the other hand, it&#8217;s not fair to judge the school and teachers when the students don&#8217;t take the test seriously.  A parent can legally request that their child not be tested. Once again, it hurts the school.</p>
<p>The best solution is for the district and state to refuse to do STAR tests and No Child Left Behind (aka No Child Gets Ahead or No Child Left Untested).</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=218</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Mess With Tables &#8211; Pure CSS Fixed-Header Left-Aligned Tables</title>
		<link>http://salzerdesign.com/blog/?p=191</link>
		<comments>http://salzerdesign.com/blog/?p=191#comments</comments>
		<pubDate>Mon, 04 Apr 2011 02:37:12 +0000</pubDate>
		<dc:creator>Miriam</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[fixed]]></category>
		<category><![CDATA[fixed-header]]></category>
		<category><![CDATA[left-aligned]]></category>
		<category><![CDATA[no javascript]]></category>
		<category><![CDATA[stretchy]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[variable height]]></category>
		<category><![CDATA[variable width]]></category>

		<guid isPermaLink="false">http://salzerdesign.com/blog/?p=191</guid>
		<description><![CDATA[See the Demo Page for examples and view the source for markup and CSS. Update: I just added a table with complex headers. I haven&#8217;t tested it in many browsers yet. I am working on a project with a requirement &#8230; <a href="http://salzerdesign.com/blog/?p=191">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>See the <a title="Demo of Pure CSS Fixed-Header Left-Aligned Tables" href="http://salzerdesign.com/test/fixedTable.html" target="_blank">Demo Page</a> for examples and view the source for markup and CSS.</p>
<p><strong><span style="color: #000000;">Update: I just added a table with complex headers. I haven&#8217;t tested it in many browsers yet.</span></strong></p>
<p>I am working on a project with a requirement for fixed-headers tables (the headers don&#8217;t scroll but the body does) which expand to fit the width of the page. We were using a JavaScript plugin which had to be called every time a page was loaded or resized. Last week one of the tables needed to have a second table within it, and I looked into CSS alternatives without JavaScript.</p>
<p>If you&#8217;ve ever tried to keep a table header fixed while letting the body scroll, you will find out that many solutions take the &#8220;stretch&#8221; out of the width of the table.  Tables are special and different from other HTML elements.  Browsers look at the table&#8217;s contents and then calculate from the inside out.  After much frustration, I decided not to mess with tables.</p>
<p>My solution is to mess with divs inside of tables. I took the <strong>div</strong>s inside the <strong>th</strong> and gave them &#8220;<strong>position: absolute; top: 0;</strong>&#8220;.  That pulls the <strong>div</strong> straight up to the top of the outer container and out of the flow of the table.  The rest of the table is a normal table and continues happily along.  The header <strong>div</strong>s retain the top left coordinate from the table, and you can even resize the page and see them shift with the columns. Unfortunately, the header divs completely loose the width they got from the <strong>th</strong> container.</p>
<p>My solution is a table with a scrolling body but fixed header, no JavaScript, and variable width and height.  Should you use this method? It all depends on the style of your table headers.</p>
<p>CONS:</p>
<ul>
<li>All the problems are in the header styles.</li>
<li>No right or center aligned headers (unless you do something to set column width and hack the headers).</li>
<li>No using the column width in the style.</li>
<li>If text in a header is longer then the content in that  column it might look clipped. This is fixed by setting a min-width on the tds or content in that column.</li>
<li>The height of the table headers has to be a fixed height.</li>
<li>Horizontal scroll bars or really long non-breaking content breaks it (as well as most other methods of making a fixed-header table). (<a title="Fixed Table Headers with wide non-breaking content" href="http://salzerdesign.com/blog/?p=242">See full post</a>.)</li>
</ul>
<p>PROS:</p>
<ul>
<li>Other then the table headers, the rest of the table is totally normal and without any hacks.</li>
<li>The table has flexible width and height.</li>
<li>No JavaScript needed, you can add JavaScript for other stuff if you like.</li>
<li>The browser will take care of everything for you on page load and resize.</li>
</ul>
<p>SUPPORT:</p>
<ul>
<li>It works in IE7+, FF, Safari, and Chrome, and Opera.</li>
<li>Some td or content in the tds need a minimum width if the header is wider then the column content.</li>
<li>IE6 has some bugs.</li>
</ul>
<p>The <strong>th-inner div</strong>s can be styled within themselves, they can be given a fixed width, padding, margin, height, etc.  They just can&#8217;t depend on the width of the <strong>th</strong>, they use the outer container to calculate their width (which isn&#8217;t particularly helpful).  There seem to be some bugs in calculation the widths of <strong>span</strong>s within the <strong>div</strong>s as well.</p>
<p>I have styled a table using the <a href="http://jquery.com/">jQuery</a> plugin <a href="http://tablesorter.com/docs/">Table Sorter</a> written by <a href="http://lovepeacenukes.com/">Christian Bach</a>. (Please see his site for documentation. )  I used my method to keep the headers fixed but styled them to show the sorting.</p>
]]></content:encoded>
			<wfw:commentRss>http://salzerdesign.com/blog/?feed=rss2&#038;p=191</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

