28173 sujets

CSS et mise en forme, CSS3

Bonjour,

J'ai suivi à la lettre
les conseils de Raphael et de l'article pompage auquel il fait référence pour essayer d'appliquer une hauteur=100 % à ma page.

Seul Opéra réagit comme je l'attends. IE, pas terrible mais FF ne fait pas mieux. Je cherche un moment pour comprendre pourquoi FF est devenu si méchant ...

En fait, Dotclear me colle un prologue xml (le fameux) ...sûrement parce que je ne suis pas en UTF8.

J'en déduit que mon FF se prend pour IE ...

Enfin, c'est ce que j'ai compris sur le billet de Raphael.

Votre avis sur ce type de problème ?

Smiley decu
Modifié par Vero (17 Apr 2005 - 15:01)
Je n'ai pas trop compris le rapport entre le prologue et l'encodage des caractères, mais à mon avis, le prologue est inutile en XHTML traité en tant que "text/html" que ce soit encodé avec UTF-8, UTF-16 ou ISO-8859-1, mais là tu as semé un doute dans mon esprit Smiley murf

Tu utilises quelle DTD ?
Modifié par Stephan (16 Apr 2005 - 05:00)
Raphael a écrit :

De même, il est obligatoire si l'encodage du document est autre que UTF-8 ou UTF-16.

J'ajouterais : en XHTML traité en tant que "application/xhtml+xml"

Parce que si aucun jeu de caractères n'est spécifié, une application XML doit supposer qu'il s'agit du jeu de caractères Unicode, encodé en UTF-8 ou en UTF-16.
Voilà l'en-tête générée par Dotclear, sachant que dans le template, le prologue xml n'apparaît pas.

Etant donné que je n'ai pas passé le blog en utf8, j'ai supposé que le prologue xml était rajouté dans ce cas, ce qui va dans le sens des propos de Raphael :

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"
lang="fr">
<head>
<meta http-equiv="Content-Type"
	content="text/html; charset=ISO-8859-1" />
<meta name="MSSmartTagsPreventParsing" content="TRUE" />
<link rel="section" href="/dotclear/index.php?General" title="General" />
<link rel="archive" href="/dotclear/index.php?2005/04" title="avril 2005" />
<link rel="chapter" href="/dotclear/index.php?2005/04/12/3-billet" title="Le titre" />
<link rel="alternate" type="application/rss+xml" title="RSS" href="/dotclear/rss.php" />
<link rel="alternate" type="application/xml" title="Atom" href="/dotclear/atom.php" />
<meta name="DC.title" content="Le blog" />
<title>
le titre</title>
<link rel="stylesheet" type="text/css" href="/dotclear/themes/blog/style.css" media="screen" />
</head>


Bon, donc je suis traitée comment dans ce cas ?

Smiley biggrin
Modifié par Vero (16 Apr 2005 - 08:26)
Administrateur
Salut Vero,

En fait, je n'ai pas compris ce que tu voulais obtenir au final.
Si tu veux simplement obtenir un élément de 100% de haut, il faut spécifier une hauteur de 100% aux éléments <html> et <body>. Cela suffit.

Si ce n'est pas ça, il faudrait donner plus d'explications, voire une illustration Smiley cligne
Oui, je comprends que ce ne soit pas très clair ...

Je n'ai pas réussi à obtenir une hauteur = 100 %

Pourtant, j'ai appliqué tes conseils ainsi que ceux de pompage

Si j'applique 100 % à html et body, à body et à mon conteneur positionné en relatif, seul IE le prend en compte. (j'ai testé au fur et à mesure de l'application des propriétés)

Si j'applique la propriété min-height avec le hack, Opera l'interprete, mais FF ne veut rien savoir !

Donc, j'essaie de comprendre :

Si cela vient du prologue xml, si j'ai besoin de ce dernier, si je dois passer en UTF8 ou si je me passe de hauteur 100% !



html, body {
	height:100 %;
}

