Wiumlie
wiumlie.no · Personal blog · on HN since 2014
Personal site of Håkon Wium Lie, the Norwegian creator of CSS, hosting his CSS PhD thesis and other writing.
What HN saysHN links it for the history of CSS. Commenters recall early style sheet proposals, Opera's fights with Microsoft, and note the site has an English version.
17HN people shared it
14linked it in comments
5stories submitted
7story points
2 years agolast shared
2014people per year2026
Most-shared posts
- 1PhD Thesis: Cascading Style Sheets (2005)5 people · 1 points · first shared 2017 · discussion on HN
- 2Rettspraksis.no returns3 people · 3 points · first shared 2018 · discussion on HN
- 3Css.pdf3 people · first shared 2019
- 406 11 blog2 people · first shared 2019
- 5Opera Software Guerilla Gardening1 people · 2 points · first shared 2019 · discussion on HN
- 6Access Granted1 people · 1 points · first shared 2020 · 1 comments on HN
- 7Stylesheets1 people · first shared 2021
- 8Cascade1 people · first shared 2019
- 906 11 blog1 people · first shared 2020
- 10En1 people · first shared 2020
- 11Msn1 people · first shared 2024
- 12Prefix1 people · first shared 2014
What HN people wrote when they linked it
inopinatus · 2024-01-02
Three decades ago I was similarly overjoyed to discover that Scheme was finally going to have a useful application beyond illustrating SICP and writing koans to amuse myself, because DSSSL was on the cusp of evolving into the last document styling language anyone would ever need.
Unfortunately following an incident with a broken Lisp machine, a liquid lunch, and an unlicensed particle accelerator, I became trapped in a parallel universe where the HTML ERB anointed CSS by mistake during a drunken night out in Oslo.
The fundamental concept of CSS (best revealed by H.W.Lie's thesis IMO¹) was to create a rich and versatile and non-Turing-complete set of structural selectors in lieu of DSSSL's recursive logic, and to allow styles to overlay one another; two design choices that only by the application of gallons of irony can explain why most web pages are composed of a bunch of nested DIV elements with hashed IDs, overburdened class attributes, and assets compiled into static files.
[1] https://www.wiumlie.no/2006/phd/css.pdf
fellowniusmonk · 2024-11-18
That and browser sniffing to serve intentionally broken CSS on Microsoft's websites to competitors like Opera, I remember this because it directly effected me at the time.
I mean at least we still have websites like this from over 20 years ago that still document the bullshit, people who weren't there CANNOT fathom the how despicable they were.
https://www.wiumlie.no/2003/2/msn/
dsego · 2022-03-25
Actually, I do have some links that I'd pocketed (and forgotten about):
Old CSS, new CSS / fuzzy notepad (this one was featured on HN several times)
https://eev.ee/blog/2020/02/01/old-css-new-css/?utm_source=pocket_myli…
Ask an expert: Why is CSS . . . the way it is?
https://increment.com/frontend/ask-an-expert-why-is-css-the-way-it-is/
CSS Thesis by Håkon Wium Lie
https://www.wiumlie.no/2006/phd/css.pdf
mkotowski · 2021-08-12
Interestingly enough, the syntax of this reinvented CSS reminds me of an old style sheet language proposal created by Bert Bos in March 1995 [0]:
```
[…]
id: !ID
language: !LANG
*target: !ID
! Create a default margin of 3 em
!
HTML.leftindent: 3.0
HTML.justify: full
[…]
```
[0]: https://www.wiumlie.no/2006/phd/archive/odur.let.rug.nl/~bert/styleshe…
dependenttypes · 2020-09-01
Non-Norwegians do not read the blog of the creator of CSS, right? https://www.wiumlie.no/en
mcgwiz · 2020-02-02
The original thesis is very instructive.
https://www.wiumlie.no/2006/phd/
anotheryou · 2019-12-13
Did you know the original proposal for CSS was meant to include "user styles"?
They where even supposed to be blended on how much they should be yours or the websites.
User Author
Font o-----x--------------o 64%
Color o-x------------------o 90%
Margin o-------------x------o 37%
Volume o---------x----------o 50%
source: https://www.wiumlie.no/2006/phd/archive/www.w3.org/People/howcome/p/ca…
saltvedt · 2019-02-09
There is a very similar case going on in Norway, where Håkon Wium Lie (creator of CSS) is being sued: https://www.wiumlie.no/2018/rettspraksis/06-11-blog.html
coderintherye · 2019-02-09
This isn't just the U.S. Switzerland may be better, but Norway has similar issues https://www.wiumlie.no/2018/rettspraksis/10-22-returns
Furthermore, as discussed in that link the entire EU has a 15-year "database" directive that limits free and open access [0]
[0] https://ec.europa.eu/digital-single-market/en/protection-databases
hackermailman · 2018-11-15
I've mostly cheated by using CSS preprocessors like Sylus (http://stylus-lang.com ) or Sass to avoid page rendering surprises, and a postprocessor like PostCSS to optimize and not worry if certain latest modules have multi browser support. A survey of these things here if interested: https://www.mdpi.com/2078-2489/9/1/17/htm
I also once read through this thesis, to understand how the rule overrides work and other problems in CSS, but gave up keeping with the new standards and switched to preprocessors https://www.wiumlie.no/2006/phd/#ch-problems
cwmma · 2017-08-04
If you want more information, somebody wrote a PhD thesis on this very topic http://wiumlie.no/2006/phd/
drifkin · 2014-07-24
It looks like there's partial support in other browsers too (I think it's still vendor prefixed). I see columns in Chrome using the example page:
http://www.wiumlie.no/2014/css-figures/koster/prefix.html
It seems like some of the more advanced features like spanning multiple columns hasn't made its way to Chrome yet.
tannhaeuser · 2023-11-12
What's the opinion on re-introducing HTML attributes for style properties, eg. <div width=40pct color=red> (possibly with additional enumerated attributes usable in short value-only syntax as in <div disabled>) rather than <div style="width: 40%; color: red">? I mean, introducing a secondary syntax for item-values, like CSS did, quite never made sense to me personally even though it was nevertheless thoroughly defended ([1]). I guess it doesn't make sense to me coming from an SGML background which had style sheets capable of stateful/automaton-based assignment of attributes for ages. But now with tailwind so popular and little more than inline styling with sane defaults perhaps, and this manifesto expressing a strong preference for markup attributes, isn't it time to come to the realization that, whatever point CSS had when it was new, surely is driven ad absurdum by its obscene syntax proliferation and extreme redundancy (something even W3C CSS WG's chairman/staff contact already was warning against over ten years ago [2]).
Personally, I don't care for web "apps", seeing the unique value of HTML rather as authoring format for web "docs". For mere apps where JavaScript is obligatory anyway, I think I'd actually prefer CSS-in-JS.
[1]: https://wiumlie.no/2006/phd/css.pdf
[2]: https://www.w3.org/People/Bos/CSS-variables
cerved · 2022-01-06
Håkon Wium Lie, the author of CSS, and fellow implementers were very aware of the TeX box model
>6.6.4 Inspiration from other formatting models
In the early design phases of the CSS visual formatting model, other formatting models were frequently consulted for inspiration. In particular, TeX [Knuth 1984] was often brought up in white-board discussions.
As one of its foundations, TeX has a well-defined box model wherein all objects, including individual glyphs, are contained in boxes. The spacing between the boxes can be controlled through TeX commands. In addition to optimal spacing between boxes, TeX also allows maximum and minimum spacing to be expressed. This is referred to as glue (although Knuth suggests that springs is a better term [Knuth&Plass 1981]).
The visual formatting model in CSS is based on a box model, and all elements, both block-level and inline, are turned into boxes. Thus, CSS goes further than most other style sheet languages in creating boxes. For example, DSSSL and P94 do not use boxes for inline elements. However, CSS did not adopt TeX's glue. Although the issue was discussed, it was decided against in order to keep the VFM simple. Glue is very useful when breaking paragraphs into lines, but CSS leaves this problem to implementations. CSS allows, but does not demand, inter-paragraph line-breaking optimizations. Each box in CSS is, however, potentially richer than the boxes found in TeX since it can contain a padding, border and margin bands. CSS…