The CTRL+SHIFT+S Test For Proper Page Architecture

Posted July 24, 2007 at 9:16 AM by Ben Nadel

Tags: HTML / CSS, Work

As of late, I have been really getting into trying to develop with tight CSS and web standards compliance. The other day, one of my co-workers, David Stamm (aka The Secret Weapon), told me that in FireFox's web developer plugin, the key stroke CTRL+SHIFT+S will turn on and off all style sheets in the current page. Using this during development has almost become an addiction - I'm constantly checking to see if my sites look Good without style (the new sites, not the existing ones that are already without hope). Going forward, and this may seem silly, but I am going to make it a priority to have all my client sites look good (degrade elegantly) without style sheets.

Please don't look at my site, www.bennadel.com, without style sheets :) It's lame. It will be redesigned one day with some better code.



Reader Comments

Jul 24, 2007 at 9:35 AM // reply »
51 Comments

Oh yes - how did we ever do web development before Firefox and the web developer toolbar? :)

If you haven't checked out jQuery yet - I'd give it a peek. I just picked up the recently released book and it's really making me re-think how I implement CSS.


Jul 24, 2007 at 9:39 AM // reply »
11,238 Comments

@Jim,

Most definitely. Web Developer toolbar AND FireBug! I've barely scatched the surface of the FireBug functionality and already I can't live without it.

I love jQuery :D It's making me rethink how I do all my Javascript. It's funny that after like 8 years of web development, it's now that I am really going back and re-examining some of the most basic things like CSS and page structure.


Jul 24, 2007 at 10:53 AM // reply »
15 Comments

Handy tip Ben, thanks!


Jul 24, 2007 at 10:56 AM // reply »
51 Comments

The other one I use quite a bit is CTRL+SHIFT+A - it'll send the page you are working on to the W3C validator...


Jul 24, 2007 at 10:57 AM // reply »
11,238 Comments

Oh snap! I feel like between Web Developer and FireBug, I just need to sit down and read the manual (so to speak). I am certainly not leveraging these things as well as I could be.


Jul 24, 2007 at 11:12 AM // reply »
2 Comments

Hi Ben,

A very cool showoff the capabilities of css is www.csszengarden.com

This is the site that convinced me that css is the way and the site I show to my developer-friends.

- Mikkel


Jul 24, 2007 at 11:18 AM // reply »
11,238 Comments

@Mikkel,

CSS Zen Garden is the perfect! example of how a site should look when it degrades without CSS. It's so freakin' clean and readable. Good tie-in to the conversation. Thanks.


Jul 26, 2007 at 4:37 PM // reply »
11 Comments

A little bit of thread necromancy - sorry about that. I just can't resist though, after you said you're doing all your CSS development with Ctrl+Shift+S...

Try this: Ctrl+Shift+E. It'll pop up a sidebar that shows your your CSS. Even better: you can edit it and see the changes on the fly. Don't like that border/color/etc? Just change it... no need to refresh the page at all! Then just save it over the existing style sheet once you're happy.


Jul 26, 2007 at 4:45 PM // reply »
11,238 Comments

@Adam,

That's pretty cool! I just tried it. The only problem seems to be that it cannot keep the background image URLs properly calculated. For instance, my background URLs are like:

"../../images/logo.gif"

Because my CSS files are two levels deep. However, in the CTRL+SHIFT+E, I have to take out the ../../ cause it looks like the background images are relative to the page, not to the CSS file. But, cool, nonetheless.


Jul 26, 2007 at 5:20 PM // reply »
11 Comments

If you use a full qualified path ("http://..."), it will work. That's only an option sometimes, I realize, but better than nothing.


Jun 20, 2008 at 3:18 PM // reply »
1 Comments

You can use domain relative paths to images in your css (/images/bg.jpg) rather than full http:// paths and it will also work correctly.


Jul 3, 2008 at 11:38 PM // reply »
1 Comments

This is the first i heard of this, so i checked it out. Good idea. I don't see anything wrong with relying on style sheets, but i can see why you are interested in doing what you can with the minimum amount of interfering code as possible.

It will probably make it easier in the future when going back to edit everything so that you know where everything is at without so much code to look through.

-jared bartholomew


Dec 17, 2008 at 3:42 PM // reply »
1 Comments

thanxs for the post



Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
May 20, 2013 at 4:38 PM
Using A Dynamic Column Name With ValueList() In ColdFusion
@Dana, Your confusion is well founded, since this is a very confusing features. In fact, it ONLY works if you use array notation. Meaning, that this: arrayToList( query[ "columnName" ] ) ... read »
May 20, 2013 at 4:34 PM
Using A Dynamic Column Name With ValueList() In ColdFusion
I was thinking chicken and the egg, I wouldn't have expected it to work in the valuelist going in I guess. Maybe I just need a beer, long day :) ... read »
May 20, 2013 at 4:29 PM
Using A Dynamic Column Name With ValueList() In ColdFusion
@Dana, That's if you're trying to reference a specific row. In this case, we're trying to reference the entire query column as one cohesive value. So, you are correct that if you wanted to output a ... read »
May 20, 2013 at 4:24 PM
Using A Dynamic Column Name With ValueList() In ColdFusion
I thought when you used array notation to reference queries you always had to have the row or it would throw a similar error as well? ... read »
May 20, 2013 at 11:45 AM
Using jQuery's Animate() Step Callback Function To Create Custom Animations
This is really useful. I found out that you don't actually have to use a dummy css property (surprisingly). To animate a property in a linear-gradient for instance I did this this.css('someLinearGra ... read »
May 20, 2013 at 10:51 AM
Using A Dynamic Column Name With ValueList() In ColdFusion
@Josh, Oh snap! You're totally right! I'm not sure I've ever tried that. I did know that you can call a number of other array-methods on ColdFusion query columns: http://www.bennadel.com/blog/167 ... read »
May 20, 2013 at 10:45 AM
Using A Dynamic Column Name With ValueList() In ColdFusion
@Ben - I believe you can achieve the same functionality with ColdFusion's built in ArrayToList() function. ArrayToList( users[ "id" ] ); ... read »
May 20, 2013 at 10:21 AM
My Experience With AngularJS - The Super-heroic JavaScript MVW Framework
Is there any error logging and handling framework in angularjs, if not then in what way I can do this. ... read »
InVision App - Prototyping Made Beautiful With Prototyping Tools