Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Bug ou absurdité normalisée ?

65 réponses
Avatar
Gerard Menvussa
Bonjour

Si vous essayez le code suivant dans votre navigateur préféré il y a des
chances que le résultat ne soit pas conforme à ce que défini le style
(marge à 0, padding à 0 les "div" devraient être collés ? Eh bien non).
D'où ma question.

(Pour ceux qui on la flemme de le copier : http://tetraedre.org/bug.html)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Bug ou absurdité normalisée ?</title>
</head>
<style>
h1 {
padding:16px;
}
</style>
<body>
<div style='margin:0; padding:0;
background-color:yellow'><h1>yellow</h1></div>
<div style='margin:0; padding:0; background-color:blue'><h1>blue</h1></div>
<div style='margin:0; padding:0; background-color:red; border:solid 1px
black'><h1>red</h1></div>
<div style='margin:0; padding:0; background-color:green; border:solid
1px black'><h1>green</h1></div>
</body>
</html>


Question subsidiaire : y'a t-il un moyen de signaler les absurdités que
l'on trouve en HTML et CSS ?

10 réponses

1 2 3 4 5
Avatar
William Marie
"Gerard Menvussa" a écrit dans le message
de news:
Bonjour

Si vous essayez le code suivant dans votre navigateur préféré il y a
des chances que le résultat ne soit pas conforme à ce que défini le
style (marge à 0, padding à 0 les "div" devraient être collés ? Eh
bien non). D'où ma question.

(Pour ceux qui on la flemme de le copier :
http://tetraedre.org/bug.html)


Gag connu où il faut mettre des margin:0 et des padding:0 à tout ce qui
traîne. En mettre au div ne suffit pas. Plus le gag spécifique IE6 et 7 qui
confond marge et padding. Je pense avoir traité ça sur mon site dans
l'exemple des positionnement CSS.

Par contre un autre gag-bug que je n'explique pas (et qui touche tous les
navigateurs) : si on positionnne trois div avec des absolute, pas moyen de
les alligner verticalement correctement. Il faut les enfermer dans un div
global. J'ai eu ça dans la page d'accueil de mon site Free, avant dernière
ligne avec les logos des 3 navigateurs, une boîte texte et l'image danasoft.
--
=================================== William Marie
Attention antiSpam remplacer trapellun.invalid
par free.fr
Web : http://wmarie.free.fr
http://www.pandemonium.dnsalias.org (site expérimental)
====================================
Avatar
Olivier Masson
Gerard Menvussa a écrit :
Olivier Miakinen a écrit :
Le 09/12/2007 21:32, Gerard Menvussa a écrit :
Absurdité normalisée donc...



Je ne vois pas bien ce que cette remarque apporte à la discussion. Je
n'ai pas encore lu toute la page d'Eric Meyer, mais il semble que le
phénomène que j'ai constaté suite à ton premier article s'explique
assez bien comme étant un « moindre mal » pour arriver à rendre ce
qui semble naturel dans la plupart des cas.



Je ne suis pas d'accord. Ce qui semble naturel à qui ? Cela ne me semble
en aucun cas naturel c'est tortueux, totalement inutile et la raison
donnée dans le texte de "tentative d'explication" n'est pas valable pour
la raison qu'il est de mon point de vue facile de reproduire l'effet
décrit sans que les marges ne se chevauches. Cela me semble absurde
comme ce que je décrivais dans mon message "la quatrième dimension" et
auquel personne n'a répondu.




Tout comme Olivier Miakinen, je trouve que ta remarque n'a rien de bien
constructive d'autant plus qu'elle ne montre qu'une chose : ta grande
méconnaissance du couple HTML/CSS.
Le margin-collapse est logique, encore faut-il l'accepter.
Quand on connait mal HTML et CSS (que l'on pense maitriser en 2 ou 3
jours, surtout quand on est développeur), on se plante constamment.
Mais c'est se surestimer car une bonne lecture des docs du W3C explique
quasiment tout.
Les quelques points, de mémoire, qui restent très évasifs sont
l'attribut scheme et la notion de profil, la relation rev des link et
quelques "droits" qui n'ont pas vraiment lieur d'être (on peut ne pas
mettre d'élément head ou body.)

J'ai programmer dans plus d'une dizaine de langages et aucun ne m'a paru
aussi ambigüe, illogique, incomplet, incohérent et imprévisible que ce
que je trouve dans le monde du web. Après 7 années de bagarre
quotidienne, je suis véritablement fatigué par toute cette merde
invraisemblable nommée HTML, CSS, Javascript et qui semble donner tant
de fierté à ses concepteurs (et cela en faisant abstraction des
variations d'interprétation entre le client HTTP dominant du marché et
la "norme")



OUAH ! Remarque si je prends Scheme, GFABasic et Pascal, j'arrive
peut-être à 10 moi aussi...
Mais 7 ans et tu ne sais toujours pas produire un document standard
HTML/CSS ? Aïe...
7 ans et ne pas connaitre le margin collapse, re-aïe. Quand on apprend
un langage, un peu d'humilité : on commence par lire la doc.

Peut-être qu'admettre que 10 + 15 != 25 est difficile pour toi. Mais
dans la programmation du web, ce qu'il faut comprendre, c'est que le
résultat est un document lisible par un humain, pas forcément une
machine. Alors on parle d'ergonomie, d'accessibilité, de sémantique,
etc.. Rarement assimilée cette partie.

Des défauts, il y en a dans tout langage. Et Le web n'est pas aussi
vieux que C ou C++. HTML5 comporte encore beaucoup de bêtises, à mon
avis, mais il n'est pas encore terminé. HTML 4.01 est trop vieux mais
tout à fait utilisable.

Quant à Javascript, j'ai rencontré un des développeurs principaux de
Prototype, qui disait que c'était un langage très puissant, bcp mieux
(souple, léger, etc.) que Java par exemple (il est également très très
bon en Java, ce jeune Monsieur doué)... et que rares étaient les
développeurs connaissant réellement ce langage.
La plupart, à l'instar de HTML/CSS, pensent apprendre très vite et se
vautrent en programmant comme des gorets. Surement comme tu le fais, au
vu de ce que tu dis.

Donc, comme je le disais, un peu d'humilité ne te ferait pas de mal. Te
faire mater par un truc aussi "simple" qu'HTML/CSS te fait surement
rager, mais peut-être parce que tu as cru, à tord, que tout ceci était
histoire de quelques balises et quelques attributs.

PS : c'est toi qui a écrit la mini-analyse sur Donnie Darko ?
Avatar
Gerard Menvussa
Gerard Menvussa wrote:

Bonjour

Si vous essayez le code suivant dans votre navigateur préféré il y a des
chances que le résultat ne soit pas conforme à ce que défini le style
(marge à 0, padding à 0 les "div" devraient être collés ? Eh bien non).
D'où ma question.

(Pour ceux qui on la flemme de le copier : http://tetraedre.org/bug.html)


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Bug ou absurdité normalisée ?</title>
</head>
<style>
h1 {
padding:16px;
}
</style>
<body>
<div style='margin:0; padding:0;
background-color:yellow'><h1>yellow</h1></div>
<div style='margin:0; padding:0; background-color:blue'><h1>blue</h1></div>
<div style='margin:0; padding:0; background-color:red; border:solid 1px
black'><h1>red</h1></div>
<div style='margin:0; padding:0; background-color:green; border:solid
1px black'><h1>green</h1></div>
</body>
</html>


Question subsidiaire : y'a t-il un moyen de signaler les absurdités que
l'on trouve en HTML et CSS ?



Je remerci ceux qui m'ont aidé à faire avancé le schmilblick en
particulier denisb et Olivier Miakinen. Grâce à eux J'ai trouvé une
bidouille pour résoudre mon problème qui fonctionne semble t-il sur tous
les navigateurs récents.
Avatar
Gerard Menvussa
William Marie wrote:
"Gerard Menvussa" a écrit dans le message
de news:
Bonjour

Si vous essayez le code suivant dans votre navigateur préféré il y a
des chances que le résultat ne soit pas conforme à ce que défini le
style (marge à 0, padding à 0 les "div" devraient être collés ? Eh
bien non). D'où ma question.

(Pour ceux qui on la flemme de le copier :
http://tetraedre.org/bug.html)


Gag connu où il faut mettre des margin:0 et des padding:0 à tout ce qui
traîne. En mettre au div ne suffit pas. Plus le gag spécifique IE6 et 7 qui
confond marge et padding. Je pense avoir traité ça sur mon site dans
l'exemple des positionnement CSS.



En réalité il suffit d'avoir à l'intérieur des "div" au début et à la
fin un élément avec les marges à 0 pour contourner le problème.


Par contre un autre gag-bug que je n'explique pas (et qui touche tous les
navigateurs) : si on positionnne trois div avec des absolute, pas moyen de
les alligner verticalement correctement. Il faut les enfermer dans un div
global. J'ai eu ça dans la page d'accueil de mon site Free, avant dernière
ligne avec les logos des 3 navigateurs, une boîte texte et l'image danasoft.



Désolé je n'est pas la solution.
Avatar
Gerard Menvussa
Olivier Masson wrote:
[...]
Quant à Javascript, j'ai rencontré un des développeurs principaux de
Prototype, qui disait que c'était un langage très puissant, bcp mieux
(souple, léger, etc.) que Java par exemple (il est également très très
bon en Java, ce jeune Monsieur doué)... et que rares étaient les
développeurs connaissant réellement ce langage.
La plupart, à l'instar de HTML/CSS, pensent apprendre très vite et se
vautrent en programmant comme des gorets. Surement comme tu le fais, au
vu de ce que tu dis.

Donc, comme je le disais, un peu d'humilité ne te ferait pas de mal. Te
faire mater par un truc aussi "simple" qu'HTML/CSS te fait surement
rager, mais peut-être parce que tu as cru, à tord, que tout ceci était
histoire de quelques balises et quelques attributs.

PS : c'est toi qui a écrit la mini-analyse sur Donnie Darko ?



Le discours typique du petit cuistre es-informatique qui pensent que
parce qu'il se pavane sur les forums depuis quelques années il est un
expert du sujet.

Mais pendant que vous étaler vos connaissances "théoriques" d'autres ont
les mains dans le cambouis et subissent années après années les lubies
d'un groupe d'experts totalement déconnectés de la réalité et de
sociétés qui se livrent des guerre pour la domination du marché.

Quelques petits faits pour vous remettre les pieds sur terre:

- CSS la norme 1 (dont le chevauchement de marge est exclue) date à tout
cassé de 1999 en gros on l'a vu apparaître dans les navigateurs qui le
voulaient bien en 2000/2001.

- A l'époque en pleine "guerre des navigateurs" le pauvre développeur
web et bien dans la merde pour réussir à sortir une application web qui
ait l'obligeance de tourner sur les navigateurs du marché (netscape, IE
et peut-être Mozilla suite) tout en ressemblant à quelque chose. Si vous
aviez écrit du code à l'époque (ce qui n'est certainement pas votre cas)
eh bien, pas de chance, vous pouvez tout jeter à la poubelle !

- C'est CSS2 (en quoi 2004 ? 2005 ?) - Qui n'est toujours pas implémenté
complètement dans le navigateur que l'on ne nomme plus - qui introduit
le chevauchement de marge. Et encore je ne suis pas sûr que se soit
aussi ancien que la première mouture...

- Tout développeur Javascript qui sait un tant soit peu de quoi il parle
sait que ce n'est pas Javascript lui même qui pose problème (c'est en
effet un langage très "pur" et très joli mais seul il ne sert à rien)
mais l'interface avec le DOM qui n'a cessé de varier, qui est toujours
différente d'un navigateur à l'autre, peu ou pas documenté (parfois la
documentation comporte des contre vérité !) et parfaitement incomplète.
Ceux qui programme en Javascript "pour de vrai" savent qu'il n'existe en
réalité qu'une seule méthode : le tâtonnement empirique ! Essayer pour
savoir si ça marche, mais sur tous les navigateurs à la mode et aussi de
préférence sur tous les systèmes. Facile !

