Mozilla Firefox 3.0 released

After months of anticipation and three Release Candidates, the new version of Firefox is now available for download. (Due to demand, servers are still a bit slow, so just keep trying and you will eventually get it!).

Most common developer plugins were updated to support FF3 in the last week or so:

  • YSlow! was finally updated on launch day
  • Unfortunately, Google’s discontinued support for their “Google Browser Sync” and does not plan to update it to support FF3.


Custom Webclip Icon for iPhone and iPod

I found a few references to this lately and just had to look into it. This is similar to the FAVICON approach used in browsers, but supports a (60×60), officially a 57×57 pixel icon.

The code is simple:

<link rel="apple-touch-icon" type="image/jpeg" href="/example.jpg" />

Old Reference (no longer works):

NLS for CSS?

Okay, so this is a little odd. This does not effect the language or direction of the website, but instead is a measure to ensure proper encoding of the CSS file itself.

The browser will generally rely on the HTTP Headers to determine this value, but in cases where the server or application configuration does not, you can provide the equivalent in the file itself.

WARNING: This needs to be the first line of the .css file, before any spaces or comments.

@charset “UTF-8”;

Other common value:
@charset “ISO-8859-1”;



HTML FORM’s unexpected effect on layout

I was recently looking back at some websites I’d created years ago and realized just how much of a hastle the HTML FORM tag used to be for page layouts.   This generally resulted in non-valid markup where the FORM tags themselves were improperly nested in TABLE, TR and TD tags.

Other than the obvious accessibility and semantic markup issues, there are two specific items that must be realized about the layout when working with a FORM.

The following examples assume the following source:


FORM is a block element, forcing content around it to be separated:

Example displays as:

  • FORM generally has a bottom margin to push content down below it.

Example displays as:


  • CSS can fix both of these cases depending upon your specific problem:

<style type=”text/css”>
form { margin-bottom:0; display:inline; }

Example displays as: