CSS Vs Tables – 9 Reasons Why CSS Tableless Designs Are Better

To start, let’s take a look at what CSS is and why it’s so important to modern web design. CSS stands for Cascading Style Sheets and was introduced by the World Wide Web Consortium in late 1996 with the aim to separate web page content (written copy, images, multimedia, etc.) from presentation (fonts, colors, layout, page structure, etc.). Another chief goal of CSS is to improve and enhance web accessibility. Previous to the introduction of CSS, a web page’s HTML markup defined both content and presentation.

CSS is usually contained in a separate file from an HTML web page. This is why CSS files are frequently referred to as “external style sheets”. When an HTML page or other type of web page loads like .aspx, .php, or .cgi, the page calls the external CSS file and reads all of the presentation properties defined in the file. The CSS file tells the HTML page how to style the website’s content and in the case of tableless web design, where to place it. With CSS, a web designer can set rules for the presentation of individual web pages or an entire site.

Traditionally, web pages were built using HTML with tables to layout the page structure and content. These cell based tables are very similar in form to a table found in Microsoft Excel and Word. An advantage of using tables is when used properly, it closely mimics the standard page layout in print media such as newspapers or magazine articles. However, as web technology has advanced and become more dynamic, a new era of design with greater possibilities has emerged. A new approach to designing and laying out web pages was created to break the constraints of structured table layouts. This approach is called CSS tableless design.

It’s important to understand that traditional table based design and CSS are not mutually exclusive; CSS is frequently used by web developers using table based design to control the properties of tables and other items on their web pages. On the other hand, tableless design wouldn’t be possible without CSS. However, instead of using tables, a tableless designer uses what are known as “DIV”s, which is short for “division”. The name DIV is also derived from the HTML

</p> <div> tag that forms the DIV in the HTML code. A DIV is a box, or more accurately described as a container, where web content is housed. Similar to table based design where content is contained within the cells of the table, with DIVs the content is housed inside DIV containers. A DIV&#8217;s properties are defined within the CSS file. CSS tells the DIV where to appear on a web page, its width and height dimensions, and its appearance i.e. if it should have a background color or image, a border, or whether it should even be visible. There are a wide variety of other CSS properties that can be applied to DIVs. Instead of being constrained by the rigid grid structure of tables, DIVs can be made any size and placed anywhere on a webpage including layered on top of each other. This is what makes CSS tableless DIV design so powerful. The layout and design possibilities are essentially endless. Even though the use of tables for website page structure is deprecated, tables still play an important role in CSS tableless design. Tables should be used for structuring and presenting tabular data. An example of best practices for using a table in your design that many novice CSS tableless designers overlook is when building a web form, for example a company information request form. Sure, it may be obvious that using tables is best used to present data from a database or the results of a form submission, but when laying out the form itself, tables will save you a lot of time. Therefore, it is important for CSS tableless designers to understand how to use tables and when they are a better and more efficient solution than using strictly CSS tableless design. It&#8217;s been a hot button issue for some web designers as to which method is better, table based layouts or CSS tableless layouts. Let&#8217;s take a look at 9 reasons why CSS tableless design performs better than traditional table based web design and why it has become the preferred method of modern web design: 1. CSS tableless design allows web designers the possibility to make more complex layouts and designs when producing a website. With table based layouts, web designers are confined to creating layouts that can be rigid, inflexible, and based on grids. CSS tableless based layouts, on the other hand, allow the designer to be as creative as their imagination allows them to be. 2. If your intention is to improve search engine rankings for your website, then a CSS tableless design will help your cause. CSS tableless designs result in smaller web page file sizes, a reduction in the ratio of code to content, and the elimination of the extraneous &#8220;junk&#8221; HTML markup that many table based web editors use. This makes it easier for search engine spiders to crawl through your website and results in a more favorable ranking in search engines. 3. By using CSS style sheets it is extremely easy to maintain visual consistency throughout your website. When using table based layouts, it is easy to lose this consistency because each web page&#8217;s style, layout, and design are frequently hard-coded individually into every page. If you need to make a change to your website across all pages, you&#8217;ll have to change the code on each individual page. With CSS, all pages can use the same CSS document for their layout and styles. If you change a property in the CSS file, the changes will be instantaneously reflected across all pages of your website. 4. Updating a CSS tableless website is easier and less time consuming than compared to table based designs. For example, if you want to change font sizes and colors within your website, your external CSS file can be simply opened and the necessary changes made without making the change on each and every page of your website. To change the look of your website for special or seasonal promotions, the entire website &#8220;look and feel&#8221; can be completely altered simply by changing properties in the CSS file without touching the HTML code of the web page. 5. Redesigning a website using CSS tableless design is faster and less expensive than redesigning a website using table based design. This is because CSS tableless designs have separate files for content and visual data including web page structure whereas table based designs mix layout information with content in the same file. By separating the visual data and layout from the content, a web designer is able to quickly and easily make changes across the entire website. 6. Table web page designs rely heavily on the use of spacer .gifs, a transparent image used to control blank space within a table based web page. Having to create a series of custom sized transparent images to organize your web page layout creates messy code and a rigid page structure that can&#8217;t be easily changed. CSS tableless design eliminates this problem by using DIVs instead of tables which can be easily resized, positioned anywhere on a page, or even dynamically manipulated through the use of scripting languages. 7. A common advantage of using CSS tableless web design is a reduction in web page file size which equates to your web pages loading faster. When compared to a CSS tableless layout, a table based web page frequently takes twice as long to load. Also, the amount of bandwidth you will save using a CSS tableless based approach, especially as your website grows in size, can be vast resulting in a faster overall loading website while saving you money. 8. Using CSS tableless web design makes your website more accessible by making content consumption and site navigation easier for users. You&#8217;ll also do a much better job of accommodating those with visual impairments and other disabilities. Screen readers, Braille devices, and special browsers for the impaired have fewer problems with tableless designs because they can control the CSS file making font sizes larger, or even modify the web page structure to make it easier to read. 9. CSS enables the web designer to attach multiple style sheets for different media types. If a potential customer visits your site with her Blackberry or mobile phone, a different CSS style sheet is called which dictates a completely different layout and styling for your entire website formatting it for optimal viewing on the small screen of the device. CSS tableless design is a great method for developing modern websites and offers many valuable advantages over traditional table based design. Using CSS tableless design will provide your website visitors better usability and accessibility, faster page load times with greater, more elegant design possibilities. For the web developer and website owner, CSS tableless websites are easier and less expensive to redesign, update and maintain. When given a choice, CSS tableless design will be the best option for most present day website designs.</div> <p>

