tags:

views:

247

answers:

8

Having asked this question How to reach CSS zen?, I now understand that the issues I have are mostly related to positioning. I've found some articles telling that CSS is not always good enough as a layout system.

Do you as CSS designers limit yourselves upfront to designs that CSS can handle? Should I avoid things that seems perfectly easy are in fact difficult to do with CSS?

+2  A: 

I don't limit myself upfront to any designs that CSS can handle (within reason of course), just figure out your design and there will be someway that you can get it looking right using CSS, but it might involve a lot of hair pulling, especially if IE6 is involved!

Fermin
+4  A: 

Why?

If you are "designing", why would you limit yourself based on a the limitation of one technology? When you design your site, you should always try to achieve the most usuable interface for the user.

If you do limit yourself, then you are just asking for the site to not be used, and then what's the point of creating it?

Irfy
Of course there are design limitations on the web, as in every design field. Like it or not you have to work with the materials you're given.
wheresrhys
No doubt that there are limitations, but the point was, those limitations should not be the limitations of CSS. But instead the limitation of the combination of any technology available. (And in terms of web layout, there doesn't seem to be much of a reason to limit yourself to just css, in the majority of cases).
Irfy
+10  A: 

Of course you limit yourself. As a designer, you should always think about the medium you're working with. If I were designing a magazine ad, I wouldn't be thinking about animations or video. There are certain rules you must adhere to, and it doesn't make sense to ignore that.

But of course, rules were always meant to be broken.

nickf
+2  A: 

When implementing a web design (assuming I've got an image/drawing of what the site will look like) I always follow these steps:

  1. I look at the design and determine what components it has. Examples are navigation areas, headers, content areas, and so on.
  2. I implement (X)HTML that can represent the content areas without really taking the design into account (there are certain things such as content order that I use the design to determine.)
  3. I start making the CSS and images needed for the site to look the same way it did in the original design document. Depending on the complexity of the design, I might come up short of elements to use for styling the page, and may end up adding elements that don't really make sense for the content. I try to avoid it as much as possible, though, and I try to create the elements in a way that isn't obtrusive to the content.

As you can see, I never limit the design to the capabilities of CSS. CSS comes last. Now, depending on the complexity of the design, it might not look exactly like it did in the original design document, but the goal is always to make it as identical as possible, while still maintaining clean HTML so that the design can easily be updated in the future.

Blixt
+2  A: 

Most layouts I find can be done with CSS. There are a very few exceptions (normally to do with verically centering text).

For me the main factor which limits my designs is a reluctance to use huge background images. If an effect can't be done by combining/repeating a few tiny bg images I tend to reject or tweak it. Eg a diagonal gradient on a box with curved corners which could be any height might fall into this category using CSS2.1

wheresrhys
Or even a vertical gradient. The number of times I've tried to get that through to designers from a print background...
NickFitz
What technology would you use to apply a gradient, if not css? A gradient image does not need to be more than 1px * Xpx and repeat it. The best technology to get a gradient effect though, would be Silverlight. There you can define it by just giving the start color and end color, and silverlight does the filling in between. No images needed.
awe
+1  A: 

Almost every painter limits themselves to paint on canvas, almost every sculptor makes 3D shapes from stone or clay or metal...

But there's also the few who dream new dreams and create new things. Some flop, some shine.

Should you limit yourself based on what CSS can do with layouts? Not completely. I say dream big.

Once you've got your dream design, either figure out how to create it, find a technology other than CSS that can do it, or go start inventing!

Gabriel Hurley
+1  A: 

You can do absolutely almost anything using CSS 2.1 as far as layout. Its a complete pain in the ass that has no reason to ever exist, but you can do rounded corners (using background images), gradient backgrounds (more background images) and all kinds of other bloated crap you don't need all together and still not completely destroy the semantics of your HTML.

Doing all that garbage and still attempting to be standards compliant reduces usability, because its the designers who need round corners and other frivolous crap and not the users. Usability tests have confirmed this. Sites that are bloated to accommodate presentation and usability at the cost of semantics and efficient fail in usability tests compared to their competition. I work for a website that gets several million visitors a day and I have seen the results of our usability tests.

The original question mentioned positioning, not rounded corners. If you actually read the links in the question, you'd see they were simple and natural things that one would want (and that people unaware of the limitations of CSS would think was fairly simple), not what you call "bloated crap". I'm not downvoting this, just pointing it out to you.
ShreevatsaR
+1  A: 

CSS provides a very good way to create an overall design that easily can be changed by small changes in one CSS file, and instantly applies the design changes to all your pages. Of course there are things that are tricky to do with CSS, and in those cases you might want to do it in other ways, but even if your layout is mainly based on CSS, doesn't mean that you can't do some special parts using other technology! You can mix!

So you don't limit yourself when you go for CSS. You just make use of a powerful technology that can be used in perfect harmony along with others!

awe