Page 3 of 4

CSS Positioning

Posted: Tue Apr 06, 2004 6:05 pm
by Brian
Unipus wrote:On the other hand: "make all of the dimensions--including margins--identical under a recent version of Gecko"... sounds like unreasonable expectations for the moment.
The goal is not unreasonable at all--rather, having everyone see the same thing regardless of which browsers they use is the whole point of having Web standards (except for alternate content presentations, of course) and it is a common desire among serious Web developers--but the difficulty in accomplishing that goal does illustrate the differences in CSS support between the major Web browsers, which was entirely the point of the exercise I provided.
Unipus wrote:I think you'd be able to accomplish the task fairly easily if you built a little bit of fault tolerance into the design.
Fault tolerance rarely factors into visual design and it should not have to; such necessity would undermine the very purpose of visual design. Quite obviously, content positioning methods such as CSS exist to specify content positions; if a Web client is going to bother parsing content positions provided via CSS, it should do so properly according to current CSS standards. If deviations exist, there should be logical reasons for them (and probably a corresponding option to toggle the rendering mode between standards mode and the custom mode within the client) and sloppy implementation fails this basic test.

By the way, while Web standards are usually quite precise in defining client behavior for visual presentation, there is the occasional odd omission for which clarification is typically desired in future drafts. In these cases, it is understandable--although still inconvenient--when different groups devise differing implementations.

Posted: Tue Apr 06, 2004 8:19 pm
by Unipus
My point is that there are generally tricks available to solve all of these little display glitches, if you look/try hard enough. However, if you don't, I don't think it's unreasonable to see a few pixels worth of variation... and in many cases if your design can't handle a few pixels variation, maybe your design is flawed for the web. This is coming from someone who is a designer first and a programmer second.

Posted: Tue Apr 06, 2004 9:03 pm
by no_memories
To Unipus:

Well said.

The whole point of moving to CSS is to use tables as they were intended; for data output. Tables are over used and abused by designers who are stuck in the past. Sure CSS isn't perfect, but when weighed against the future of CSS, tables do not compare. CSS 3 and perhaps CSS 4 will bring a whole new dimension, when combined with PhP and other scripting methods, to the designing playing field.

The whole reason for using DIVs for content and CSS for layout is to have an accessible website for 99% of the viewers. New browsers will look pretty and old browser will simply degrade into text. And like Unipus said, If your design can't handle a pixel or two from being perfect from browser to browser, then maybe it's time to re-think things over a bit.

By using CSS in great numbers we are basically demanding the web browser manufactures to put forth an effort to comply with W3C standards. By using tables for everything, your message is clear; you're accepting the old "browser wars" mentality. Personally, I am tired of worrying about which browser does what, let's move on and demand standards within our designs and with the software/browser vendors.

CSS is to tables as fine architecture is to a log cabin.

Bah.

Posted: Wed Apr 07, 2004 3:37 am
by Brian
Unipus wrote:My point is that there are generally tricks available to solve all of these little display glitches, if you look/try hard enough...
No "tricks" should be necessary. One of the purposes of standards is to eliminate the need for such things.
Unipus wrote:...and in many cases if your design can't handle a few pixels variation, maybe your design is flawed for the web.
Whether a design can "handle a few pixels variation" is entirely subjective; a design may still look decent with some component or components positioned a few pixels from the preferred location, but if the design is not rendered precisely according to intentionally precise standards-compliant source code, it is not rendered correctly per the designer's intent. For example, if two consecutive elements are coded to each be five pixels from any other element and the relevant standard specifies that their five-pixel margins should be collapsed, it is wrong for the client to render ten pixels between them. The design may look fine, but the rendering is still incorrect--flawed by the Web client, not the design--and the aesthetics of the rendering are irrelevant to this point.

Within a medium that allows per-pixel dimensions, there should be no variation unless the designer specifies it. Furthermore, the existence of flaws in Web browsers does not bestow fault upon designs insofar as those designs specify exact appearances according to common standards that some clients fail to implement properly or entirely.

Re: Bah.

Posted: Wed Apr 07, 2004 10:24 am
by Roja
Brian wrote:
Unipus wrote:My point is that there are generally tricks available to solve all of these little display glitches, if you look/try hard enough...
No "tricks" should be necessary. One of the purposes of standards is to eliminate the need for such things.
As a general statement, in over 95% of cases, current versions of Opera, Mozilla-family, Konq, and Safari will all consistently render the vast majority of CSS according to the spec.

