Quick! Someone explain to me how CSS is awesome and great and The Real WTF is me!



  • Is that not just an Internet Explorer workaround for it not understanding XHTML properly? The MIME type is text/html (verified directly), the META Content-Type header says text/html, but it has an XHTML DOCTYPE.

    The page is XHTML nonetheless.



  • @Daniel Beardsmore said:

    Younger folk probably aren't even aware of just how awful web design was before CSS …

    CSS has nothing to do with it. Amateur sites are better they use wordpress instead of geocities. Professional sites are about the same or worse. I never saw a table layout let text run off the right edge of the screen or position an image on top of text.



  • @tOmcOlins said:

    CSS has nothing to do with it. Amateur sites are better they use wordpress instead of geocities.

    Wordpress themes don't design themselves, you know.

    @tOmcOlins said:

    I never saw a table layout let text run off the right edge of the screen or position an image on top of text.

    I'm not talking about appearance, I'm talking about the days when you needed font tags everywhere, intricate and fragile nested table layouts to get any kind of layout, that sort of thing, and where any appearance change meant altering every single page one by one. Have you, too, forgotten how painful pure HTML was?

    The problem Geocities gained was Yahoo!'s SiteBuilder, which let people place block elements at (x, y) co-ordinates, so if you had a browser with no CSS 2 support (like iCab 2 for Macintosh), these elements appeared in a single column, in "random" order according to the order that the site owner added them to the page, making the site almost unusable.



  • @Daniel Beardsmore said:

    Wordpress themes don't design themselves, you know.

    Yes, I know. They're designed by a handful of people who (mostly) know what they're doing. Then anyone who wants to can use these, rather than designing a site from scratch himself. My point was that, it was people who don't know how to design a site, and not HTML that made these sites crappy.

    @Daniel Beardsmore said:

    and where any appearance change meant altering every single page one by one. Have you, too, forgotten how painful pure HTML was?

    Evidently I have, because what I remember is that any appearance change meant altering the script that generates the HTML.



  • <Zylon>Argh.</Zylon>

    I am not talking about appearance. I'm talking about the fact that the presentational side of HTML is painful. This is orthogonal to professionality.



  • I'm done talking about appearance too. I'm now saying that HTML is/was no more painful than CSS. I'd like to mention that I'm not a web designer or a web developer, but I've never heard anyone complain "WTF, why are there are 8 extra pixels when I set cellspacing=0?"



  • I'm not going to read three pages of potentially off-topic CSS rants, I just want to add a problem with CSS I uncovered today. How apropos!

    Fortunately it didn't take too much time googling this new problem to find an authoritative and unsatisfactory answer from victims past. Here's my issue almost exactly, complete with minimum test case: [url]http://stackoverflow.com/questions/7084990/safari-and-chrome-ignore-min-width-css-propery[/url]

    The site I am working on was designed primarily for Firefox and compatibility with IE, but I expected it to work with Chrome as well. The site is heavily data-oriented, with lots of tables that are supposed to look pretty. This requires a properly functioning min-width style applied to table, but apparently CSS kind of trips on its feet about that. Conclusion: CSS sucks. Awesome. Looks like the best I have to work with is hand-picking which tables are large enough to apply a width of 100% and which ones are small enough to force a width of 80%. I might give a few hours to attempt something with Javascript, but my spider-sense is putting wavy lines around my head whenever I consider the possibility.



  • @tOmcOlins said:

    CSS has nothing to do with it. Amateur sites are better they use wordpress instead of geocities.

    Amateur sites now are better since they use one of the widely-available CMS built by (someone|a community) that knows how to develop code. That wasn't the case back in the Geoshitty and AOL days.

    @Daniel Beardsmore said:

    I'm not talking about appearance, I'm talking about the days when you needed font tags everywhere, intricate and fragile nested table layouts to get any kind of layout, that sort of thing, and where any appearance change meant altering every single page one by one. Have you, too, forgotten how painful pure HTML was?

    Oh, shitty virgin pepperpots... I remember those days. Hell, I've still got some of my HTML from 2003. 90% font, align, etc then 10% content. I even tried to build a templating system using bash scripts in a cgi-bin dir until I discovered SSI (and only when I'd grasped that did PHP3 come along).

    Yah, just one glance at that stuff shows just how far HTML/CSS has come. Granted, not perfect - but a metric fuckton better than what we had in the HTML3 days.



  • @Xyro said:

    http://stackoverflow.com/questions/7084990/safari-and-chrome-ignore-min-width-css-propery

    ... This requires a properly functioning min-width style applied to table, but apparently CSS kind of trips on its feet about that.

    Conclusion: CSS sucks.

    Erm.. two browsers don't implement a spec properly (which three other browsers do) and.. the spec sucks?

    Obligatory "old way is better" anecdote: this issue used to be addressed in times of yore by having a 1-pix transparent gif image placed in one of the table cells (usually the header cell) then fudging the width property to create a transparent bar which would prevent that particular column from getting any narrower. Dunno if this is an option open to you to address the .. erm.. sucky CSS issue.



  • @Cassidy said:

    @tOmcOlins said:

    CSS has nothing to do with it. Amateur sites are better they use wordpress instead of geocities.

    Amateur sites now are better since they use one of the widely-available CMS built by (someone|a community) that knows how to develop code. That wasn't the case back in the Geoshitty and AOL days.

    That's exactly what I said, unless you were just adding your own dash of dickweedery. In which case yes, not everyone used geocities either. Some people were on Angelfire.



  • @Cassidy said:

    the spec sucks?
     

    I never worked with CSS save for editing a bit the template of my shitty blog, but reading from http://stackoverflow.com/questions/7084990/safari-and-chrome-ignore-min-width-css-propery:


    Having just looked a bit further down the relevant section of the spec, I noticed it then states:

    In CSS 2.1, the effect of 'min-width' and 'max-width' on tables, inline tables, table cells, table columns, and column groups is undefined.

    So it actually looks like no-one got it wrong, and everyone can just do their own thing.

    So yeah, it looks to me like the spec sucks...



  • @tOmcOlins said:

    That's exactly what I said, unless you were just adding your own dash of dickweedery.

    Probably in a roundabout way. Then I saw your reply to Daniel and realised you were making the same point (about website owners not being coders anymore and therefore not responsible for shite HTML) - but by then it was too late for me to edit. I suck at reading.

    @dargor17 said:

    So yeah, it looks to me like the spec sucks...

    Looks like I suck at reading again. I went and looked at the specs and never even noticed that part. Perhaps they could have made that warninga bit clearer (<strong>, etc) but that's not an excuse for me missing it in two places (the specs AND stack overflow).

    Somebody pass me the Cluebat. Self-LART in 3...2...1...



  • @Cassidy said:

    Obligatory "old way is better" anecdote: this issue used to be addressed in times of yore by having a 1-pix transparent gif image placed in one of the table cells (usually the header cell) then fudging the width property to create a transparent bar which would prevent that particular column from getting any narrower.


    Nowadays I think you can do it by putting a minimum width on the contents of the table cell.



  • @Daniel Beardsmore said:

    Is that not just an Internet Explorer workaround for it not understanding XHTML properly?

    No. You've got it backwards. It's a workaround for the fact that the makers of XHTML didn't understand Internet Explorer properly. Had they understood IE, they would have just programmed it to do what they want, like normal, decent people do. Because they did not understand IE, they approached it (along with all other browsers) with a slash-and-burn, "hey-you're-doing-it-wrong" mentality. This is really an example of self-interested behavior in its basest form. It's an example of the evildoer's urge to destroy things other, better people have created, out of mere jealousy.



  •  A little too obvious, Bridget. You're not going to hook anyone that way.



  • @Zylon said:

     A little too obvious, Bridget. You're not going to hook anyone that way.

    I can see how you might look at my post and think that it's over-the-top in its hatred of CSS. It's not trolling in the classic sense, though. Trolling, in the purest sense, consists of making outlandishly strong statements on topics about which one is really indifferent, for the sole (or at least primary) purpose of causing unrest.



    That's not what's going on here. What I'm posting about CSS (and XHTML) is representative of my real opinion about these technologies. (And I don't really need to foment unrest regarding CSS... it's already happened.) I really, really, really dislike CSS and the people who created it. I really do think that the way these people choose to spend their time and money is morally wrong.



    I put talented people (be they strong, smart, fast, beautiful, etc.) into three broad categories: those who use their powers for the good of others, those who use them for their own betterment, and those who don't use their talent at all. Clearly, the people who invented CSS are smart. The moral dilemma they all faced at one point or another, though, might be paraphrased as follows:



    "Wow! I'm really smart and really good with computers! What should I do with this talent?"



    This is, of course, a difficult question for many of us. I cannot pretend to have the answer for each and every nerd in the universe, but I can assure you that the right answer IS NOT this:



    "I know! I'll make up a very abstract, theoretical-looking way to set things like border size and font color! And then, I can mock the people doing this using existing, ad hoc solutions! Oh boy, will I look smart!"



    If you don't think this is a fair assessment, head on over to the CSS Zen Garden (NOT linking to this hate site) and have a look. Are they feeding the hungry? Curing hepatitis? Increasing network throughput? NO! They're (clumsily) wasting their time coloring things, making borders, etc. (none of which has been novel for, oh, 10-15 years now).



    Yeah, I resent that. My resentment is authentic, though.



  • It's always reassuring to know that no matter how much of a nutter luddite I might appear, there's always someone much, much worse.

    CSS isn't in itself wrong. The problem is the completely cack-handed approach that the W3C took, wherein they completely forgot that computer screens are two-dimensional, and that just perhaps you may some point want to place items around this two-dimensional space in useful ways.

    CSS is very reactive – coming in last-minute to attempt to patch up what's already abused into something cleaner yet even more confounding, instead of looking to the future and designing something inspirational ready for us to use. They're like the anti-Apple – the iPad's success counters well all the naysayers who disbelieved it, while CSS is still struggling to be what it should have been from day 1: a way to lay out and style web pages without absurd amounts of fragile crud on the page.

    CSS is like so many things, that should have worked, could still work, if only they were designed properly.


  • Discourse touched me in a no-no place

    @Daniel Beardsmore said:

    It's always reassuring to know that no matter how much of a nutter luddite I
    might appear, there's always someone much, much worse.

    Now you're starting to sound like Daniel!







    Oops - it is Daniel..



    Sorry bud... ;)



  • I figure it's best to embrace one's nutterhood.



  • But in private, mind. Mummy keeps telling me not to cup my testicles in public.



  • So... assuming for a short minute here CSS is not handy, what syntax or descriptive structure would y'all propose in order to apply a set of visual properties to a whole bunch of structural elements in one go?



  • Oops, this got long ... what a surprise. TL;DR – more crap I'll look back one day and regret having written. So it goes ...


    One of my beefs with CSS is the inability to mutually adapt elements. For example, you want a series of <div> elements that each contain an image (as display: block) followed by some text. For example, a fluid thumbnails gallery that adapts to the viewport instead of a table that assumes a minimum display size on the part of the User-Agent, or that they have a GUI at all (after all, a thumbnails isn't tabular and doesn't belong in a table). The images are all the same width, so the boxes are set to that width. The captions beneath the images will probably wrap. Widespread support for inline-block means that you can flow them all without relying on float, but you can't both have wrapping text and constant height. It would be nice to set every block of class .foo to adopt the same mutual height based on whichever is largest (or smallest), so that if a few images have captions that wrap, every box increases its height for visual consistency.

    It would be nice to have li + li:before { content: " • " } shown between items, yet have :before skipped if the element is the first one on the line.

    I put ideas like these to the CSS working group (WhatWG? I forget, it's been years); the reason why there are no mutual calculations of this kind, is the problem of getting into an infinite loop, where a decision to, for example, drop a :before block, causes a reflow that makes the :before block reappear (not sure how, as it only affects successive items). I'm not a genius, but I did find the CSS working group cold and resistant to such ideas – they were all brusquely written off instead of given any deep consideration. Rather like that article someone dug up the other day that wrote off constants in CSS, when CSS desperately needs a way to factor out fonts, colours etc to a central list (just as CSS centralises style, stylesheets themselves are inherently decentralised and hard to maintain, whcih is why programmatic code has constants!). However, I'm always on the fence of uncertainty – I can't be a genius, otherwise I'd have working solutions, so maybe I really am just stupid and my "ideas" are all nonsense. I can never tell – maybe part of my insanity is my inability to perceive how retarded I am. I'm not part of any mutual back-patting group that might give any credibility, real or fake, to anything, and I have no powers of persuasion, rather, the opposite. I can only be certain that I'm right when I come across clear examples of something implemented and working elsewhere.

    I also wish you could have a reverse sibling selector, something like "-", so where A + B selects B, A - B selects every A followed by a B.

    You also can't drop intra-element whitespace: to get a series of display: inline (or inline-block) <li> elements with backgrounds and borders to touch, yet keep the HTML pretty printed – the white space between each </li> <li> will condense down to one space character, that you can't remove.

    I think CSS as a concept is a good place to start. I'd roll back to CSS 1, and replace CSS 2 with something that handles page layout pragmatically. It looks like CSS 3 should finally allow for the sorts of layout that we needed all along. position: fixed for a header sucks as search within a page, at least with Firefox, scrolls the selected text to the bottom or top of the window where anything with position: fixed will hide it from view.

    I haven't studied CSS 3 though. I do most HTML/CSS at work with our intranet system, and I've got some horrible dynamic dialog box loading (via AJAX) that ties me to Firefox 3 as 4 upwards (and Opera) don't permit me to commit that sort of crime against browsers. I don't have the time to figure out something workable right now – I typically only work on it after hours (time and energy permitting) and never have time to look into such intricacies, and since IE 9 still accepts what I did … (And there's only me working on it, and only out of hours without any dinner ;-)

    (Once I get this all working maybe I'll treat myself to finding time to reinstall my PC as Win 7 and put a shiny new Firefox 21 installation onto it, and finally start redoing the site in CSS 3 at long last – I still remember the fun overhauling it for IE 8 (vs 7) and the huge improvements that afforded me in CSS tidiness and UI quality, and I imagine that CSS 3 will help out again. It's a long story – always wish I could discuss it all with a friend, but no such luck.)



  • @Daniel Beardsmore said:

    I think CSS as a concept is a good place to start.

    For all its quirks and annoyances, I'd prefer to work in a web with CSS than one without. Dark old days and all that.

    @Daniel Beardsmore said:

    I've got some horrible dynamic dialog box loading (via AJAX) that ties me to Firefox 3 as 4 upwards (and Opera) don't permit me to commit that sort of crime against browsers. I don't have the time to figure out something workable right now – I typically only work on it after hours (time and energy permitting) and never have time to look into such intricacies, and since IE 9 still accepts what I did … (And there's only me working on it, and only out of hours without any dinner ;-)

    jQuery replacement for better browser-agnostic operation? Or does Mootools etc have some some dialogue function?



  • @Cassidy said:

    jQuery replacement for better browser-agnostic operation? Or does Mootools etc have some some dialogue function?

    I won't say any more about it as I've overstayed my welcome in this topic forum. However, I will say that I remain uninspired by modern web developments – these libraries can't be all that great if DHTML dialogs aren't even draggable, let alone highly featured. (And based on my quick late night hacks, I would expect something a lot greater from any team whose focus is DHTML UI).

    Back in 2007 I came across wetpaint, and that is an impressive system. I don't know if they have a playground, so I created one back then—telcontar.wetpaint.com—so that people could experiment with their DHTML UI. Modal and modeless interaction, draggable DHTML windows, context menus, all sorts. Outlook Web App is quite decent in this regard, but not only can you not drag dialogs (a pet peeve of mine, even if baseless), it fails to work around issues like processing batches of mail larger than the screen. Gmail can do this, albeit in a cumbersome way.

    Using the Web to write software is always cumbersome, slow, and even more non-standard and anti-convention than regular Windows software, and we're long overdue starting over with a better framework. Fasthosts I noticed actually supply their webmail in XUL and HTML versions, so Mozilla browsers get "native" widgets instead of HTML ones, which is far more along the right lines – not X11, but a semantic system where the client and server both understand what the UI is all about, but the client end ("server" in X11) is left to do the rendering. I'm always torn between using real HTML form controls, that are fully accessible, and the need to create fake, inaccessible ones to actually achieve realistic control behaviour, all while limited to trying to pretend that a web page is actually a software window.

    We're so far off course with our approach that it's more sad than laughable, and it must be consuming a collossal amount of money and effort to achieve even Google's half-baked attempts at pretence.

    OK, I'm done now. I'll leave you all alone.



  • @Daniel Beardsmore said:

    Using the Web to write software is always cumbersome, slow, and even more non-standard and anti-convention than regular Windows software, and we're long overdue starting over with a better framework.
     

    THIS.

    @Daniel Beardsmore said:

    but not only can you not drag dialogs (a pet peeve of mine, even if baseless)

    Not baseless. Sometimes there's a thing behind the dialog that you need to see.

     



  • Ever notice how every time we discuss CSS it goes to 3 pages? At least?



  • I feel another Blakeyrat law in the making...


Log in to reply