Web Design

...now browsing by category

 

I’m not the only CSS sprite skeptic

Tuesday, March 30th, 2010

Resources have been a key focus in the growth of the world wide web.  The more users engaging on a specific web service means that the service will use more resources.  With that theory in mind, one of the many techniques to reduce HTTP requests to speed up the load of a page is the CSS sprite technique.  To summarize the technique, rather than have a plethora of individual background images, you would combine all of the images into a single image and use CSS to access those portions of the image that are needed.

But on to the meat of this post, I’m plugging a recent article at Smashing Magazine that looks at the technique and discusses potential hardships the technique may cause for some designers.

SXSW Interactive ‘09 - Oooh, that’s Clever!

Wednesday, May 13th, 2009

I’m late to catch this post from Paul Annett of Clearleft, but I highly recommend checking out his presentation regarding easter eggs and the small visual ‘magic’ tricks web designers can add to a project.

View the post and presentation at http://paulannett.co.uk/sxsw09

Drupal 6 Social Networking

Saturday, April 18th, 2009
Drupal 6 Social Networking is one of the lastest publications addressing the use of the popular open source content management framework.

Drupal 6 Social Networking is one of the lastest publications addressing the use of the popular open source content management framework.

I’ve fought it for a long enough time, but I’m finally taming my dislike of Drupal.  I’ll admit - its mostly because I’m now using it for what it is - a framework and not as a content management system.  Now I seem to be growing as a Drupler.  Fast-foward to a few weeks back: I was browsing about Amazon and came across Drupal 6 Social Networking.  After reading the entire book in a few days, I felt it deserved a review.

Drupal 6 Social Networking is written to reach a wide audience - from programmers to content administrators, no matter the level of experience.  It is authored by Michael Peacock of Peacock-Carter, a web developer from Newcastle, UK.

The book is broken down into 10 chapters, ranging from an introduction to drupal and social networks, installing drupal, using the framework to create the functionality desired, and even into web site promotion.

The highlights of this book is that is an easy read and is written for those that are not exactly sure of what certain features relate to in the system.  For example, have you ever wondered what the full use of Taxonomy is in Drupal?  Peacock has a casual writing style that gets directly to the point, accompanying his writing with on-point visual examples to add visual detail to his writing.

If you are new to the Drupal framework, this book will guide you from installation to project setup.  If you are seasoned with the framework, but not exactly sure how to make the best of specific modules to get the performance / functionality you need, this book will enlighten you with which module to use and why to use it.

Overall, this is a worthy purchase that gets directly to what the title states - drupal 6 and social networking.  This mean, you guessed it, Michael directly focuses on how drupal can be used to build a social network and he doesn’t slide off topic in doing so.

For those interested:

5-for-1 Deal from SitePoint - profits going to victims of Australian bushfires

Thursday, February 12th, 2009


SitePoint Special Sale

Just thought I’d pass this awesome offer along to those that read the blog.

SitePoint is offering a deal to get 5 of their books in PDF format for only $29.99.

The beauty of it is that the proceeds are going to be donated to the victims of the Australian bushfires.

I’ve read a few of the books and some are hit or miss.  I definitely recommend:

Check it out, its for a good cause!

Fixing the yellow input box

Tuesday, February 10th, 2009

Firefox by default designates certain form input fields as important by giving them a yellow backgroundFor those that do a lot of work in interface design, this won’t necessarily be a new trick. However this could prove quite useful for those new to designing forms with css.

There is a bug within firefox that turns commonly important fields yellow (such as name, email or phone).

The simpliest way around the matter is to designate your input background as important. In the example below, the style is regarding all input tags.

input {
background:#fff !important;
}

Hope this helps!

jQuery turns 3 with the release of jQuery 1.3

Friday, January 16th, 2009

jQuery
January 14th, 2006 brought to the development world what would soon become one of the most influential javascript frameworks.  jQuery, the write less, do more framework, has since taken on a life of its own and is now used by many web sites today, from Google, to Dell, and even Virginia Tech.

