yeah you heard me......piece of shit.....HAX rekwired.
fucking rant that I'm doing this bullshit....you can't really design with CSS you have design 'around' css.
If all browsers stuck to the same standards it would actually be pretty easy. The hardest thing about CSS is making your site look the same in IE and Firefox.
CSS isnt broken infact compared to the iold HTML4 days its miles ahead. Once the browsers fall into line all will be well.
agree with the browser thing which is one great aspect of Flash....it leaves no decisions to the browser to interpret.
But really I find a lot of things in CSS lacking or seriously flawed. You can't vertically align elements properly. You can only use width and height in certain elements. So really you end up writing div in div in div in div no differently then people were badly using nested tables. It didn't solve a lot of what was perceived to be the problem in the first place.
Now I was never a nested table guy nor did I ever use a single pixel gif hack. But you could do some wicked things with one master layout table because you could allow things to get pushed around for a liquid layout and then you'd use CSS for the things that CSS was designed for. Layout with CSS is different than using CSS to style elements so you have to create multiple classes and elements to complete a vertical align as an example or to have a line drawn underneath in the bg while having it a different width than the text. I find some of the advanced tricks I use to be able to pull off quickly require way more code and hacks to get to work visually.
I know you can do everything layout-wise with CSS. But my argument is it is flawed and requires a lot more code to do anything some really advanced visual stuff.
I think it's a flawed language because it took so long to get to CSS3, which is a great improvement. The tough thing about CSS is that it's a great idea but the execution sucks. The syntax is lame.
Sass, on the other hand, fixes pretty much all of that and I have no complaints. I couldn't imagine trying to style a page in tables and inline styles again. Holy crap. Honestly I think there just hasn't been much in the way of coherent thought about how to structure CSS. Most of it is "oh gee, I can make this page look like this" or whatever but other than the nascent OOCSS thing I just haven't seen anything too compelling. Even that is flawed, biut it's probably the best way to approach a project with a lot of CSS.
Not sure how that rates against hss? But yer I never really saw why CSS was so wonderful, its why I am so reluctant to abandon flash.
Sass is nice but you didn't watch the video, it's talking about something else.
I am currently working on a 6000+ line CSS doc to which multiple authors have been contributing since August. Luckily I possess a particular blend of OCD and masochism that lets me enjoy working on such things, but it is a perfect example of how easy it is for CSS to go wrong: - Given the complexity of the document, overriding a declaration is a better (i.e. more practical) option than going back through to find the original. - With multiple authors, the doc is rife with conflicting class names. Modify .tab for one page only to find that it screws up another, completely unrelated instance on a different page. - Working with such a large flat object is agony. - etc. etc.
My preferred method is to take an OOP approach: dedicated stylesheets for different objects (e.g. divAlertDialog.css), then defining unique id's as needed within those. Yes you take a hit in terms of total download, but you can always combine everything into a single doc again for production.
Of course, CSS is nothing without good semantic markup. 
Originally posted by: baron ruhstoff My preferred method is to take an OOP approach: dedicated stylesheets for different objects (e.g. divAlertDialog.css), then defining unique id's as needed within those. Yes you take a hit in terms of total download, but you can always combine everything into a single doc again for production.