Solar Power At Home

Is it time to consider solar power for your home? Recent solar research has uncovered some amazing technologies which will not only make solar more efficient but will finally bring solar prices into the average householder’s price arena.

If you think the solar energy solution is for you here are 10 steps to get you powered up.

1 ~ If you’re building a home, orient the largest windows and the roof toward the south, smallest windows to the north. Plant deciduous trees (leaves fall off in winter) in a position where they’ll shade the windows in the summer but allow the winter sun to shine in.

2 ~ Make your home as energy efficient as possible. Replace all heating and cooling appliances (fridge, freezer, air conditioner, stove, oven, dryer) with the most energy efficient model available or switch to gas or propane where possible. Install a solar power water heater and possibly a wood, pellet or corn husk stove.

3 ~ Check your electricity bill to determine the amount of power you use now that you’ve made changes. Size your system for the month with the greatest energy use. (In warm climates that’ll be summer and in colder climates it’ll be winter. Sizing your system for the month with the highest use ensures that you’ll produce enough power for any month of the year.

An average 2 bedroom home in the southern US uses 25 KWH per day.

4 ~ If you intend to tie into the grid then sizing will not be as critical as it is for an independent system.

5 ~ Price out your system. Remember that the panels themselves only account for about 45% of the cost of your system. You may want to acquire more than one estimate and if you have an installer or are handy enough to do it yourself you can often save money by purchasing your components through eBay or other avenues. (Be careful, you may not qualify for warranties)

6 ~ Other set up costs are ~ inverter, charge controller, batteries, installation and various wires and hardware. (Some of these costs will not apply to a grid tied solar power system.)

7 ~ Without subsidies expect to pay at least $75,000 USD (August 2007) for an independent solar energy system. A grid tie system will cost significantly less because you don’t have to size the system to cover all of your power needs. The utility grid will pick up when the solar power falls off.

8 ~ Many nations, countries and municipalities provide substantial subsidies, grants and tax incentives which reduce the price to you by half or better. Check with gov’t and power companies in your area to see if solar power subsidies exist.

9 ~ Once the system has been installed there is little maintenance required (some battery maintenance and periodic inspections of the solar panels) and interruptions in power will be a thing of the past.

10 ~ Solar panels not only increase the value of your home but pay monthly dividends in electric bill savings for up to 40 years.

The more
energy efficient you make your home the lower your cost to convert to solar power.

Free yourself from the political tug of war over oil and gas and help clean up the environment at the same time. Solar power is here to stay and about to take its rightful place at the energy table.

The Pitfalls of Twitter Bootstrap

I see the Twitter Bootstrap framework being used more and more by developers and I am still struggling to understand how it can be accepted as a full and robust solution that can be released as production ready.

From a general overview, it is a framework for developers who don’t know how to build a modular, re-usable and scalable front end solution, and use it as an easy way out. It seems to be a good way for back end developers with limited front end knowledge to create a reasonable looking UI. There are some useful elements, but from my view point are only really acceptable for MVP (minimal viable product) work as a certain degree of hacking at the frame work is required to customize it for a required purpose.

Below are some of the benefits that developers find useful:

• Quickly create a layout (fixed, fluid and responsive)

• Quickly create a form

• Everything immediately in the same style

• Working grid system

• Tables

• Buttons

Lets have a look at some of the pitfalls in a bit more detail.

It doesn’t follow best practices

One of the major issues I have with Twitter Bootstrap is that you end up with a lot of DOM elements full of needless classes. This usually means that the presentation is no longer separate from the content. Many front end developers will find this irritating, as it makes scalability, reusability and maintenance more of a challenge than it should be. Twitter Bootstrap also creates problems with progressive enhancement, as presentation and interaction are no longer independent of content.

It’s conflicts with existing site code

If you’ve been thrown into a big project and want to implement the ‘so called’ benefits that Twitter Bootstrap provides, there are a lot of problems here. Conflicts with generated HTML, CSS and JavaScript are the first thing. Then the resources, you now have to go through that big monster of a project and work out which scripts and styles need to be removed or replaced. Twitter Bootstrap could potentially create extra work as you go through the project finding and fixing weird bugs, which you could argue defeats the purpose of using it in the first place.

It is heavy

Straight out of the box, Twitter Bootstrap includes CSS weighing 126kb and 29kb of JavaScript. If you do want to use all of the functionality that Twitter Bootstrap brings, you should have a good think about loading times. Twitter Bootstrap can possibly help you to build an attractive, responsive website, but some mobile users could be become frustrated by the slow loading time and battery-draining scripting.

No SASS support

Another point of contention, and definitely an issue that puts me off using Bootstrap is the that it’s built with Less and provides no native support for Compass and SASS. Less is okay and it certainly has it’s advantages. But SASS is just better!, and with a framework like Compass on top, it is a complete no-brainer to use it. The are some solutions out there, but straight out of the box, you’ll have to make do with Less.

My website looks like everyone else’s!

Twitter Bootstrap is growing in popularity all the time, and this means that the world and his wife will be using it. While it is possible to customise your design further, you may find time constraints force you to stick to a lot of the out of the box Bootstrap style. This can lead to the creation of a lot of similar, generic and unmemorable websites. While Twitter Bootstrap is fast and easy to implement, creativity is often compromised as a result. Creative designs, which defy conventions, can be difficult to implement in Bootstrap’s structured environment.

Other disadvantages of using Bootstrap

Bootstrap.js

A lot of users have complained about bootstrap.js and how it does not use semi-colons. This can cause issues when using aggregation and compression tools such as JSMin and RequireJS. Using semi-colons is not part of JS standards but in my view it is better practice to use them mainly due to the inconvenience it can cause and can make modifying the source code a more difficult task than it should be.

Visitors don’t take your website seriously

Some of the more skeptical and cautious users of the Internet may question the legitimacy of a site using the default Bootstrap style. By not taking the time to customise styles, some users may start to perceive Bootstrap sites as untrustworthy.

Bootstrap doesn’t work with JavaScript disabled

Like most web tools on the Internet, Bootstrap doesn’t provide fall-backs for users without JavaScript. It just means that you’ll have to provide your own fall-back if you do want that support. As around 1-2% of worldwide users of the web have JavaScript disabled, it is definitely something to take into consideration.

Overall, Twitter Bootstrap is good to get something up and running quickly, with minimal front end development knowledge and is acceptable for MVP work that is not released as production quality. However, it can become very easy to shoot yourself in the foot, by thinking you are getting something for nothing, only to find out later down the line that it causes more work or hacks are required to customise it to your needs.