Happy Birthday jQuery!

A few posts to look forward to for October

Sunday, October 5th, 2008

It’s been a busy couple of weeks but I have a few posts I’m going to focus on this month that you may be interested in:

  • Jquery Tab Navigation
  • Extended Navigation Panels
  • Drop-Down with JQuery

Notice the pattern?  Should be a few interesting posts.  I do want to take more time to write these articles, as my last few haven’t been the best due to rushed writing.

Thanks for your continued support and for reading.

Styling Nested List Items With CSS

Thursday, September 25th, 2008

Many years ago designers overlooked an important piece of the pie known as efficient web design - the use of lists. As the years progressed, this overlooked portion began to take shape as an art form and started to show the world the power it could harness to make the web a more manageable place.

With that mouthful, let us move on to see how we can use CSS to nest lists!

First and foremost - keep your list CSS in one CSS file

One issue I’ve seen from working with premade layouts is that some have various stylesheets and each have classes and selectors pertaining to the same list items. In reason, it can be assumed that you may want to seperate these stylesheets to operate with different browsers (such as IE6 or IE7 while using the and conditional statements for Internet Explorer 7 and Pre Internet Explorer 7 respectively). However, there really shouldn’t be a big hassle between the browsers in terms of lists. For example:

body {}
ul
{
list-style:square;
}
/*We shall create css to format interior lists, going 3 deep from the root*/
ul li ul,
ul li ul li ul,
ul li ul li ul li ul
{
padding-top:10px;
list-style: url('../images/mapbrack.gif');
}

In our css, we have defined styles for ul selector. From there we have moved on to specify styles for more intense DOM structure, such as nested lists.

The HTML could look like the below example:


<ul>
<li><a href="#"><a href="#">Test</a></a></li>
<li><a href="#">Test 2</a></li>
<li><a href="#">Test Group
<ul>
<li><a href="#">Inner Test 1</a></li>
<li><a href="#">Inner Test 2</a></li>
<li><a href="#"> Inner Test 3
<ul>
<li><a href="#">Inside Inner Test 1
<ul>
<li><a href="#">Last Test 1</a></li>
<li><a href="#">Last Test 2</a></li>
<li><a href="#">Last Test 3</a></li>
</ul>
</a></li>
</ul>
</a></li>
<li><a href="#">Inner Test 4</a></li>
</ul>
</a></li>
<li><a href="#">Test 4</a></li>
<li><a href="#">Test 5</a></li>
</ul>

As you can see we have did quite a number on nested lists. Not only do we have one nested list, but we have created nested lists within nested lists that will gracefully stretch across IE, Firefox, and Safari. The result is that you have optimized your css to limit the amount of code to render and produce the same result. You can look at it as trimming the fat off of the CSS, or you can look at it as just one small step in saving resources.

Simple Javascript to Combat Spam

Monday, August 25th, 2008

Before you read any further, take into context this isn’t going to fully help you in terms of lessening your spam. However, it is a neat trick and will help some, or at least deter some spamming bots from picking your e-mail address and using it for spam.

While at work today I was performing some maintenance on a project that was handed to me and I noticed a tiny bit of javascript used to print an e-mail address, but by doing so kept it seperate and not connected.

<script type="text/javascript">
    emailE=('roberthash@' + 'yahoo.com')
    document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>')
</script>

What you see first is that a variable is assigned two values that are added together. By splitting the e-mail into two pieces (in theory), this will assist in deterring spam bots searching for a valid e-mail address.

emailE=('roberthash@' + 'yahoo.com')

From there we utilize the document.write() function to print this text to the browser window.

document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>')

Another beautiful part is that if Javascript is not installed, this means there won’t be an e-mail address showcased. However, this could be a pain if you have someone trying to find your e-mail address that has a legit reason to contact you - but doesn’t have Javascript.

As usual, it is a method to be used at your own risk or if you feel it is indeed the solution for your project.