However - Internet Explorer DOES NOT follow the spec correctly in a number of hideous ways. THAT is why the vast majority of tricks are needed.

Note also that "tricks" do not violate the standards, nor even violate the spirit of the standard - the idea is to create code that will generally work across all browsers in a consistent fashion. If a browser fails to support the standard, then you do your best to make it work across all browsers - the USER is the important thing (as you implicity state in your next point).
Brian wrote: Whether a design can "handle a few pixels variation" is entirely subjective;
Agreed.
Brian wrote: a design may still look decent with some component or components positioned a few pixels from the preferred location, but if the design is not rendered precisely according to intentionally precise standards-compliant source code, it is not rendered correctly per the designer's intent.
Slight discussion point - If the designer designs it, and when implementing it cannot acheieve what he designed without flaws, and the choice is between the look, and standards-driven code, and the designer chooses the look over standards, then he has failed in what might or might not be a primary objective.

All depends on the client.
Brian wrote: For example, if two consecutive elements are coded to each be five pixels from any other element and the relevant standard specifies that their five-pixel margins should be collapsed, it is wrong for the client to render ten pixels between them. The design may look fine, but the rendering is still incorrect--flawed by the Web client, not the design--and the aesthetics of the rendering are irrelevant to this point.
I disagree. I would argue that the designer has to consider the reality of the browsers, due to the fact that all browsers DONT follow the standard. If they did, the designer wouldnt have to care, and could code purely to the standard.

Since thats not the state of affairs, often, a designer has to make a choice between standards-compliance (in spirit and in letter), and design. You may argue that its a tragedy for him to change his design to comply with the letter and the spirit of the standards. I could counter-argue that design should (and usually does) take into account the limitations of the medium.

In either case, its an opinion - not something that can be argued to a fact or conclusion.
Brian wrote: Within a medium that allows per-pixel dimensions, there should be no variation unless the designer specifies it.
I'd change the wording slightly to "If the designer chooses to use per-pixel dimensions, there should be no variation unless the designer specifies it". By default, the web ALLOWS per-pixel dimensions, but it doesnt default to that.
Brian wrote: Furthermore, the existence of flaws in Web browsers does not bestow fault upon designs insofar as those designs specify exact appearances according to common standards that some clients fail to implement properly or entirely.
So, if as an artist, you design a clay sculpture, and ignore the fact that it will be sitting in water, its not your fault?

No. As I said above, a designer needs to be cognisant of the limitations in the medium, and make a value choice between a different design, and standards-compliance.

You and Unipus seem to want to argue that its either or, and that blame is applied based on the choice. Its an opinion, a choice made by the designer.

Unipus clearly beleives that design should reflect the medium (standards have a higher value than design), and you clearly feel the design should ignore the medium, and do what it takes to keep the vision of the designer (design has a higher value than standards).

Both are true, depending on circumstance. :)

Posted: Wed Apr 07, 2004 2:10 pm
by Unipus
There you go. Well phrased.

I just think that Brian's mantra would be terrific statements for someone on a browser development team. For a designer, they're somewhat less useful. I certainly agree with the idealism, just not the level of practicality.

Zzzzzzzzzzzzzzzzzzzzzzzzz...

Posted: Wed Apr 07, 2004 4:04 pm
by Brian
To the who goes by "Roja", I appreciate that you are thinking, but like the treatise by the one who goes by "Unipus", your argument veers so far wayward from my points as to further plunge the discussion into tediousness (indeed, such tediousness is one of the main reasons I post so infrequently to forums such as these). I have no interest whatsoever in the debate that has developed beyond my assertions that Web browsers should fully and properly support Web standards to enable precise designs without requiring designers to devise and implement browser-specific work-arounds. Simply put, I would prefer if designers could concentrate on the art of design rather than being forced to be engineers as well.

Re: Zzzzzzzzzzzzzzzzzzzzzzzzz...

