Ask Håkon About CSS or...?
Back in 1994, while working for the World Wide Web Consortium (W3C), Håkon Wium Lie (pronounced more or less "how come") proposed the idea of Cascading Style Sheets (CSS). Got a CSS question? An Ajax question? Want to know why Håkon loves Free Software so much? Or something else, related or not? Go ahead and ask -- after checking some of the links above, so you don't duplicate questions he's answered in other interviews or in articles he's written. (One question per post, please.) We hope to post his answers Friday.
Did your parents happen to know English when you where born?
...validate? :D
ShortFormBlog: Writing a little. Saying a lot.
What prompted you to develop the idea of Cascading Style Sheets?
Ryan - http://www.thecosmotron.com/
What's the special alt code for that little dealy over the 'a' in your first name?
When did the thought that CSS might be possible/useful occur to you?
(end of post)
Want to know why Håkon loves Free Software so much?
Well...Håkon?
Free software is destroying american jobs. Why do you hate america?
Where is CSS going in the future? Expecting anything in particular for CSS4, or will we never reach it?
Opera 9.0 seems to offer a lot of decent additions to Opera's standards pool. How satisfied are you personally with the work the team has done on implementing standards, and is there anything in there you feel is superflous and anything you would have preferred to see which wasn't in there?
My 3D Texturing Skinning work (under construction)
Actually, "hawk on", with the stress on the first syllable, would be a much closer approximation to the correct pronunciation than "how come". There's no diphtong, as in "how", and there's an "n", not an "m" at the end.
Why do you love Free Software so much?
Why was the decision made to make padding apply outside of the width of a 'box', rather than inside, which would seem to make more sense?
Duplicates? On Slashdot? Surely you jest, sir!
coding is life
CSS is a great idea, separating content from everything else. My problem with it is that it's such a horrendous beast of a thing to implement. For instance, there's nothing really good for say, putting something into "the middle" from what I can find. Now if there is, fine, don't make this question about the example. There are literally hundreds of design decisions that feel like they were implemented in a way to just make things as difficult as they can be.
Why is CSS such a pain compared to other languages?
1.) What do you think of XSLT?
2.) Would it be crazy to have CSS incorporate data selection and assembly? (using something like XPath -- alowing more complete segration of data and formatting.)
1. What would you most like to change with CSS? That is, if you could go back in time and change one thing in the spec and have it reflected today, what would be the most important thing? 2. If you were allowed (perhaps by court order, which wouldn't be unthinkable) to force Microsoft to do one (1) change in Internet Explorer, what would that be?
Is there anything worthwhile to ask you, other than "Why did you invent CSS?" or "Why do you like OSS?", which wont ellicit the same canned responses we've all seen a thousand times before?
I don't need no instructions to know how to rock!!!!
Håkon does not sound "more or less" like 'how come'. Not even close. The 'kon' parts sounds like 'con' (pro and con/swindle somebody). 'Hå' - well something like 'ho' in 'hope'.
Actually I would pronounce Håkon Hawk-on, but thats just me
When asked why, the answer is almost always: "It's 2014".
(For includes)(For aliases)This way we could change colors or images for a whole webpage by editing a reduced number of lines.
Had you considered any of these ideas in the past? If so, why were they rejected?
Is the wave of webpages designed completely in CSS what you intially intended when you came up with CSS? Do you see that changing? Is that good or bad?
Meet new people, and kill them.
My name is Håkon, and it's certainly not pronounced "how come." (Nor is his, for that matter.) "Hawk - on" is closer but still bad.
Where do you think standards would be if Internet Explorer never was, or more the point: where would standards be if Microsoft actually tried to compete in an open market with Internet Explorer?
Good. Cheap. Fast. Pick Two.
With every release of Opera, it seems that more and more standards/specifications are supported. How valuable is a standard when it isn't supported by 100% (or even 50%) of the browsers, and how frustrating is it to write a specification knowing that you're at the browser vendors' mercy?
Why is Opera complete and utter rubbish?
Why did you forget to include the ability horizontally align multiple items?
It's the main thing that's missing from CSS. Was it too hard to implement or write syntax for?
I'm thinking something like:
horizontal-align-to: .
eg: horizontal-align-to: #box middle top; Will align the top of this element to the middle of #box.
The same for vertical align would be nice as well. For horizontal elements restrict it to elements within a parent (and allow ID's (or use class name) to be duplicated within different parents, to make repeating multiple rows easier). For vertical it must be set on a block level element.
Alternate syntax:
On the reference element: horizontal-align-to: #name_me position;
On the to be aligned one: horizontal-align-from: #his_name position;
So:
horizontal-align-to: #rowman top;
horizontal-align-from: #rowman middle;
Will align the middle of the element, to the top of rowman.
-Ariel
With MS's next browser release (IE 7), you mentioned in other interviews that their decision to not supprt CSS2 was more a political decision than a mechanical one. Aside from their obvious desire to dominate the world, what politics do you think are in play that make them not want to conform to the standard, and what do you think would change that landscape so that they would have some initiative to fully support it?
We're all hypocrites. We all have hidden parts, it's the contrast between them that make us more a hypocrite than others
Is the difficulty of producing a layout that consists of three or more columns of equal height justification for adding some new feature to the specification to make this easier?
In your work at Opera, you have clearly paved a path that includes going beyond the W3C standards. Whether it is WhatWG implementations, or new functionality specific to Opera (2dgame), you are pushing into new territory.
Can you explain why W3C isn't sufficient, and why efforts at Opera to expand beyond the standards differ from Microsoft's embrace/extend model?
GPL'd web-based tradewars themed space game
It seems one the the largest struggles with css and web page layout desinging in general is getting it to work as you would expect in all browsers. Currently, if you want to add or change an existing standard, the only way is to hope that all the browsers correctly integrate the changes in a reasonable time frame. Have you ever looked into alternatives such that all the changes could be made in one place and from there all the browsers could 'sync' to the new standards. Maybe the standards could be coded as some sort of plugin that all browsers would be built around and that could be automatically updated easily?
Is this feasable? Is this more feasable than expecting every browser (including Internet Explorer) to get things right?
As a developer who works with CSS every day, I find one complication that continues to bother me in my daily work. Support for CSS has always been good on the horizontal scope, but vertical positioning has always been quite complicated. Alone the procedure to affix a footer to the bottom of a screen in dependance of the amount of content is unnecessarily difficult, spawning hackish solutions such as "footerStickAlt". Centering an object in the dead center of a page also requires strange procedures such as this one, which still aren't ideal (try making the viewport really small). The old table method provided much easier methods for this. What are your thoughts on this and do you see improvement following in future CSS revisions?
parasight.de
A collection of pages of Why CSS:
6 .aspx
http://www.decloak.com/Dev/CSSTables/CSS_Tables_1
"I pretty much want to kick whoever invented CSS in the nuts."
How do you do a three-column layout, with the central column coming first in the markup, and all three columns the same height, without using tables?
qntm.org
Does it piss you off that a site like /. that bangs on about standards and good design was so slow to adopt CSS
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
When you thought of CSS, did you have in mind something like the Zen Garden? What's your opinion of it, does it explore all of the possibilities of CSS?
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
Do you think that CSS is often misused? It seems to me that it is rarely used to define presentation in media other than the screen. As for my ideal stylesheet language... 1) Why must the layout be so linear? It seems to me that it would make more sense to have it operate closer to Autodesk Inventor, if you have ever used it, such that you set up whatever constraints (equal, parallel, etc) you see fit and the agent displaying the content finds a suitable solution. As an example, the login div must be equal width as the sidebar div, the sidebar div is at the left of the screen, the navbar is at the top of the screen and above the sidebar, and the content div is below the navbar and to the right of the sidebar. If everything is in a box, it would make sense to use other boxes as a reference point, rather than the screen. Pixels and percentages are nice and all, but not altogether natural. And pixels, while tempting, often don't cater to different resolutions. 2) Why would a spec for something that needs to be pixel-precise not come with an example implementation? 3) Shouldn't you be able to affect the document tree in a small way? If you are truly separating content and presentation, then why must I change the content to get the effect I want? I do this with XML + XSL + CSS, but just being able to add a div or image here and there would be nice...
"Strangers have the best candy" -Me
I have mod privs but no one else is asking this question, at least not in a respectful manner, so here goes:
I understand the impetus behind CSS, and think it has brought some nifty things to the Web, particularly in terms of integrating with the DOM and thus helping usher in all the AJAXy goodness we're seeing lately.
But CSS also seems to have spawned an anti-HTML jihad movement of people who rail against simple but effective HTML markup, including for example the B, I and FONT tags and the TABLE. Many people seem to make the principle of separating presentation from content a religious issue.
I learned HTML in 1994 by using the View Source command in Mosaic and Netscape (beta). The simplicity of the tags made it very easy. I could keep the basic structure of a doc in my head: "<html><head><title>Home Page</title></head><body><p>Hello, <b>world</b>!</body></html>"
For all the strenghts of CSS+XHTML, they are significantly more complicated to learn than basic HTML.
Do you worry that CSS is scaring off new Web writers, espeically since basic HTML is increasingly deprecated among Web developers?
http://people.opera.com/howcome/
Free software is destroying american jobs. Why do you hate america?
Because America is known to harbor bears, godless killing machines without a soul that are a threat to free men everywhere. If you harbor bears you are bears.
Put a stop to America's bearrorism today.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
Was there any usability testing with developers performed as part of the design process? If so, how did the testing guide development of the specification? One of the complaints often heard from both critics and fans is that CSS is very difficult to learn and read. In particular the complex rules governing the Cascade are often a source of problems for even experienced developers. Another instance is the often extreme difficulty and skill required to achieve layouts that were easy and common in pre-CSS days.
Do you think HTML 5 (from the WHAT WG) will have a better chance of being accepted by the browser vendors than XHTML 2.0 or whatever else comes from the W3C? (I suppose being accepted by the dominant IE would be the most important.) As a more general question, how can we best create new standards that allow backward and forward compatibility? It seems that current browsers handle current HTML versions as special cases, by looking at the HTML version string. It seems that this would break the ability for these browsers to treat HTML 5 as if it were HTML 4.
Software sucks. Open Source sucks less.
How come, we um, lie?
It would be nice if I could assign, say, a color to a variable in CSS so to change the color I would only need to do it one place and have it propogate through out the style sheet, for example. Same goes for other attributes like width, spacing, etc. Is there any plan for that in the future?
Why the curly brackets? Those things get on my damn nerves.
Slashdot Burying Stories About Slashdot Media Owned
Simple question (hopefully simple answer ;-)): why did you not use XML?
Do you think the so called Acid2 test is a useful test for determing browser compliance with standards and if so then why? If it isn't a good test then is there a simple alternate test that could be more useful for browser developers?
For your reference: http://www.webstandards.org/files/acid2/test.html
Are there any plans to re-release the Bork edition?
I for one enjoyed that Valentine's day treat quite a bit!
You can accomplish anything you set your mind to. The impossible just takes a little longer.
if you have 2 elements, eg ol#a and span#b, you need to double your selectors: ... }
... } }
... ?
ol#a *:first-child a:hover + dd, span#b *:first-child a:hover + dd {
Why is there no 'grouping' of selectors such as:
ol#a, span#b { *:first-child a:hover + dd {
And of course, there are more possibilities to greatly improve the maintainability of CSS-files; being able to define variables, or inline-calculations (eg. border-width: @var - 0.5em;
Have they not been included to keep CSS simple, or
Question 1:
Was there a reason that XML wasn't chosen as the format for CSS? There's a million parsers for it and it's heirarchical so that it would be logical to handle the nested selectors, classes, and identifiers.
It's hard for me to remember back to 1994 but it seems that XML would have been an option even at that early date.
Question 2:
Did you ever think of dividing CSS into two aspects.
1. CSS-Presentation that would have focused on the font, color, backgrounds, border, text, and other "display" aspects of CSS
2. CSS-Layout that would have focused on the layout, margins, padding, and position aspects of CSS.
Waltz, nymph, for quick jigs vex Bud.
...I can finally view it in my, somewhat old, browser Cyberdog! Ah, never heard of that one, did you? Not that it can do CSS (or Javascript, or frames, or PNG, ...) oh no, but it could neither correctly interpret the color information Slashdot had in it's HTML, which resulted in a completely black page. :-( But now I'm happy again! :-)
Swedish plasma phys. PhD student; MSc EE; knows maths, programming, electronics; finance interest; seeks opportunities
How come y'all hawk on this guys name so much?
C'mon guys, you know grade school was hard enough for this fella.
barack to the future?
Lie proposed the Acid2 test in the first place. I'd say he's heard of it ;-)
o ft/2010-1032_3-5618723.html
http://news.com.com/The+Acid2+challenge+to+Micros
Should it be possible to freely mix inline and block elements? In particular, place block elements inside inline elements? Basic HTML says no. CSS2 is vague, especially considering that an element's block/inline property is variable. Most browsers seem to side with HTML. But, coming from the TeX world, where \hbox and \vbox can be freely mixed to achieve any layout you like, I can see no compelling reason for prohibiting it. HTML/CSS can come across as hopelessly broken when you know that something analogous has been done for ages, and practically perfectly, elsewhere. Is the problem here with CSS, HTML, the browsers, or me?
...why do you work at Opera?
"howcome" this page doesn't CSS validate?
Given that not all browsers support version 2, will version 3 be held back until they do?
Why have a new formatting syntax when the current browsers do not support things like:
@font-face {
font-family: "Robson Celtic";
src: url("http://site/fonts/rob-celt")
}
and:
page-break-inside: avoid;
in paged media (think hard copy and rows being split across pages, usually with half a line of text on each page)
If not, do you have a plan to persuade browser developers to comply with the existing CSS 2 BEFORE you add their requested bells and whistles to version 3?
- - - - - - - - - - -
I am a programmer. I am paid to produce syntax not grammar. Deal with it.
how come?
\u262D = \u5350
Do you ever have to choke down the urge to punch Bill Gates straight in the mouth for what he's done to your creation?
I mean, I know I do, and CSS isn't my baby.
Tom Caudron
http://tom.digitalelite.com/ (why yes, it is a CSS-based 3-column layout!)
-Tom
Why are aspects of text handling like word wrapping not adequately addressed by CSS2? And yes, I know that IE supports word-wrap, but that is a proprietary attribute (wish MS would have instead spent time implementing the standards correctly, you know?) Are there plans to improve text handling with CSS?
I guess a related question would be: is CSS getting out of scope? As web developers, we well know how a nice simple idea can get twisted and expanded to where it no longer resembles the original intention. Is CSS getting to that point or did you anticipate it getting so massive?
blah blah blah
Cascading style sheets are a great idea... if you can cleanly separate form from content. Certainly, this is nowhere more true than in writing, as things like the poetry of e.e. cummings, hieroglyphic inscription, and the calligraphic writings of the ancient Chinese are all examples of where the medium becomes the message with profound results. While most attempts at creating genuine multimedia art over the internet still have their tongues firmly planted in-cheek (ytmnd springs to mind), I'd suspect that within a generation (if not a generation of internet time), HTML-/XML-based art will take off in a major way. In what ways do you see the informatic schema of separating data from the presentation thereof running into the artistic schema of holism and integrating all aspects of presentation?
The word pixel meant "picture element", but CSS redefined it to mean something quite different (a particular subtended angle of view). This causes confusion: CSS pixels are not pixels. (Indeed, I have seen misinformed comments on Slashdot due to that confusion.)
My question is this: why call the subtended angle a "pixel", instead of something else (e.g. "subangle")? If CSS wanted to use the subtended angle for something, that is fine, but calling it a pixel seems to follow the approach of Humpty Dumpty—"When I use a word, it means just what I choose it to mean".
CSS claims to be a language for layouting HTML. Why are the layouting capabilities so limited then? Were any graphical designers / people with layouting experience actually involved in the development of the standard?
To illustrate my point of view: Positioning of block elements in CSS can only be absolute (which is not suitable for arbitrary size screens), relative to immediately preceding or following elements (which is not very flexible) or floating (which is also not very flexible as it only affects subsequent elements). This makes the order of the HTML elements significant. As a consequence HTML must still be modified when changing the design. Doesn't this defeat the purpose of CSS?
Duplicates? On Slashdot? Surely you jest, sir!!
http://jigsaw.w3.org/css-validator/validator?prof
I've always wanted to declare variables within CSS. Using variables to define color values would make my life so much better. Are CSS variables something that's on the roadmap? And if not, why not?
Do you play Terrorists or Counter Terrorists?
CSS2 has some very cool properties for interfacing with Assistive Technology (AT) such as JAWS and WebEyes.
For unfamiliar readers, the speak selector could be used with amazing effectiveness, eg:
speak:spell-out;
}
<abbr title="Strucuted Query Language">SQL</abbr> is very popular in the <abbr title="United States" class="initialism">US</abbr>
Unfortunately, implementation of these features does not seem to be a high priority for AT manufacturers. What efforts, if any, do you know of to get features like these incorporated into future versions of AT products?
Why isn't there any easy way to style a table column in CSS?
If you're serving legitimate, tabular data, and you want to right-align column #3 (normal for numerical data), you either have to apply a class to each cell, use javascript to apply it after the fact, or use hacks like:
Which work, but are difficult to maintain when you get 10+ columns, and don't try to automatically re-arrange columns with javascript.
Why can't we just place styles on a <col> or <colgroup>, and have it cascade down?
Build it, and they will come^Hplain.
What are your thoughts on the ease of use of CSS? Much has been written about the elegant simplicity of CSS. This is certainly true for simple layouts. In my opinion though, CSS begins to lose that elegance and simplicity for more complex layouts. It feels difficult to use, confusing and unwieldy. One might think this is inevitable for more complex page designs, but what are your thoughts? Do you feel that CSS remains easy to use for complex layouts?
Why did you choose to use the syntax !important to reflect more importance in a declaration? For a programmer it seems that !important reads naturally as NOT important.
Why is there no #define statement?
Why is there no way of resetting the browser's defaults?
Why does your own page resort to using a table for some of it's layout?
Are there any CSS refactoring tools that you can recommend? I am looking for something that will draw the repeated attribute values out of my HTML and create a CSS stylesheet that replaces it.
Marjo Wycam, Master of the Programming Arts
Did you ever imagine that people would (ab)use CSS to make all websites look alike, with faggy rounded edges and shitty fonts, using shaded and/or gradient backgrounds for everything?
I want to delete my account but Slashdot doesn't allow it.
One badly needed standard is CSS-like localization language, with fallback sequences etc. I want to be able to include a list of strings into my page and specify that if there's no, say, Spanish string, English must be used.
E.g. create a tag, add "loc" attribute to input tags and create *.loc files with loc strings. Include them into the page like you include CSS today, have browser choose depending on locale. Substitute the strings on page render. Allow people to select different localization on the fly like they select custom stylesheets today. Allow them to create custom localizations, too.
I simply fail to see why localization has to happen on the server.
First of all, a lot of the problems people encounter in CSS are simply misunderstandings because of strange browser implementations. Nothing will help you more than actually reading the background materials and understanding what each piece of terminology really means. Once you grasp the overall concepts you will find that browser compatibility isn't just a lofty ideal.
;)
Oh and to center you just put text-align:center on the container and margin:0 auto;text-align:left on the element you wish to center. It's really not that tough
Having said all that, how in the world do you explain the lack of proper clearing? I think, at this point, it is obvious to anyone that has ever implemented a holly hack(usually not a good idea, btw) or a fixer class that an element should be able to clear the floating of elements within itself. This lack of internal clearing is one of the most obviously missing pieces from the CSS system. And so my question is, how could smart people forget to put something so necessary into the framework?(I hope there is a cool story involving some sort of conspiracy.)
In my opinion, quirks mode is the number one obstacle to web standards.
Arguably, quirks mode was conceived as a way for page authors to still be able to view their content if their markup wasn't valid. However, it seems to have evolved into an excuse not to create valid markup of any sort. The "it looks fine, I'm done" mentality of authors.
What are your thoughts on quirks mode, how it affects CSS, and how can the web escape the legacy need for it?
It's because you're using the wrong position type. Use "fixed" instead.
The CSS specs are full of totally cool features that I can't use because IE doesn't implement them, or doesn't implement them correctly. (Not that Firefox is perfect either, but with 10% of the market, it doesn't dictate what people can and can't use.) What can we do to get browser implementors, or rather Microsoft, to support CSS properly?
Bears!
Was there any particular reason to invent a brand new format for codding styling information instead of just using an XML-sublanguage ?
Pupeno
If I remember well, CSS were created with the idea that style sheets could be provided by experts on central sites and shared by many sites, thus making the Web navigation typographically beautiful, consistent, fast, and user-configurable. It was very interesting and ambitious goals. But nothing like that happened. I played for a few years with MSIE 4 and 5 user style sheets, but even the simplest and most basic user configurations - like disallowing rendering of tiny and unredeable fonts - had to be hardcoded in the (Mozilla) browser (with Minimum font size) to override all the complicated cascading rules and work consistently well. Do you think that 10 years late CSS can still become a great technology, or will it always remain just syntax to write styling properties? Do you think that a new technology could replace CSS in 5 or 10 years and achieve the "original goals"?
Is there a way to specify the version of CSS that a certain CSS file follows? The W3C validator, for some reason, defaults to 2.0 instead of 2.1, and when I use features that exist only in 2.1 I have to specify the version in the URL to the validator. That is, instead of http://jigsaw.w3.org/css-validator/check/referer I have to do http://jigsaw.w3.org/css-validator/check/referer?p rofile=css21. That is not neat. It should be able to extract that information itself. (Go on, by the way, check the links to see how well Slashdot is doing in the validation.)
Equally non-neat is that, when reading a CSS file, one has to _guess_ the character set (!) to be able to read the "@charset" rule. At lest that's what I've heard. Is it true? Did _you_ come up with that? Have thou yet punished thyself? Do you want some help with that (the punishment)? Of course, the whole charset rule contains only ASCII characters, which is compatible with many (but not all) other encodings. Still, this is not what you would expect from a W3C standard.
Swedish plasma phys. PhD student; MSc EE; knows maths, programming, electronics; finance interest; seeks opportunities
Do you think that the design of CSS must take some of the blame for the slow adaption of first CSS and since CSS2? Imperical evidence seem to show that CSS is simply hard to get right. Was too much ease of implementation sacrificed to make it easy to design and read CSS files, thus prompting the lack of support that complicates the use of CSS today?
In a fair world, refrigerators would make electricity.
var sig = function() { sig(); }
Actually it's pronounced more like WhoreCon. Thats an å, not an a.
It's obvious that you know a lot about type from your writings on the subject but I have a question specific to design implementation:
Why is it so difficult to do multicolumn layouts in CSS? Layout controls overall in CSS2 are primitive at best and require extensive tweaking for satisfactory results. Was having weak layout control a design decision or just seen as outside the scope of the project? This seems to me to be one of the most fundamental reuirements for web [or any] design and yet it's still a pretty kludgy solution even today. Aligning and preventing strange overlap and overflow issues is among the most complicated of CSS production problems and in my opinion it really slowed adoption when a 3-column table layout with 2 fixed and one "stretchy" column could be made in seconds.
So far, I haven't been able to figure out a way of centering an object that I don't know the size of. Might work with JavaScript...
The question I would ask about CSS being a pain to work with is: Why not XML/XSLT? Much more flexible, potentially saves much more bandwidth, but it's not well supported by any browser I've tried. One missing killer feature would be client-side includes...
So I guess my real question is, why haven't we ditched HTML/CSS by now for something different altogether?
Don't thank God, thank a doctor!
<div style="display: table-cell; vertical-align: middle;">
<p>This is a vertically- and horizontally-centered block.</p>
</div>
</div>
Why is MNG no longer on W3C's website? You all were promoting it for quite awhile but not its no longer there? Are we just supposed to accept flash or SVG (which isnt supported in IE7 beta and unlikely in the final version) for animations with alpha support and JPG like color depth?
Instead of writing:One has to write:Presumably this is to make the language less complicated for new users, but for me it just ends up adding a lot of un-necessary writing and makes it very difficult to easily apply styles to large node groups. Has implementing a method of allowing nested CSS like the above example ever been considered? If so, what were the reasons for deciding against it?
[insert witty comment here]
How far can CSS be taken beyond the web page--that is, have generalized or non-web specific features for such things as page formating or type setting? Do you plan/wish/hope to take it farther than it currently is?
In other words, why can't I do the following: (without having to resort to messing with padding and margin hacks)
- MbM
Why does CSS continue to have terrible support for RTL (right-to-left) markets? Table-based layouts work perfectly; the tables are automatically flipped by the browser and everything is puppies and sunshine. But CSS styles DON'T flip, and there's no way to MAKE them flip, so it's a hideous mess trying to build a webpage that works for, say, an Arabic or Hebrew user.
How do you feel about SVG (as currently specified, not as a concept)? What problems do you think it has, and why do you think those problems came about? If some other group (like the WHAT WG) were to rewrite it, would you support that?
There are 11 types of people in the world: those who can count in binary, and those who can't.
Had they proposed this and lost, I would have said it is ironic. Yes, it is inconvenient that we have this calculation and I think there is work afoot to change it now (work which, you'll undoubtedly point out, we wouldn't need to do had the standard gotten this right the first time). But to implement an existing open standard incorrectly is not laudable. To claim otherwise is to ignore the value of standards and rank them as less important than "I know better than you" with different versions of what is "better". Such efforts weaken interoperability, portability, and make things harder for users to control the work they'd rather focus on.
Digital Citizen
I am a language-nerd and would love to hear how your name is properly pronounced. I know that via the web, this can only be demonstrated via an audio file. If agree to host the .MP3 file, will you share the proper pronunciation with us?
(I'm really very interested)
Hakon, aren't CSS Selectors just a poor-mans XPath?
The layout paradigm used by CSS (and HTML) is quite different. If you look at `desktop GUI toolkits` - ala GTK, Qt, or even Java's AWT/Swing, they have many different layout models - flow based, border based, spring based, grid based (those are Java). The layout techniques offered by CSS dont seem to fit into any of these well (if I were forced to pick one, I would say its most like the flow layout).
My question is: how does one replicate the flexible layout ideas using CSS? I cant seem to figure out a good way to create `scalable` pages with HTML and CSS without the use of hacks. It seems like the Safari developers are giving `scalable` layouts some thought (ref: http://webkit.opendarwin.org/blog/?p=55 and http://webkit.opendarwin.org/blog/?p=56). Em's and percents do make it work somewhat, but they dont cut it IMHO.
I understand that the popular use of bitmap (as opposed to vector based images) on the web is one of the primary reasons for non-scalable designs - but desktop applications with the flexible layout techniques seem to look much better on physically small screens with high resolutions.
I do like the direction SVG is going in, and hopefully IE will one day support.
And finally, since no one else has said this, Howcome you're here! :-)
More than mere navel gazing.
One thing that customers often request is rounded corners. Well, that's not supported in CSS directly. You can overlay four divs, each with a corner image and make it work. But then the customer says "I'd like a border along the edge too", which isn't possible with that hack: a table with 3 x 3 cells and 8 new images (4 edges, 4 corners) will do it. All this wastes endless amounts of time (changing colors require new images, too).
It would be much simpler to define those round corners with CSS syntax if it were available.
When will CSS come to the rescue?
Why was there no (aparant) consideration for based-on styles? CSS, using rules based on how tags are nested, seems to necessitate a direct link between style and a pages structure (read: content).
n sidered.html
A link that sums some of my frustrations: http://www.cybergrain.com/archives/2004/12/css_co
Thanks for any insight.
Andy
My question has to deal with selectors: why doesn't CSS have a parent selector? All too often I find myself wanting to refer to a parent or a sibling of the current element but cannot (I'm sure there are a bevy of workarounds for individual cases...)
ie Why can't I do something like this to refer to a table row (given a structure of <tr><td><a>) a:hover:parent:parent { background-color: #cff; }? It's a simple example, but there really isn't a way to do this without involving a client-side scripting language.
Thanks for your consideration.
On a side note, Bears and Robots are natural enemies.
http://www.angryflower.com/
My LJ Blog
According to the CSS spec:
Any @import rules must precede all rule sets in a style sheet.
What is the technical reason for this? Is it possible to relax this so that import rules can be embedded in a style tag anywhere in the page, similar to how Javacript includes can be inserted anywhere?
This can be used by users of publishing systems to mix different 3rd party styles into the page, where they are not allowed to modify the HTML HEAD section - for example, Livejournal, Blogger and Wordpress. Javascript has benefited a lot by this feature.
My LJ Blog
If you had the chance to rewrite the whole CSS 1 specification (and thus the later CSS 2 and CSS 3 specifications which depend on it), what would you like to change? Does the inconsistency of property names like 'color' (which applies to text) and 'background-color' (which applies to elements), the (in)famous box model (don't you agree that IE's quirky implementation is more intuitive?) and other things like that bother you, or do you feel like most of it is as perfect as it can get? If there was anything you could change, what would it be?
He's a loathsome, offensive brute, yet I can't look away
Those tags used with style classes work just fine in IE. But use adjacent sibling selectors in everything else until CSS 3's nth child selectors are more widely supported.
1. What are your thoughts on Adobe's Flex and the way it uses CSS for it's components? It uses CSS syntax, but not the W3C rules.
2. Related to 1: CSS works great for documents. Is CSS a good fit for webapplications?
CSS is not enough popular beacause it's not XML based syntax.
With an XML syntax, it would allow us to generate or manipulate dynamically the Style of our
web sites without waiting the DOM implementation (for the javascript sample).
If a non Web developper want to use CSS for it's desktop application, he must think "How to begin this" !
If it was XML based, he would do it immediately and CSS would be even more STANDARD.
My question for Hakon : Will you do it ? Or must i make my own XML+XSLT to generate CSS.
Thanks
At work I get around this by having a little script that preprocesses CSS. My CSS files start with some property declarations and then reference these properties like this:
The verbose property declarations are used to present a pretty property generator for our designers to use so that they can play about with the color selections, alignments and so forth with a friendly interface and previews. We can then generate a static stylesheet file which we can make final manual tweaks to and use on a site. Unfortunately I can't release this stuff since it's owned by my employer, but it wouldn't be hard to roll your own similar software. The most complicated part is the bit that parses those property at-rules, since it's essentially a cut-down CSS parser; if I was doing it over again I'd probably use a simpler syntax.
It seems like quite a roundabout way to do it at first, but really it's not much different to using an HTML pre-processor to produce the boilerplate stuff on a large, static site.
Are we going to see the CSS and HTML standards start to support video better? I would love to see a video program produced where the data, usualy mixed in the picture, was instead HTML and mixed in the image by my browser. That would allow me to select links provided by the producers, move the data out of the image area or import it into a spreadsheet. What do you think?
Update: I just checked quirksmode.org. Looks like all the major browsers support CSS tables now ... except for IE. *sigh*
DNA just wants to be free...
Is there any good reason why the ENTIRE CSsmust alwaysbe declarative? While I am the first to state that declarative specification usually beats the procedural way (say float:right; width:50; instead of left: (windows-width - 50) or something like that).
However, declarative systems very often lead to a lot of intellectual masturbation to get some really "nifty" way of getting things just so simply case trust the computer is not always a good idea. Especially since computers tend to use different algorithns to translate the declarations into a real screen layout. While some geeks find the intellectual masturbation stimulating, quite frankly it wastes my time. Sometime I really just want to tell the damn thing that I want the box 70 - window-width and get on with it. After all, if I can write a JSP page I can presumably figure out something like that. Instead, I have to consult 6 websites on the l33t way to do a 3 column layout.
So my question is: Any ideas on making CSS a bit more procedural? Just for the cases where the computer screws up?
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
Use multiple classes in your HTML.
Define your color classes (color1, color2, etc.) in your CSS. Do not define colors in other CSS classes (unless you don't want to use your "aliases" with those classes).
In your (X)HTML mark-up, define your classes to use the "other" CSS classes followed by the "color aliases" separated by spaces. For example, class="myClass color1" applies the .myClass class and the .color1 class. (Like any CSS, later definitions override earlier definitions, which is why your "other" classes should avoid defining colors that would be overridden by the color classes. Of course, you may find this effect useful...)
I use this method on my personal site. It is potentially an extremely powerful tool that is not limited to colors; I also use it to apply other types of formatting, including positioning (mostly horizontal alignments) and common div widths (which means I don't have to update every div with a new width, only the class definition for that kind of div.)
I would love to claim original credit for this concept, but admittedly I found it somewhere else... I just don't recall where...
"I came here to kick ass and chew bubblegum. I'm all out of bubblegum." MSE USC APX AIA CSI CASp
I understand that cascading->inheritance, but why are one's only options inheritance or
/* display: inline */}
explicitly setting values? Why is it not possible to set an element's attributes in reference
to an older ancestor, or to ignore the parent's setting and auto as if the parent's attribute
were not set (were set to auto)?
e.g; Given two nested div's, and the need for the parent div to not be of some pre-determined size
but not be full-page (achievable with display: inline): it does not appear to be possible to have
the child maintain the prior/wider (tight) "auto" width.
#ctrl{ position: relative; cursor: help;
border: 1px dashed #ddd;
#tip{ display: none; }
#ctrl:hover #tip{ display: block; border-style: ridge; padding-right: 1em;
position: absolute; left: 2em; top: 1em; z-index:4;
background-color: #fffff4; }
Basically, shrink-wrapping and stretching appear to be convoluted and require some divination of
the user about the size of things (even when using em)... and yield not -quite right results.
Were that I say, pancakes?
Why didn't CSS include C++ style comments as well? Many people seem to use them interchangably
elsewhere, so when you adopted half of this classic pair you break many people's assumptions of
functionality and subtly invalid CSS can result.
Were that I say, pancakes?
Was nesting ever considered? For example, instead of:
something like:
Also, do you think CSS3 is too complex? Some of it seems nearly impossible to correctly implement across browsers. Is there any consideration going in to the speed and complexity of rendering? I fear that CSS3 (and beyond) are beginning to play into the assumption that all computers will be Pentium 4's with 2 GB of RAM and plenty of clock cycles to spare.
See the comment title. I mean, I'd hope he'd give the browser his blessings or else no one else will.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
Many CSS users want to be able to take a heading or a short piece of text in the HTML and use CSS to replace it with an image. Users with graphical browsers should see the image. Users with text-only browsers should see (or hear) the original text. Search robots should also see the original text. (They often don't treat alt tags the same as normal text.)
One popular way to do this is Fahrer image replacement. This technique uses a piece of HTML like this
and a piece of CSS like thisThe problem with Fahrer image replacement is that several screen reading programs don't pick up the replaced text. Many other image replacement techniques have been devised.
Which image replacement techniques do you think are okay to use? Which, if any, do you consider abuse of CSS?
Oops. I left out the most important part of the CSS:
How do you feel about the years of wait for CSS2.1 and its several near-misses with becoming a Recommendation?
How would you feel about breaking CSS3 down into even smaller chunks so that the approval process can get back on its feet, with W3C standards moving out of 1999 (when the last CSS Recommendation was approved - CSS 1.0)?
Even Mozilla is a member of WHATWG, so if Opera is "expanding beyond the standards", so is Mozilla.
From whatwg.org:
Clever signature text goes here.
main.css might look like this:
green.css might look like this:
red.css might look like this:
In my HTML, I can specify one of those as the default 'skin', and the other as an alternative:
Firefox users can then select between those 2 page styles from the View menu. For bonus points, I add a JavaScript style-switcher to allow other browsers to switch using some links on the page. Using cookies, I can remember which color they chose last and make that the default -- either in JavaScript, or on the server side.
Software sucks. Open Source sucks less.
Today the most common use of CSS is for styling text: color, size, bold, underline... The property 'font' gives you the ability to specify many of those common text-styling techniques, but includes rarely-used properties like font-variant while leaving out a really frequently used ones like text-decoration.
Do you think that the property 'font' has been a failure? It has probably the most complex syntax of all CSS1 properties and according to my research on CSS usage is used even less than z-index and float.