With further research, I have found the origination of this code, which can be found at http://www.joemaller.com/js-mailer.shtml.

As you can see - it is a very simple approach that even a novice programmer can understand. Who says you can’t learn new tricks?

XHTML Tags

Friday, August 22nd, 2008

Here is a listing of XHTML tags that I’ve kept as a reference for a long time. I figure if they were a great resource when I was learning XHTML, then they can be a great resource for you as well.

*Original credit goes to http://www.w3schools.com/tags/default.asp*

XHTML Tags, Description and Document Type Declaration


Tag Description DTD
<!–…–> Defines a comment STF
<!DOCTYPE> Defines the document type STF
<a> Defines an anchor STF
<abbr> Defines an abbreviation STF
<acronym> Defines an acronym STF
<address> Defines an address element STF
<applet> Deprecated. Defines an applet TF
<area> Defines an area inside an image map STF
<b> Defines bold text STF
<base> Defines a base URL for all the links in a page STF
<basefont> Deprecated. Defines a base font TF
<bdo> Defines the direction of text display STF
<big> Defines big text STF
<blockquote> Defines a long quotation STF
<body> Defines the body element STF
<br> Inserts a single line break STF
<button> Defines a push button STF
<caption> Defines a table caption STF
<center> Deprecated. Defines centered text TF
<cite> Defines a citation STF
<code> Defines computer code text STF
<col> Defines attributes for table columns STF
<colgroup> Defines groups of table columns STF
<dd> Defines a definition description STF
<del> Defines deleted text STF
<dir> Deprecated. Defines a directory list TF
<div> Defines a section in a document STF
<dfn> Defines a definition term STF
<dl> Defines a definition list STF
<dt> Defines a definition term STF
<em> Defines emphasized text STF
<fieldset> Defines a fieldset STF
<font> Deprecated. Defines text font, size, and color TF
<form> Defines a form STF
<frame> Defines a sub window (a frame) F
<frameset> Defines a set of frames F
<h1> to <h6> Defines header 1 to header 6 STF
<head> Defines information about the document STF
<hr> Defines a horizontal rule STF
<html> Defines an html document STF
<i> Defines italic text STF
<iframe> Defines an inline sub window (frame) TF
<img> Defines an image STF
<input> Defines an input field STF
<ins> Defines inserted text STF
<isindex> Deprecated. Defines a single-line input field TF
<kbd> Defines keyboard text STF
<label> Defines a label for a form control STF
<legend> Defines a title in a fieldset STF
<li> Defines a list item STF
<link> Defines a resource reference STF
<map> Defines an image map STF
<menu> Deprecated. Defines a menu list TF
<meta> Defines meta information STF
<noframes> Defines a noframe section TF
<noscript> Defines a noscript section STF
<object> Defines an embedded object STF
<ol> Defines an ordered list STF
<optgroup> Defines an option group STF
<option> Defines an option in a drop-down list STF
<p> Defines a paragraph STF
<param> Defines a parameter for an object STF
<pre> Defines preformatted text STF
<q> Defines a short quotation STF
<s> Deprecated. Defines strikethrough text TF
<samp> Defines sample computer code STF
<script> Defines a script STF
<select> Defines a selectable list STF
<small> Defines small text STF
<span> Defines a section in a document STF
<strike> Deprecated. Defines strikethrough text TF
<strong> Defines strong text STF
<style> Defines a style definition STF
<sub> Defines subscripted text STF
<sup> Defines superscripted text STF
<table> Defines a table STF
<tbody> Defines a table body STF
<td> Defines a table cell STF
<textarea> Defines a text area STF
<tfoot> Defines a table footer STF
<th> Defines a table header STF
<thead> Defines a table header STF
<title> Defines the document title STF
<tr> Defines a table row STF
<tt> Defines teletype text STF
<u> Deprecated. Defines underlined text TF
<ul> Defines an unordered list STF
<var> Defines a variable STF
<xmp> Deprecated. Defines preformatted text