Peut-être que vous l'ignorez mais il y a des gens (des fous !) qui
tentent (parce que c'est à la mode) de développer de vraies applications
en utilisant la combinaisons HTML,CSS,Javascript / HTTP / script
serveur. Des fois même avec un éditeur WYSIWYG en ligne ! (il faut avoir
essayé pour savoir de quoi je parle) Allez donc produire du code HTML "à
la norme" avec ça... Seulement c'est la folie du "WEB 2.0" (ark ! ark !
il y en a vraiment qui n'ont rien à foutre pour trouver des conneries
pareils) et chacun veut pouvoir développer son site sans avoir à faire
le moindre effort pour comprendre quoi que ce soit.
Lorsqu'on vie tout cela s'entendre dire qu'il faut se taper la lecture
linéaire de la norme CSS 2.1 en plus de toutes les autres docs et normes
qu'il faut ingurgiter (tout en répondant au multiples problèmes
surgissants de l'utilisation de toute sorte de navigateurs et de
systèmes) cela fait penser qu'il y a vraiment des coup de pieds au cul
qui se perdent.

Pendant des années à courir après chaque mode informatique j'ai constaté
ceci : en informatique beaucoup de personne on la gueule ouverte mais
lorsqu'on veut réellement faire les chose on s'aperçoit que très peut on
ne serait-ce que essayé. C'est tocards et trompettes land. Vous venez
une fois de plus de conforter mon point de vue à ce sujet.