body {
	font-family : "Trebuchet MS", Verdana, "Lucida Grande", Tahoma, Helvetica, Sans-Serif;
	font-size : 1em;
	color : #333300;
	text-align: center;
	background : #FFFFCC url(images/fond_body.png) repeat;
	margin: 0;
	padding: 0;
	height: 100%;
}

#page {
	text-align: left;
	background : #669933 url(images/fond.png) repeat;
	position: relative;
	left: 0;
	top: 0;
	width: 90%;
	height:100%;
	padding : 0;
	border: 1px solid #333300;
	margin: 0 auto 0;
 }


Mon conteneur page englobe tous les autres ...

Je viens de refaire un test : cela ne marche qu'en position absolue ...

Il y a peut-être quelque chose qui ne va pas dans mon code ...
Je ne le vois pas ...
Administrateur
En fait, rien ne t'oblige à utiliser un encodage utf8, donc rien ne t'oblige à employer le prologue. Essaye sans.
Donc, tu ne vois pas d'erreurs dans ce code ...

Le problème est que le prologue xml est généré automatiquement et n'est pas dans le template !

Au fait, nouveau mystère, le prologue xml n'apparait pas dans le source générée sous IE, il n'apparait que sous FF et Opera ?

Et ce n'est qu'en local à priori, puisque les pages du forum, par exemple, ont un prologue xml que je vois sur les 3 navigateurs.

? Smiley eek
Modifié par Vero (16 Apr 2005 - 18:33)
J'ai réussi à supprimer le prologue xml : passage de la base dotclear en utf8 et suppression d'une condition de la fonction de déclaration concernée qui ne se trouve pas dans le template mais dans l'index de la racine.

Au passage, j'ai compris pourquoi il n'était pas affiché sur IE, ce dernier ne devant pas le reconnaître. Dotclear fait un test en fait.

Mais il l'incorpore si le navigateur le prend en compte, même pour un encodage en UTF8.

J'ai eu un autre problème avec cette déclaration : les liens sur une image dans un titre sont inactifs !

En pratique, ce prologue est effectivement problématique !

Car si il est nécessaire selon l'encodage et compte tenu que l'UTF8 n'est pas l'encodage par défaut sur la plupart des outils actuels, il n'est pas évident pour le commun des mortels de mettre le doigt sur le problème !

D'autant qu'il faut faire attention, en plus, à l'encodage lors de l'enregistrement des fichiers par l'éditeur ...

Smiley sweatdrop
Bump! Petit up de ce sujet.

J'ai également repéré le coup du prologue xml "un coup je suis là, un coup je suis pas là" avec mon blog dotclear. Je m'inquiétais de l'effet sur IE, mais si Dotclear teste le navigateur pour le mettre ou pas, ça devrait ne pas poser de problème.
Au passage, le prologue xml n'est pas ajouté pour Konqueror non plus, ce qui me semble un peu bizarre, et montre peut-être les limites de ce système de test et d'ajout automatique (qu'en tant que webmaster je n'apprécie pas trop... j'aime savoir exactement ce que j'ai dans mon code).

Ma question est la suivante :
Laurent Denis, sur son site, déconseille l'utilisation du prologue xml pour du XHTML 1.0 servi en text/html (ce qui est mon cas). La principale raison avancée est le bug d'IE qui fait passer la page en mode de rendu propriétaire (ou quircks) s'il rencontre un prologue xml plutôt qu'un doctype en tout début de document.
Bon, IE n'aura pas de prologue xml, donc la question est réglée.

Maintenant, existe-t-il d'autres raisons pour ne pas utiliser ce prologue pour un docuement de type text/html ? Ou bien peut-on laisser Dotclear rajouter un prologue quand ça lui chante ?

Edit: Encore Laurent Denis, qui fais un point sur le sujet :
http://forum.alsacreations.com/topic.php?fid=2&tid=6044&s=prologue+xml+fantome

P-S : pour le problème exposé dans ce sujet, je sais que ça date un peu mais il me semble que [i]html, body {height: 100 %;} ne fonctionnera pas, pour cause d'espace entre la valeur et son unité.[/i]
Modifié par mpop (24 Mar 2006 - 17:07)