Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
The Internet Internet Explorer Netscape Opera

CSS Proposed 20 Years Ago Today 180

An anonymous reader writes: On 10 October 1994, Opera CTO Hakon Lie posted a proposal for Cascading HTML style sheets. Now, two decades on, CSS has become one of the modern web's most important building blocks. The Opera dev blog just posted an interview with Lie about how CSS came to be, and what he thinks of it now. He says that if these standards were not made, "the web would have become a giant fax machine where pictures of text would be passed along." He also talks about competing proposals around the same time period, and mentions his biggest mistake: not producing a test suite along with the CSS1 spec. He thinks this would have gotten the early browsers to support it more quickly and more accurately. Lie also thinks CSS has a strong future: "New ideas will come along, but they will extend CSS rather than replace it. I believe that the CSS code we write today will be readable by computers 500 years from now."
This discussion has been archived. No new comments can be posted.

CSS Proposed 20 Years Ago Today

Comments Filter:
  • by Anonymous Coward on Friday October 10, 2014 @12:24PM (#48112499)

    I’m sure this won’t be the only "css" sucks comment. I didn't like css when it first came out, I didn't like it when it became supported enough to use, and I still don't like it.

    For styling and formatting it’s ok, but for layout it is a convoluted mess. Grid based layout is a standard of just about every UI engine for a reason we like stuff to line up, we like stuff to scale gracefully, and grid based systems work very well for both. "But.. but.. in html tables were made for text" I can hear some web dev whine. That doesn’t mean the whole concept of grid based layout should be tossed out and replaced by the clusterfuck that is CSS layout.

    Simple things like a complex form, which would be trivial with a grid (and are trivial with tables) are an epic pain with CSS layouts. And what great benefit has it given us? Panels that float around the screen (and break if something is resized, zoomed in, or a block of text is larger than expected).

    And detaching content from style epic failure. The oft referenced CSS Zen Garden is to me an illustration of exactly how CSS failed at this goal. The layout is still being largely defined by the HTML. You can only _somewhat_ adjust how things are positioned in relation to each other with CSS, which requires you to have multiple layers of nested <div id="random_section_that_you_might_use_for_something_or_not"> to give the kind of flexibility that CSS Zen Garden does. Actually take a look at the HTML for those pages. This is not an example of how things should be done.

    • by Anrego ( 830717 ) * on Friday October 10, 2014 @12:33PM (#48112625)

      You can only _somewhat_ adjust how things are positioned in relation to each other with CSS, which requires you to have multiple layers of nested <div id="random_section_that_you_might_use_for_something_or_not"> to give the kind of flexibility that CSS Zen Garden does.

      That's actually no longer totally the case. There is even a comment in the code:

      <!--

              These superfluous divs/spans were originally provided as catch-alls to add extra imagery.
              These days we have full ::before and ::after support, favour using those instead.
              These only remain for historical design compatibility. They might go away one day.

      -->

      That said, I totally agree with everything else you said. CSS is an example of fixing a barely existent problem by introducing a bunch of major ones. Tables worked fine, and could have been cleaned up or replaced/augmented by something made for layout.

      I'm not a web developer, so maybe you grow to like it, but I always found div based layout unintuitive as hell ("oh, I need to float left this div to make it centered and set the block to inline"). I still just use tables any time I dabble with that stuff. They still work!

      • I believe that the CSS code we write today will be readable by computers 500 years from now."

        If we're still using CSS 500 years from now, we're screwed. Heck, we better have something a whole lot better than web pages 500 years from now.

        500 years? Look at what's come and gone in the last 50, and get back to me.

        • not to mention nuclear war, climate change, etc. who knows if we'll even be using computers in 500 years? oh yeah and the impending singularity. we'll all become beings of light.

          • How about "In the Singularity, computer becomes YOU!"
            • fair enough. if we all become beings of light, we'll likely still want to have some physical manifestation. we'd have to design the layout of this manifestation in some way, and I guess CSS could be of use here.

        • Look at what's come and gone in the last 50, and get back to me.

          In the world of software, plenty of things have come, but nothing has gone. Any program from 50 years ago will still run today. You can still find compilers for the earliest versions of Fortran, Cobol and Lisp. There are emulators for any machine you can think of, so you can still run the binaries as well. He didn't say that CSS would be in widespread use 500 years from now, just that it would be readable. Unless civilization collapses, that is likely to be true.

          • A LOT of things have gone. 12" floppies. 8" floppies. 5-1/4" floppies. 3-1/2" floppies. The programs with copy-protection built into those floppies won't run, even with an emulator. All those custom program backups stored on burnable optical disks that are now suffering chemical degradation?

            How many computers still have the original cassette tape interface? Or a parallel port. Or a game port? Or can use a serial or ps2 mouse? Or a slot for a hercules card? So the software that uses them? Dead.

            500

            • A LOT of things have gone. 12" floppies. 8" floppies. 5-1/4" floppies. 3-1/2" floppies.

              That is not software. That is media.

              The programs with copy-protection built into those floppies won't run, even with an emulator.

              The copy protection on floppies has always been trivial to defeat.

              How many computers still have the original cassette tape interface? Or a parallel port. Or a game port? Or can use a serial or ps2 mouse? Or a slot for a hercules card? So the software that uses them? Dead.

              No. All of these interfaces can be emulated.

              • A lot of programs never made it from, say 5-1/4" media to another media. They had their heyday, and were then withdrawn from circulation. They are GONE. Even the original publisher no longer has them - if the publisher still exists. And any backups out there are unreadable after 40 years.

                Same applies for the 3-1/2" floppies from 30 years ago. Especially with multi-floppy disk sets. It only takes one disk to crap out. So even the pack-rats no longer have a readable copy. The publisher is dead, the a

        • It would be running in a browser in ugly-quirks mode inside an emulator inside an emulator inside an emulator.

    • That's because web pages aren't supposed to give fine grained control of layout. Switch to PDF or campaign for browser support of XSL-FO if you want to control layout.

    • by MobyDisk ( 75490 )

      So why not just use tables for layout then?

      • I do for my own web pages. The problem is that most of the pages on the web at large use CSS, and so the problems with CSS remain my problem regardless.

      • Re: (Score:2, Informative)

        by Anonymous Coward

        Two reasons not to use tables for layout on the web:

        1. Tables are meant for tabular data. The table tag has a semantic meaning that is very different from layouting. This can cause trouble for blind people using screen readers to view web pages. The screen reader sees a table, thinks it is important information, similar in importance to a paragraph of text, and starts reading out it's contents. This works fine as long as the table tag is used for user digestible information as it was intended, but not when

        • by Euler ( 31942 )

          Ahh, the classic arguments. I'll avoid my tirade about people who move the goalpost on every web-related standard rather than accepting success and moving on with new actual ideas. But I'll settle that you can have CSS layout and I'll use tables when I damn well feel like it. 20 years of evangelism hasn't really made the web a cleaner place. "Improving" web standards always missed the point that what we have is what we have; old pages will not get updated so we still support them. HTML 5, or whatever i

    • by FictionPimp ( 712802 ) on Friday October 10, 2014 @01:04PM (#48113041) Homepage

      Using a fluid grid based css layout is faster, easier to write/understand/support, and a hell of a lot cleaner than tables. Having done web development for the last decade I have to say that tables for layout was a pain in the ass and a bad hack at best.

      With html5/css3 almost all of your concerns are gone. In fact you can download a nice fluid grid based template in a second that can cut your table based layout development time into a 5th.

      Check out http://www.getskeleton.com/ [getskeleton.com] or even the often overused http://getbootstrap.com/ [getbootstrap.com]

      • Comment removed (Score:4, Insightful)

        by account_deleted ( 4530225 ) on Friday October 10, 2014 @01:58PM (#48113647)
        Comment removed based on user account deletion
        • Let's face it, grid based layouts are tables and if all websites were static html, then html tables would suit us just fine. If we didn't want to cater to people with disabilities or screne readers then again, tables were fine.

          It's a lot easier to replace, remove, or add a class on a article or div with javascript then to try to reflow a html table based layout (like when you go mobile and turn that 3 column layout into a single column. . It's a lot easier to parse the html to do something with it (like scr

      • Check out http://www.getskeleton.com/ [getskeleton.com]

        Okay, I did. The layout breaks when I resize, using Firefox. It would not break if the page used tables with the "colspan" property. CSS is harder to write than tables, and more fragile. Many common tasks are easy with tables, but basically impossible with pure CSS. An incredibly common task, is to center one element inside another. Yet CSS can't do that in the general case. Your only options are: 1. Use hard coded element sizes, 2. Use some non-portable hack, 3. Use tables, 4. Use Javascript. CSS is

        • I'm not a web dev professionally, but I'm pretty sure you're wrong about centering elements inside each other. It doesn't have an explicit way of doing it, which is rather dumb, but you have to create a div within a div, and then set the margins in the CSS to "auto".

          • you have to create a div within a div, and then set the margins in the CSS to "auto".

            No. That only works for horizontal centering. There is NO WAY to center an element inside another element with pure CSS that will not fail in some cases. There are THOUSANDS of webpages addressing this issue, and many of them even say "this is how you do it", but ALL of them either fail in some cases, or use tables and/or JavaScript. Centering an element is one of the most trivial layout tasks, and CSS can't do it, which is incredibly lame.

            • No. That only works for horizontal centering

              That's what I was talking about. I didn't realize you meant both vertically and horizontally.

              Yes, it is rather lame.

      • You need a third party framework to make better tables than tables?

        When layout matters, and things need to be where I put them, tables are predictable. Absolute positioning works well if you want to support a single resolution.

        The number of times we have had a blog post with the "holy grail" of any arbitrary layout is ridiculous. A fluid center column with a left and right column sized to content, is as common as it is frustrating. I'm sure you can wave your hand and pull the best off the top of the pile

    • by itsdapead ( 734413 ) on Friday October 10, 2014 @01:18PM (#48113219)

      I’m sure this won’t be the only "css" sucks comment.

      You missed the absence of any sort of variables/constants to let you (e.g.) assign a logical name to a frequently used colour or a standard indent width. Preprocessors like "less" are a great help, of course, but I can't believe a simple macro substitution facility or simple expression evaluation would have over-taxed even 20 year-old hardware.

      Then there's the bizarre box model where the size of the contents, border, inner and outer margin are all conflated - even Microsoft's mis-implementation made more sense. Or the simple, but completely non-obvious incantations to make a div act as a container, or auto-clear floats. I still can't get my head around list formatting.

      Basically, you're left with the feeling that the designers of CSS had never used a DTP package, never used styles in a wordprocessor package, never used a UI layout manager or, for that matter, ever seen a website.

      TFS was also right on the money in one respect: a standard with neither a test suite or a reference implementation is no standard at all. The whole set of web standards suffers from the delusion that (maybe outside of pure mathematics) you can reliably specify a complex system without non-trivial exemplification.

    • by Animats ( 122034 )

      Agreed. The float/clear approach to layout is 1-dimensional, and just stupid. Someone suggested using some boilerplate library for grid-based layout. That's a horrible hack; it gets vertical alignment with code like .container .two.columns { width: 76px; }. "Fluid layout", hah! Some libraries have a layout engine written in Javascript. There's far too much fixed-width stuff like that since CSS came in. With tables, you can express width as a percentage of the page, or let cells self-ad

      • by SQLGuru ( 980662 )

        Another feature that I would love to see in CSS is "relative to another element" via a selector.

        Some Content

        That is multiple lines tall

        More Content

        .SecondContainer{
        height: ||.SomeContainer||.height
        }

        That should make layout simpler.

        • by Animats ( 122034 )

          Another feature that I would love to see in CSS is "relative to another element" via a selector.

          Handling layout as a constraint-based system would be promising. If you could represent layout with "upper left corner of box A coincident with upper right corner of box B", or "left edge of box B coincident with right edge of box A", you could represent any box layout. This isn't a notation to be written as text by humans; it's something you do in a layout GUI. Autodesk Inventor, which is a 3D CAD program, has a constraint solver for things like this. 2D is much easier. You could even support curved box bo

    • by AC-x ( 735297 )

      Simple things like a complex form, which would be trivial with a grid (and are trivial with tables) are an epic pain with CSS layouts.

      Sure in the pre-IE8 days it was a pain, but now it's trivial to do .form { display:table; }

    • >I’m sure this won’t be the only "css" sucks comment.
      You're not wrong. Can I mention inheritance, or the lack thereof?
      FFS, I want to say - "This is like that but with this thing changed"
      This is probably why every CSS preprocessor adds inheritance. Because it's missing from CSS.

      My analysis is that the authors who drafted it were browser writers, not web content developers, who wanted something that slotted right into their data model.

    • The wonderful Tcl/Tk toolkit solved the layout problem in the 1990's with its excellent constraint-based geometry managers: The grid engine, the packer and the placer. I'm sure it would have been possible to express each of those layout engine's rules in something analogous to CSS.

      That would have made page layout so simple it'd almost be fun.

      • by Euler ( 31942 )

        But then how could we make annoying 'hover' elements?

        But seriously, the pack manager is all I use in Tk/Python, it would have made excellent web pages. HTML tables work almost as well. I don't even bother with grid manager in Tk unless I need strict alignment in 2-D.

    • Grid based layout is a standard of just about every UI engine for a reason we like stuff to line up, we like stuff to scale gracefully, and grid based systems work very well for both. "But.. but.. in html tables were made for text" I can hear some web dev whine. That doesn’t mean the whole concept of grid based layout should be tossed out and replaced by the clusterfuck that is CSS layout.

      Simple things like a complex form, which would be trivial with a grid (and are trivial with tables) are an epic pain with CSS layouts. And what great benefit has it given us? Panels that float around the screen (and break if something is resized, zoomed in, or a block of text is larger than expected).

      And detaching content from style epic failure. The oft referenced CSS Zen Garden is to me an illustration of exactly how CSS failed at this goal. The layout is still being largely defined by the HTML. You can only _somewhat_ adjust how things are positioned in relation to each other with CSS, which requires you to have multiple layers of nested <div id="random_section_that_you_might_use_for_something_or_not"> to give the kind of flexibility that CSS Zen Garden does. Actually take a look at the HTML for those pages. This is not an example of how things should be done.

      Well, after all, it's Cascading style Sheets. There's nothing in CSS itself that actually bounds an area - it has to borrow a container from HTML, be it DIV, TABLE, BODY, or whatever and define space within or relative to it.

      I never bought into the "don't use tables" nonsense myself. Tables provide abstract organization of layout. It's a lot cleaner to apply some CSS to a table than to shoehorn it in to a whole lot of divs just for maintaine Ideotlogical Purity..

      • There's nothing in CSS itself that actually bounds an area - it has to borrow a container from HTML, be it DIV, TABLE, BODY, or whatever and define space within or relative to it.

        I think this is really the core of the problem. We're trying to express three things (layout, style, and semantics) with just two languages, HTML and CSS, which inevitable results in some overlap. Four things really, if you count scripting. CSS covers style and some layout; HTML covers semantics, scripts, and some more layout. To get a particular design you have to mix some elements of HTML with some elements of CSS. Using HTML tables for layout did have some legitimate usability issues, but turning some ar

      • I never bought into the "don't use tables" nonsense myself. Tables provide abstract organization of layout. It's a lot cleaner to apply some CSS to a table than to shoehorn it in to a whole lot of divs just for maintaine Ideotlogical Purity..

        In my experience, a "simple" table layout still has more markup than an equivalent div layout. A three-column table layout will require a table, tbody, tr, and three td tag elements, all properly nested. A three-column div-based layout requires three div tags, possibly contained in a fourth div. That's hardly shoehorning.

      • Because using tables for layout was itself a hack.

        Tables were meant for tabular content. You know, the kind of thing you might get out of a spreadsheet or report. The nice thing about tabluar content structure is you can have sort controls, or headers, footers, etc.

        Try to achieve today's web designs with tables, and then try to place tabular content in the page.... yeah, good luck separating them and styling properly without CSS.

        The worst part about table based layouts was that if you needed to remove or ad

        • by Euler ( 31942 )

          My tabular data happens to be an array on navbar buttons.

          CSS is great - for controlling style.

    • by jandrese ( 485 )
      CSS Zen Garden examples always kill me because they fall back to fixed positioning (which is horrible on phone screens, and one thing we were trying to get away from with CSS in the first place!) way too often. My first exercise with CSS was to create a slashdot style layout, with fixed columns on the left and right and the remainder of the space taken by an automatically re-flowing column of text/pictures in the middle. For a bonus I wanted the left and right columns to collapse if the screen got too nar
    • by Lennie ( 16154 )

      Luckily I'm seeing more and more of these issues being solved with newer CSS standards:
      http://www.w3.org/TR/css3-mult... [w3.org]
      http://caniuse.com/#feat=multi... [caniuse.com]
      http://www.w3.org/TR/css3-flex... [w3.org]
      http://caniuse.com/#feat=flexb... [caniuse.com]

    • If you like grid layouts then you can do grid layouts in CSS, can't you? What am I missing?

    • by Art3x ( 973401 )

      For styling and formatting it’s ok, but for layout it is a convoluted mess.

      I'm one of the few who think you should not use CSS for layout.

      If you use CSS for fonts, color, bold, italic, margins, padding, it's fine. What do these things have in common? They're traits of a box with little consideration about its relationship with other boxes. Margin sort of is, but it's just saying, "Keep this far away from me." These CSS properties are all sort of self-centered.

      And then for layout if you use HTML, in particular, HTML tables, life is easy. At this point I casually step behind an emba

      • What does it even mean that tables should only be used for "tabular data"? Isn't that a tautology? It's like saying, only pour water on things that are already wet.

        No, not even close.

        Tables should only be used for tabular data because tables have a semantic meaning. Making layout look like it has some meaning is stupid. If you only ever think in terms of sighted people looking at your web pages, then i guess you don't care. If you care about people using screen readers, etc, then maybe you should care.

        • by Euler ( 31942 )

          What is the semantic meaning of a div tag? How do I know where that div appears in logical order?

  • by us7892 ( 655683 ) on Friday October 10, 2014 @12:30PM (#48112585) Homepage
    Maybe he meant to say 50 years?
  • Wrong (Score:5, Insightful)

    by sootman ( 158191 ) on Friday October 10, 2014 @12:33PM (#48112627) Homepage Journal

    "the web would have become a giant fax machine where pictures of text would be passed along"

    No, we would have just kept using tables and <font> tags.

    • by Anrego ( 830717 ) *

      I still just use tables when I delve into the wonderful world of web dev. CSS has replaced coloring and styling of text, but positioning.. screw that. Proper or not, tables worked fine then, and they still work fine.

    • What about webfonts? Any text with fonts outside the list of websafe fonts [w3schools.com] used to be passed as images.

      Either that or dreaded hacks with Flash or, heaven forbids, Cufon.
    • No, we would have just kept using tables and tags

      and transparent GIFs. The day I found out you can use a 1x1 transparent GIF to fill any space by using "width=xx, height=yy" in the tag, was the greatest day of my life.

      • Re: (Score:3, Funny)

        by Dr. Evil ( 3501 )

        "The day I found out you can use a 1x1 transparent GIF to fill any space by using "width=xx, height=yy" in the tag, was the greatest day of my life."

        Things will get better.

    • Or <blink> tags? Of which the only valid use is: Schroedinger's cat is <blink>not</blink> alive.
  • A little piece of web history, and then you have to end it with a statement about computing 500 years from now. Obviously current web standards still will still apply...

    Nice piece of CSS history though.
    • Printed books ruled for 500+ years. Scrolls for 1,000+ years before that.
      • Printed books are dying. Scrolls are dead. And the rate of change is accelerating.
        • Printed books are dying.

          Never mind that printed books outsold ebooks [huffingtonpost.com] in the first half of 2014.

          • So what? The percentage of ebook sales is continuing to rise, and is set to surpass print before the end of the decade. The problem now is that publishers are trying to price ebooks close enough to their print books so as not to cannibalize their print sales. However, that's a practice that requires all the major publishers to "keep the faith" and hold the line on pricing. And that, of course, leaves them as prey for other publishers who will take advantage of the economies of ebooks to continue to tak

            • The nice thing about printed books is that they require a light to read by while in bed. Once I get too tired to read further, I can turn off the light and go to sleep. An ebook reader doesn't make me tire, I can read in the dark, and have trouble going to sleep because I'm still thinking about the book or web article. Many printed books ARE NOT available as ebooks. Printed books -- like vinyl records -- are here to stay.
              • You're doing it wrong :-) A really good book will keep you up until the sun rises and you wonder where the heck all the time has gone. One more chapter, one more chapter ... oh what the heck, the sky is clearing, might as well finish it and hope coffee gets me through the work day :-)

                Books that have done that to me include "The Pillars of the Earth", about half of all Tom Clancy stories, and a lot of Stephen King books (do you really want to go to sleep after reading Stephen King?!? Can you???)

  • by OzPeter ( 195038 ) on Friday October 10, 2014 @12:59PM (#48112973)

    Kurt Cobain saw what was being proposed and . . . . (well you know the rest)

    (Too soon?)

  • I believe that the CSS code we write today will be readable by computers 500 years from now.

    I was feeling so good this morning, the I read this. Thanks Debbie Downer, I'm going to go cry in the bathroom now, this is the saddest thing I've read all week.

  • by future assassin ( 639396 ) on Friday October 10, 2014 @01:11PM (#48113131)

    Well I thought since this was 2014 the browser css rendering inconsistencies were pretty much gone and for the most part they seem to be yet after testing a few websites I just build using some basic designs the default Android browser is rendering horizontal list/text spacing all wrong vs PC/iThings.

    So off I go to read up on it and all of a sudden there this @media query thing. After seeing some examples I'm liek WTF? People are using 100's of lines of extra markup or extra style sheets to make things cross platform. Talk about a flash back from the late 90's/early 2000's of nasty css.

  • One of Opera's claims to fame before I joined was that the browser would fit on a floppy disk (which is 1.44 MB). "Fits on a floppy" was a great slogan in those days. When CSS was added, a few more bytes were needed and Opera would no longer fit. "Almost fits on a floppy" doesn't quite have the same ring to it.

    Even though I've been around long enough, it blows my mind now that *anything* ever fit on a floppy.

    • by ledow ( 319597 )

      How much data is actually in that Word file you made? Probably a handful of Kb at most.

      How many instructions do you need to call the libraries included in Windows to tell it what you need to do. 1.44 MILLION instructions is a lot. Especially if one-in-ten of them is probably a call to a system routine (draw this window, create this object, etc.).

      A problem with modern programming is that 1.44Mb is "nothing". That 10Mb library? Nothing. Just suck it in and put it in the installer. Compared to the GIGAB

  • Love CSS (Score:4, Interesting)

    by WaffleMonster ( 969671 ) on Friday October 10, 2014 @01:34PM (#48113381)

    While I have a laundry list of complaints I like the underlying idea more than I dislike it. Amazing how simple html content ends up being and how flexible changes become once you have made a reasonable attempt to declare content and decouple style.

    This said I'm very much less certain what my sentiment of CSS actually translates to in the real world.

    The underlying problem while technology wants data presentation to work across maximal number of display sizes and capabilities such things too often appear as intolerable annoyances to designers. The world is teaming with fixed width websites and crap like zen garden is a joke. Without assumptions of fixed content tailored specifically for the garden those layouts would fall apart.

    It often takes different skill sets to design something that both looks cool and is able to survive with coolness intact across a number of different and perhaps unknowable parameter changes.

    This in my opinion is responsible for about half of the great tables v CSS layout arguments. What designers really want is for each page to have a known width and a known height without all of the compatibility bullshit or having to think about unknowns... what they actually want looks a heck of a lot more like PDF than it does HTML/CSS.

    Without significant design / technology change to bring competing interests into better alignment I wouldn't bet on CSS lasting 50 years.

  • It is my very firm opinion that whoever came up with CSS should not be putting it on his/her resume, because I wouldn't be hiring them for this monstrosity. It is a mess that's so thoroughly convoluted and unintuitive to use as to make the people involved in the core design essentially persona non grata of the tech world. I wouldn't want those people designing anything that I myself would have to deal with, no, thank you.

    The idea behind the CSS is sound. The implementation is beyond horrible. It tells you s

    • I'd blame most of the problems with CSS on the lack of support across browser vendors. It took soooo long for even the most basic features to be supported, that rendering differences lead to a culture of hacks (remember when people would put in explicitly invalid CSS to trigger certain IE behaviors?) because styles couldn't be built the right way.

      Event today there are some fairly cool pieces of CSS (background-position: center center; background-size: cover) that are amazingly useful, but because of incompl

  • On 10 October 1994, Opera CTO Hakon Lie posted a proposal for Cascading HTML style sheets.

    How come?

    Sorry, someone had to do it. :)

  • CSS has been a thorn in my side since it came out, and it still is (even though I don't do web development anymore). It's because of the difficulties with CSS that we have such terrible things as my personal pet peeve -- web pages that have fixed minimum or maximum widths. While CSS does have advantages, it also has disadvantages -- and the effects of those disadvantages on web site design in general very often makes the web less useful to me than it would otherwise be.

  • CSS still readable in 500 years? I think this guy has an over-inflated sense of personal legacy.
  • The tragedy of CSS (Score:5, Interesting)

    by tigersha ( 151319 ) on Friday October 10, 2014 @03:48PM (#48114751) Homepage

    CSS is good. Really. It is not too bad, has a few warts and so, but we are finally there. Or will be in 5 years when all the browsers finally support the new Grid layout module.

    The problem with CSS is that it took 25 damn years to get to the point where windowing system were already in the 90s. There are 2 main problems up to now

    First, the block model. Seriously people, if I specify that a block has a width of 300 pixels I mean that the block has 300 pixels, and not the content inside the block without the padding. Really. That makes no sense. For some reason it did to the authors of the standard. It hurts me to say this, but Internet Explorer 5.5 got this right and simply ignored the stupid, dumb standard. Most of the nightare that is CSS layout was caused by this clusterfck of stupidity. Now there is finally a solution, one can set the box-sizing and almost all browsers support it. Those that do not are old and can fly.

    Secondly, tables vs grid. I get the whole tag is not semantic thing. Really. But often, strangely standards people, we DO WANT THINGS TO BLOODY LINE UP IN A TABLE. But nooooo, we must not use tables because it is not fashionable or something.

    Floats were meant to be used to put pictures inside a large block of text. It is great for that. Now it is used for laying out elements on a page. And this is supposed to be LESS hacky than using a table? Seriously??

    CSS grid layout finally, finally, finally solves all of this hacker bull. It does something that should have been in there since the 90s. After all, pretty much any window manage on the planet could deal with this back then. People still use tables because it is easier. Grid also decouples the sequence of the elements in the markup from the sequence on the screen, which is cool. But, but even Chrome only experimentally supports grid layout so I have to wait another 5 years.

    A couple of other things on my wishlist.

    Calculation. Based on the current state of the screen. Sometimes saying that I want the thing should be 500px - the width of the div with id #blabla would make a lot of all the CSS shenanigans unnecessary. Yes, I know that some designers can't add, but I can and I want to. And no, I do not want mathematica in there. Simple basic arithmetic would be fine. Right now you can do 3D transform in CSS3 but you can't subtract the width of an element??!! FFS why??!!! There is a new calc module but that will take another 5 yars to become commonplace.

    Better control of height. I want to say "This div fills the rest of the container vertically/horizontally" One of the reasons tables are useful for layout is that you CAN do this by setting the width of a column to *. Layout engines in GUI land, such as Interface builder and the oooold News uses a concept called Springs which expand. Coool feature, missing from CSS.

    The fact that you can book loads of courses and read lots of book on how to arrange things on a page with CSS is a real shame. It simply should not be necessary to have that level of expertise just to such a trivial thing.

    25 years. This is the time from the end of WW2 to the day I was born (almost precisely). 25 years is the time between the invention of the transistor and the invention of the CPU. 25 years is the time between the first flight and the first ocean crossing over the Atlantic. 25 years is the time that someone goes from being born to being a working productive adult. 26 years is the time between Columbus' discovery of the new world and Hernando Cortes conquest of the entire Aztec empire.

    25 years is a quarter of a century.

    25 years is the time between the invention of CSS and the moment it is viable to lay out a page without being an expert in some very arcane hackery. Why was this really necessary??!!!

    • The problem with CSS is that it took 25 damn years to get to the point where windowing system were already in the 90s....

      TFA says that CSS was proposed 20 years ago today. It wasn't released as a spec until December 1996. While the number 25 plays nicely into your rant, in reality, CSS isn't old enough to vote. Hell, even HTML is barely old enough to drink.

  • He says that if these standards were not made, "the web would have become a giant fax machine where pictures of text would be passed along."

    Self righteous nonsense. If these standards were not made, others would have been made instead.

  • Proposed 20 years ago, and it's still not Turing complete.
    What a bummer.

  • I'll bet a million dollars in 500 years time money that there won't be any such thing as computers in 500 years!

  • The web should have been given a low-level, machine readable standard which human-friendly formats and tools could have formed and evolved around. Sure we'd still have markup and CSS and script, but you can bet your ass applications wouldn't have been built on that crap. We are easily 10 years behind where we could have been because of a poor choice of level of abstraction.

"Look! There! Evil!.. pure and simple, total evil from the Eighth Dimension!" -- Buckaroo Banzai

Working...