Je vous laisse maintenant continuer à pérorer du haut de sa chair
virtuelle en "expertise du web".
Avatar
Olivier Masson
Gerard Menvussa a écrit :

Le discours typique du petit cuistre es-informatique qui pensent que
parce qu'il se pavane sur les forums depuis quelques années il est un
expert du sujet.




Si tu veux.
Je n'ai pas lu la suite, j'ai vraiment autre chose à faire dans la vie.

PS : l'analyse de Donnie Darko que j'ai lu ne devait donc pas être de
toi, trop con pour ça.
Avatar
Yamo'
Salut,
Le 09/12/2007 14:04, Gerard Menvussa a écrit:



(marge à 0, padding à 0 les "div" devraient être collés ? Eh bi en non).
D'où ma question.

(Pour ceux qui on la flemme de le copier : http://tetraedre.org/bug.htm l)




Avec Amaya 9.52 ça s'affiche correctement mais ce n'est pas un vrai
navigateur.


Pour ce genre de test tu as aussi : http://browsershots.org/


--
Stéphane
Avatar
Laurent vilday
Gerard Menvussa a écrit :
Olivier Masson wrote:


[cut]
Donc, comme je le disais, un peu d'humilité ne te ferait pas de mal.



Le discours typique du petit cuistre es-informatique qui pensent que
parce qu'il se pavane sur les forums depuis quelques années il est un
expert du sujet.



Muahaha, venant d'un anonyme c'est tordant de rire.

Mais pendant que vous étaler vos connaissances "théoriques" d'autres ont
les mains dans le cambouis et subissent années après années les lubies
d'un groupe d'experts totalement déconnectés de la réalité et de
sociétés qui se livrent des guerre pour la domination du marché.



Non.

Tu subis le dictate d'un seul et unique intervant dans l'équation :
Microsoft. Puisqu'il refuse encore et toujours (malgrès les belles
paroles de mister Gates) de rendre son navigateur compatible avec les
documents de références (le web est trop concurrentiel avec l'OS et donc
en freinant une gestion correcte des éléments du web, Microsoft peut
continuer à vendre des licences de windows. CQFD).