Posted: Wed Apr 07, 2004 6:20 pm
by llanitedave
Brian wrote:To the who goes by "Roja", I appreciate that you are thinking, but like the treatise by the one who goes by "Unipus", your argument veers so far wayward from my points as to further plunge the discussion into tediousness (indeed, such tediousness is one of the main reasons I post so infrequently to forums such as these). I have no interest whatsoever in the debate that has developed beyond my assertions that Web browsers should fully and properly support Web standards to enable precise designs without requiring designers to devise and implement browser-specific work-arounds. Simply put, I would prefer if designers could concentrate on the art of design rather than being forced to be engineers as well.
I would prefer that too. But the reality is different.

If someone is going to call themselves a professional web designer, which by definition means implementing on demand a particular vision of look, feel, and functionality, then it is the designer's responsibility to know and understand the strengths and limitations of the media that he/she will be presenting in.

Web browsers should be standards complient. But they're not. The sculptor should have flawless marble to work with. But he usually doesn't.

An artistic vision isn't art unless it's implemented. And implementation requires technique -- and "tricks".

The standards exist to make the designer's life easier. That they are incomplete, flawed, or otherwise not 100% available doesn't relieve the professional from the responsibility of implementing the vision.

I would suggest that all of history's greatest artists had a bit of the engineer in them.

Hat Trick

Posted: Wed Apr 07, 2004 6:29 pm
by Brian
Congratulations on missing the point, but two other people already beat you to it.

Posted: Thu Apr 08, 2004 10:29 am
by johnperkins21
Brian, I agree with you. There are standards, comply with them. I understand the reality of the situation, but it is only this way because we put up with it. If your browser does not support the current standards it is BROKEN. That's all there is to it.

Posted: Thu Apr 08, 2004 12:09 pm
by Roja
johnperkins21 wrote:Brian, I agree with you. There are standards, comply with them. I understand the reality of the situation, but it is only this way because we put up with it. If your browser does not support the current standards it is BROKEN. That's all there is to it.
But is it the place of the developer to "comply with them" ?

Following your advice, I design a site. Lets say I use alpha-blended 24-bit PNG's for all my pictures. Every browser EXCEPT IE supports it. (IE claims to, so this makes for an ideal example).

So now, the site I designed for a client works correctly, and according to the spec, but only for (at best) 15% of the current browser share seen on most sites.

I counter your statement by saying that I've only done 15% of my job as a designer.

Posted: Thu Apr 08, 2004 12:17 pm
by Draco_03
Yep you are right... but the thing is to minimum the damage.
That means first of all.. develop on Mozilla or a good browser,
than if you wish ppl using a non-conform browser to still see your webpage "normaly"..
well fix the issues you'll have
cuz the sad reality is ie is very popular becuz it comes with wondows.

That s the real work of a devlopper, Building a good fundation then (for buisness purpose usually, to reach more ppl) you "hack em" so they look good everywhere and there as close as possible to the reglementation

Posted: Thu Apr 08, 2004 2:00 pm
by Unipus
Brian, maybe you'd be much happier working in print? Otherwise, I fail to see what the point is of your rant. That all browsers should all render all content identically? I'm sure they've never heard that before. It'll be fixed next week.


To expand on Roja's example, it is YOUR JOB to know that if you do use those 24-bit PNGs, they aren't going to display for most of the audience unless you use the available hacks, tricks, and techniques to make it work on IE. It is YOUR JOB to know that those hacks and tricks exist and how they might be used. It is also YOUR JOB to know fairly precisely how much of your audience is going to be affected by any such decision, and to take that into account accordingly.

Posted: Thu Apr 08, 2004 4:11 pm
by johnperkins21
No. If you code to the current standard and it does not display properly on IE, too bad. If enough people stand up and fight for compliance and compatibility, Microsoft will have to change. As it is now, they get away with it because of your solution: hack your code until it works with IE. That's bs. IE should work with the current standards. It's not like they don't know about them, they just choose to ignore them because they can.

I do however understand if you're creating a site for a client, you have to code for IE. It is your responsibility to know which browswers support what. I just think that the standards are out there and if we continue to put up with browsers (esp. the most popular of the buch) not supporting the standards, what's the point of even having the w3c in the first place?

Posted: Thu Apr 08, 2004 4:58 pm
by Draco_03
then you answetr you own question john we have to code for IE nonetheless
...
so
basically we HAVE to hack our code..