I tend to be (overly?) verbose and specific with my CSS but it does generally work out for the best when things get complicated. Annoyingly, a lot of my time these days is spent working with templates/CSS that are put together by someone else and which are fine until you need to change anything -- like recently I had to insert markup from a third-party bulletin board into an existing template and ended up with two competing sets of CSS declarations. I ended up with a pretty nasty hack to reconcile things but it was a less awful prospect than rewiring a 1000+ line CSS file. :shrug:
Originally posted by: Stinky dig it, yo.
Neat. Should have checked that out sooner.
Honestly, I think that the biggest problem with CSS is just that it hasn't been given the thought that's gone into markup or programming. Given some good high-level strategic thought and best practices it would be fine.
It's just taking longer because we don't have many people like Nicole Sullivan talking about CSS architecture.
Agreed and I'd go even further and say it hasn't even been created with full comprehension of how liquid layouts work with so many more resolutions possible now and things to design for. It does some things well but is not well planned for others.
That's a post from only last week on smashingmagazine on how to make this : HOT XXX LAYOUT MAGIC
At least it provides a lot of people with a job 
Completely relevant. Will go through it closer in a bit.
The first sentence alone makes my point.... > “What? Another “Equal Height Columns†article? Enough already!†If this is what you think, then think again because this solution is different. It does not rely on any of the usual tricks.
Tricks. And the fact that so many articles are needed proves that its not a natural process of the language but is natural in how we want to design.
In HTML5, I LOVE LOVE LOVE (rare for me to be uber-positive here with all my rants) the , , , and tags. I've also implemented them back into non-HTML5 browsers so it proves that they can get together and come up with something that allows us to naturally design and build in a similar fashion versus being two way different skills. Right now you either design based on what you can do with CSS or you trick and hack CSS to fit your design.
But tables got such a bad wrap. I still don't see the problem (for the three column layout) with building the header div, then a three column table (heights stay together), and then the footer div. Nothing wrong in my eyes but "OMG you used tables for non-tabular data!!!" And then use CSS to stylize the table and the content within the table. It feels more natural plus would probably be less code than wrapper divs and their styles to get it laid out.
I've never had to use any wrapper divs to do a three column layout. My columns always look like:
Or something similar.
Then again, I can't think of a reason why you'd need to force all of your columns to have the same length.
ummmmm
Serious question. I understand wanting the backgrounds to look uniform but that doesn't mean that the column itself has to stretch all the way to the bottom of the page. That's what CSS background images are for.
Originally posted by: Stinky That's what CSS background images are for.
Not if the div doesn't stretch the full height. Yeah, you could set the background in a container like a wrapper div created solely for that purpose, but then you're messing with semantics.
Unless I misunderstand your point, of course.
Sort of, I mean there's a semantic need for a wrapper div around the columns because that's the content area. Semantically I think this makes a lot of sense:
HAML style markup
header
content
.col1.1of5 .col2.3of5 .col3.1of5
footer
I mean, the style for the background of your content is completely logical to put in the #content div. And it makes sense to have a #content div where all of your columns can be switched out and rearranged, where else are you going to target the content replacements from your fancy new SPI site navigation with Backbone.js 
but that's a wrapper......(don't need to quote ya)
Visually you want the columns to align. That's the idea. Part of what makes ari's alteration to the current logo thread is that he aligned the icon to the bottom text for the proper visual. How we design is by providing unity to show cohesiveness in the complete design. You want all the columns to be same height and the space to appear visually consistent. My original point is that CSS misses design because it provides for development (but I agree with you Stinky in that it misses that too).
The table columns know how to relate to each other. CSS strives for its independance making unified design more difficult and requiring hacks and tweaks to apply consistently across the browsers.
I still think:
- with three colums
answers the best compromise to the design versus the development. The styling for the table goes in the CSS for sure. But providing a unifying element saves div within div within div scenario that I see from people who call it design.
Originally posted by: Storm I still think:
- with three colums
answers the best compromise to the design versus the development. The styling for the table goes in the CSS for sure. But providing a unifying element saves div within div within div scenario that I see from people who call it design.
The problem is that you loose flexibility. You apply semantic layout properties outside of the CSS by the very fact that it is a table. CSS desperately needs better ways to relate elements to each other in ways that for instance mimic certain table cell properties. Something like "horizontal-align-group: bottomRow;".
Ideally I want to be able to throw a bunch of content blocks in my page and lay them out in any way I like through the CSS, including mixed liquid/absolute/relational positioning. It goes a long way already, but it;s certainly not there yet nor easy to manage in large projects.
Agree with what you say as your ideal. Completely x 1000%.
But my thought is as long as you apply no formatting to the table other than 0 padding and a percentage width, you write everything else in CSS and you get three columns of equal height depending on which cell gets the most text. They get to flow together. Formatting the table in the table is losing a lot of flexibility...yes. But it doesn't have to if you know what you're doing. And it's less code and more flexible than multiple divs and classes to get the result.
No mention of a css framework eh?
interesting.
and baron's large css file was my fault as lead dev. he's been a trooper though.
Actually, that whole OOCSS video I posted was hinting at that in a roundabout manner. She's got a framework of sorts at:https://github.com/stubbornella/oocss
A big problem with CSS is a direct product of the whole cascading metaphor: the fact that objects are contextually defined means that a single object can be described in multiple ways. Not a huge problem for small docs - perhaps even a strength! - but without some sort of standards in place things get messy quick.
I do like inheritance though to alleviate some of that.
One thing I did here was to establish over-arching classes to define the Hex of each division of the company in the new pages. Then taught 'real programmers' how to inherit the number instead of defining it everywhere!