by Karina Beattiger 27.February 2008 09:07
You know it's bad (good?) when you dream in CSS. I do wish I were kidding, because among those I've asked, reading is not a common ability in their dreams. Aside from the general weirdness of my dreams, which include remembering just about everything and knowing that I'm dreaming as I do it, CSS is a new one. Somewhere in my (fluxuating, I admit it) hours of sleep, I start dreaming about playing with CSS, and it's as if I've plugged myself into one of those "Learn Spanish as You Sleep!" CDs. "Hola, mi nombre está loco. La computadora está en mi cabeza. El gato está en el teclado. El
mono..." (Thank you, Babelfish.)
The benefit to this, I suppose, is the fact that I wake up feeling just that much more confident about what I've learned the day before.
Which brings me, in that meandering way, to the whole point of this post: Andy Clarke said it best when he said, paraphrased, that while CSS is a tool for designers, it is not, per se, a designer's tool. It was not made by us -- oh, yeah, I said "us", hee! -- but by those who can look at "if/then" "get" "gibberish" lines and make it read "Your lack of CSS disturbs me," to the uninitiated. Sure, an average or even novice designer can seize the concept of CSS with both hands and have a revel (I am!), but there's a few things ("few") that makes me cringe.
For instance, what the heck is up with position: [absolute|fixed|relative]? Sure, it looks like a WYSIWYG code, absolute means it won't move wherever it is, fixed means it... um... won't move wherever it is, and relative means that... uh... it means that it's next to, um, something else. Maybe it's that other object's cousin by marriage? ...What do you mean that's not right?
All right, then that must mean position: relative means that... wait, I'm delving into my school-padded vault of educated guessery... it must mean that the object in question is somehow "relative" to the other objecs in question. How? Uh. It just is.
Now, perhaps I speak for myself here, but the way I see it, I'm a novice designer with no head for code that doesn't mean what it looks like, and I'm not going to intuitively grasp a concept developed by coders. And haven't, for that matter. Sure, I could spout off the textbook answer -- An element with position: relative moves an element relative to its normal position... (thank you, W3schools.com) -- but what on earth does that mean?
Well, I have no idea. No, really. What I can tell you is this: from a visual standpoint, when I set something position: relative (or any of the others, for that matter) the content I'm looking at moves. In most cases, it moves where I want it to, and I can see that by looking at the page. Can I tell where it will be by looking at the code? No, not at all. But I believe that Webdeveloper Weems can! Why? He's a developer. He understands "if/then" "get" "stuff". He frequently explains that stuff to me, with infinite patience and amusement.
This is why programs like Dreamweaver have done so well, in my humble opinion. You get to make it pretty by looking at it, and trust the program to do the code work for you. (Truth be told, this is how I learned a lot of what CSS I know, which may not help my case, now that I think about it...) Of course, I also blame Dreamweaver/Fireworks for my
table-dependancy for so long. As well, a major problem with
Dreamweaver is that it adds quite a lot of... um, well, I call it
"clunky" code. Extra bits ao be there, and that I can see plainly now that I've started grown-up designing. Fortunately, I'm easy to de-program.
So what does all this mean? ... Um. Nothing. I use CSS and I love it. I dream it, man, and that's got to mean something. It's just a running commentary sparked by a sentence in Transcending CSS, which made something go "ping!" somewhere in my brain. "Ah HA," I thought. "That explains it."