7/02/2008

My Work Won a Stevie

News was released today that a major project of mine, the website for Globoforce, has won a Stevie Award. A Stevie Award for businesses is comparable to an Oscar for actors. Its an international award, with a competition open to organizations worldwide. The award my design received was for best Web Site Craft (Writing/Content). My design was victorious over 1700+ entries from over 30 countries.

6/18/2008

$4,000 Worth in Free Software

I found this website that is offering $3,920 in free software. Just sign up for an email newsletter and you can download tons of free Windows software, ranging from FTP, Office and Web applications, to utilities and customization tools, to tiny widget programs to video games. Visit Software Giveaway.

4/26/2008

Three Extremely Useful Free Online HTML Tools

I've listed below three really useful free online tools that can save tons of time when developing in html.

pForm - HTML Form Generator

We all have to build them at some point, as tedious as it can get, and when styling forms with CSS, they can start to become a pain the more you build them. But there is a site out there that can save you a load work each time you need to build a form: its called pForm by Appnitro. pForm's simple interface allows you to just click your way to creating a form. Its just a matter of selecting the form elements you need and naming them, while pForm does the rest. The CSS and HTML that you download looks standards compliant from what I've seen. The service opened my mind up to a newer way of building forms. Instead of fussing with display, padding, margins, and our friend IE6's rendering issues, place the form elements in ul and li tags. The natural block display of the li's allows for easier horizontally-based forms...and there's no tables involved. I even built a template from the service and gave it generic styling so that I can just copy and paste whenever I need to build a form and avoid all the headaches.

Premailer: Preflight for HTML Email

Premailer, from dunae.ca, is an extremely useful online tool in creating HTML emails. All you need to do, is design and code the email as you normally would with a website, with standards-compliant HTML and an external CSS file, and upload your final page. Post the link to your page (you need to include the name of the file, even if it is index.html). Click submit and Premailer does all the work for you, placing all the styles inline, as well as turning relative URLs to absolute URLs. I use it all the time, and it is an extremely useful tool.

Kotatsu - HTML Table Generator

Kotatsu, from Ask the CSS Guy, was just released 1 day prior to this posting and is an HTML table generator that is just awesome. Its a very simple interface that allows you to create a table, and add classes to rows and columns. So simple in fact, a monkey could do it, and my monkey did do it. I can now remove Dreamweaver from my computer because this tool is so awesome. I almost can't wait until I have to create a table so that I can use it.

4/22/2008

Spam-Proof Your Email Address Through Javascript

Nobody likes placing their email address directly on a page because of spam bots crawling their site trying to find one. I recently had to place an email address on a page and found a workaround, where you can add your email address and hide it from spam bots at the same time. Its a javascript workaround and since spam bots are too lazy to read javascript, your email address is safe and hidden away, while you can read it perfectly fine. Here's the code:

<script type="text/javascript">
<!--
address=('you' + '@' + 'domain.com')
document.write('<a href="mailto:' + address + '">' + address + '</a>')
//-->
</script>

Swap out the variables for your information, and you're done. Spam-proof email address. Of course, you need javascript enabled to see it.

4/19/2008

Learning CSS Part 4: Styling Links and Forms

This is the 4th and last part of Learning CSS: Styling Links and Forms.

LoVe HAte

An a tag has 4 states, and therefore 4 pseudo-selectors attached to it. a:link, a:visited, a:hover, a:active. While an a tag can be styled by just targeting a, the pseudo-selectors will style each state of the a. When using this method, it is best to keep them in the order described above, as it will not give any rendering issues or other problems. A way to remember this order is Love-Hate… LoVe HAte… :link, :visited, :hover, :active.

The Link state is the default state of the link, where it has not been clicked or hovered over.
The Visited state is the state of the link after the link has been clicked and the following page has been visited.
The Hover state is the state in which the mouse pointer hovers over the link.
The Active state is the state in which the link is active, such as clicking on a tabbed-navigation with submenus.

Link Off- and Hover-State Buttons

An a tag is an inline element, which means it can appear many times on the same line. It can have any style applied to it just like every other element. But in order for it to display with a certain width and height in a standards-compliant browser (when I say, "standards-compliant browser," I mean "any browser that is not IE6"), the display value of the a tag must change. There are 3 different values for display:

display: inline; display: block; display: none;

An inline value for display will change the properties of any element to display as an inline element (multiple instances on one line).
A block value for display will change the properties of any element to display as a block-level element (one instance per line).
And a display value of none will completely remove the element from the page.

Button Background

The display value for an a tag must be changed to display: block in order to receive a width and height. When declaring a multiple-state button, it is best to create all instances of the button's background image in one image and then change the background's positioning. For example:

a:link { background: url(images/button_bg.jpg) no-repeat 0 0; }
a:visited { background: url(images/button_bg.jpg) no-repeat 0 -50px; }
a:hover { background: url(images/button_bg.jpg) no-repeat 0 -100px; }
a:active { background: url(images/button_bg.jpg) no-repeat 0 -150px; }

A button's required styling will change when there is text and when there is no text. When there is no text, the width and height are required. Some issues may arise in some browsers with this process, in which case some padding and a non-breaking space ( ) may be required. When there is text, height can be eliminated and padding will be needed to reveal the background image vertically.

Form Styling

By default, all elements in a form are inline elements, except a fieldset (almost like a div for forms). So because form elements are inline, they all appear on one line, and since a form is almost always vertical, you want to change the elements to display:block, placing each element on its own line. An input field can have its background color changed, it can have a background image, anything you can do with css, can be done on input elements...after placing display: block as a style, think of them as tiny divs from that point on.

Like an a tag-based button, a submit button can also have a background and hover states applied. A submit button will need a display: block, width, border: none, and padding. To achieve a link-effect, a submit button can also receive a :hover pseudo-selector and cursor: pointer, such as below:

input.submitButton { display: block; border: none; width: 150px; padding: 15px 0; text-align: center; background: url(images/button_bg.jpg) no-repeat 0 0; } input:hover.submitButton { background: url(images/button_bg.jpg) no-repeat 0 -50px; cursor: pointer;}

This effect will be shown correctly in standards-compliant browsers. It will not work, only showing the normal state of the input button and cursor, in IE6, surprise surprise.

As I said at the beginning of part 1, this is a crash course in learning CSS. If you want to get more in depth, I suggest reading CSS Mastery and Bulletproof Web Design (review), both available at Amazon. It was because of these two books that I am able to share this information. Of course, you can receive and be updated with more CSS info from various sites out there, which are pretty easy to find.

The end.