On 06.10.2010 02:08, Arlo White wrote:
That's because HTML/CSS is a pretty terrible language for anything
beyond simple layouts. It shares more with Word/PDF/PostScript in terms
of its purpose and history than it does with real gui layout engines
(GTK, QT, etc).


HTML/CSS is primary made for documents not applications. If you want you can simply make every element a block level element and use JavaScript for layout. I don't know GTK and QT in depth but then you should have about the same level of possibilities as with these layout engines. It wouldn't surprise me if GUI frameworks like jQuery UI actually do this.

However the way GUI frameworks approach layout isn't very well suited for documents and therefore I'm very happy that they oriented CSS on documents (there were several early drafts and what we know today was just the draft from Howcome Lie).

Hardcore HTML/CSS people tout the virtues of separating the content from
the presentation. The problem is that HTML has implicit presentation
that you often can't override with CSS. There are limits to what you can
do with positioning. If I want to rearrange elements in my page I have
to change the HTML, I can't do it all on the CSS side. That's not
separation of content from presentation!


You can do quite a lot of stuff with the "position" property. As soon as you defined something as "position: absolute" you can move it around as you want. How well that (and other techniques) work depends on your HTML structure. However I have to agree that in most practical cases you have to modify the HTML in any way because the document structure changes.

Real separation of the presentation has to happen right at the data
layer. But that's server side in most applications. So you run your data
through one view abstraction (template language such as Freemarker, PHP,
JSP etc), then to HTML, and then polish it with CSS. Oh, and that
application runs on an app server that runs in a Java virtual machine
that runs in an VMware OS that runs on a real OS that actually accesses
real hardware. That's an absurd number of layers...

Anyway, to get back to HTML. They'll say use divs not tables because a
table represents a distinct concept not a layout element and it has
accessibility implications. And yet I you can't layout things with divs
in the same way that I can with a table. And even if there are obscure
CSS properties that let me, half the user's browsers don't support them.


Unfortunately this is true (if "half the user's browsers" refers to IE 6 and 7). In other browsers however you can do exactly the same as with tables but with significantly less HTML elements ("display: table" property). Plus the other positioning models allow you to do things that are not possible with HTML. Netscape 4 once supported an "layer" element which could have been used to do stuff like you can do with "position: absolute" but the resulting HTML had nothing to do with "a document" any more.

Sometimes I feel like I'm the only one that sees the naked Emperor.
People are so excited about the Internet but they don't realize that
browsers are just implementing one view language that's 15 years old and
really isn't all that great. The beauty of the Internet is the emergent
properties that arose from the concept of linking sites. But that's not
something that has to be unique to the HTML language itself.

And sure there's some cool stuff in HTML5 but a pig's still a pig even
when you velcro a TV to its head and a database on its back.


-Arlo


I have to agree that it's all about linking content that really created the web. It's not unique to HTML (I even saw thinks like that in "The mother of all demos" form Douglas Engelberth, 1968) but more to HTTP. HTML just happened to be wildly used to create documents on the web.

As for HTML5 still being a pig… well I definitely agree at some parts but they already cleaned up a lot. Just because the structure of C once was quite ugly (IMHO) doesn't mean that D is still ugly (since it's based on C). Technologies as well as taste evolve constantly.




On 10/04/2010 02:23 PM, Walter Bright wrote:

That's what bugs me. Something as straightforward as a 3 column layout
shouldn't require "tricks" for it. Googling it found 3 pages dedicated
to explaining this "trick" (each of them wildly different, of course).




Reply via email to