Ce n'est pas les documents de références qui posent problème. C'est
l'implémentation dans les navigateurs qui sont le problème, et plus
spécifiquement dans IE6 (et son fameux Trident) qui, lui, est beaucoup
trop obsolète malgrès son implantation massive dans les foyers (IE7
n'étant en fait qu'un IE6.1, rien n'a changé).

Et puis de toute façon, les "documents" du W3C ne sont en aucune manière
des ordres mais juste des suggestions. Libre à chacun des acteurs du
marché d'implémenter ou non telle ou telle spécifité.

J'avoue il reste beaucoup à faire dans ce monde web, c'est encore très
jeune. Mais de là à devenir, comme tu viens de le faire, une petite
teigne anonyme et hargneuse contre l'ensemble des éléments
(HTML/CSS/javascript/...) et ceux qui y réfléchissent (je cite : "groupe
d'experts totalement déconnectés de la réalité") juste parce que *tu* ne
comprends pas le "margin collapse", je trouve ça excessif.

La réflexion HTML5 est en cours et publique, tu y participes ?
Le code de firefox est en cours et public, tu y participes ?
Les propositions W3C sont tellement foireuses, où sont les tiennes ?
etc.

Quelques petits faits pour vous remettre les pieds sur terre:

- CSS la norme 1 (dont le chevauchement de marge est exclue) date à tout
cassé de 1999



Non.

Tss, tss, tss, à défaut de connaitre par coeur il faudrait chercher un
peu avant d'affirmer des choses. Même pas capable d'utiliser google à
défaut du site du W3C ?
google: CSS1 W3C
<http://www.w3.org/TR/REC-CSS1>
17 décembre 1996, révision le 11 janvier 1999

<http://www.w3.org/TR/REC-CSS1#vertical-formatting>
et
<http://www.w3.org/TR/REC-CSS1#horizontal-formatting>

On y trouve, je cite :

"Unlike vertical margins, horizontal margins are not collapsed"

Donc comme tu le vois, après une lecture assidue même si ça reste
théorique, le margin collapse existe en CSS1.

- C'est CSS2 (en quoi 2004 ? 2005 ?)



Non.

Sérieusement l'anonyme, renseignes toi un minimum avant d'affirmer des
choses.
google: CSS2 W3C
<http://www.w3.org/TR/REC-CSS2/>
12 mai 1998

<http://www.w3.org/TR/REC-CSS2/box.html#collapsing-margins>

Je cite encore :

"In CSS2, horizontal margins never collapse. Vertical margins may
collapse between certain boxes:"

Donc tu le vois encore, en CSS2 le margin collapse existe de la même façon.

Alors ok je viens de passer à tes yeux d'anonyme dans la case "petit
cuistre es-informatique" comme Olivier Masson, lol je crois que lui et
moi nous en remettrons.

--
laurent
Avatar
unbewusst.sein
Olivier Masson wrote:

Quant à Javascript, j'ai rencontré un des développeurs principaux de
Prototype, qui disait que c'était un langage très puissant, bcp mieux
(souple, léger, etc.) que Java par exemple (il est également très très
bon en Java, ce jeune Monsieur doué)...



euh...
certe JS est puissant mais enfin comparer JS à Java...

--
Une Bévue
Avatar
Pierre Goiffon
Gerard Menvussa wrote:
Le discours typique du petit cuistre es-informatique qui pensent que
parce qu'il se pavane sur les forums depuis quelques années il est un
expert du sujet.

Mais pendant que vous étaler vos connaissances "théoriques" d'autres ont
les mains dans le cambouis et subissent années après années les lubies
d'un groupe d'experts totalement déconnectés de la réalité et de
sociétés qui se livrent des guerre pour la domination du marché.


(...)
Peut-être que vous l'ignorez mais il y a des gens (des fous !) qui
tentent (parce que c'est à la mode) de développer de vraies applications
en utilisant la combinaisons HTML,CSS,Javascript / HTTP / script
serveur.


(...)
Pendant des années à courir après chaque mode informatique j'ai constaté
ceci : en informatique beaucoup de personne on la gueule ouverte mais
lorsqu'on veut réellement faire les chose on s'aperçoit que très peut on
ne serait-ce que essayé. C'est tocards et trompettes land. Vous venez
une fois de plus de conforter mon point de vue à ce sujet.

Je vous laisse maintenant continuer à pérorer du haut de sa chair
virtuelle en "expertise du web".



Si cela vous plaît d'écrire des absurdités complètes sous le coup de la
colère pour vous défouler, soyez gentil d'aller le faire ailleurs.

Vous êtes un complet inconnu ici, n'avez aucun élément pour juger en
quoi que ce soit de la qualité des intervenants. Je fréquente ce forum
depuis plus de 9 ans et les principaux contributeurs sont souvent d'une
qualité rare, plusieurs sont aussi des professionnels aguéris (et je ne
vois pas en quoi ce critère pourrait bien faire changer la qualité de
leurs écrits ?!??).

Vos propos sont non seulement insultants mais parfaitement déplacés.
1 2 3 4 5