28172 sujets

CSS et mise en forme, CSS3

Pages :
(reprise du message précédent)

Bonsoir à toutes et à tous,

voici comment centrer une image en JavaScript ! C'est très simple et cela fonctionne partout !
<html>
<head>
<title>test</title>
<script type="text/javascript">
function centrage(node)
{
	node.style.marginTop  = parseInt(node.parentNode.clientHeight/2) - parseInt(node.clientHeight/2) + "px";
	node.style.marginLeft = parseInt(node.parentNode.clientWidth/2)  - parseInt(node.clientWidth/2)  + "px";
}
</script>
<style type="text/css">
* {
			margin				: 0;
			border				: none;
			padding				: 0;
}

body {
			background-color	: maroon;
}

#boite1 {
			background-color	: yellow;

			position			: absolute;
			top					: 50px;
			left				: 100px;

			width				: 400px;
			height				: 200px;
}

#boite2 {
			background-color	: blue;

			position			: absolute;
			top					: 100px;
			right				: 200px;

			width				: 200px;
			height				: 500px;
}

#boite1 img {
			width				: 100px;
			height				: 85px;
}

#boite2 img {
			width				: 100px;
			height				: 85px;
}
</style>

</head>

<body>
<div id="boite1">
	<img onload="centrage(this);" src="http://dc27.4shared.com/download/21869065/8d83e5f2/willkommen_bouquet_fleurs_jaune_et_rouge_texte.gif" alt="Willkommen !" />
</div>

<div id="boite2">
	<img onload="centrage(this);" src="http://dc27.4shared.com/download/21869065/8d83e5f2/willkommen_bouquet_fleurs_jaune_et_rouge_texte.gif" alt="Willkommen !" />
</div>
</body>
</html>


@+
jb_gfx a écrit :
L'autre solution (si on doit être compatible avec IE7)

Et c'est typiquement le genre de cas où on peut traiter IE7 en dégradation gracieuse (pas de centrage vertical pour lui). Smiley smile

Fox-177 a écrit :
Lequel me conseillerais

<!DOCTYPE html>

Fox-177 a écrit :
Doctype : <!DOCTYPE html> (pour le HTML 5 en utilisant du CSS3, mais il va falloir potasser la sémantique de html5 et le CSS3 !!!)

Ou bien on place juste le Doctype en question au tout début du code HTML, et on laisse tomber l'étude de la sémantique HTML5 et des subtilités de CSS3. Je conteste formellement le «il va falloir potasser...», ça n'a pas ou peu de rapport. Smiley smile
(Dans l'absolu, rien n'interdit d'apprendre HTML5 et CSS3, bien sûr.)

Fox-177 a écrit :
Pour le doc type j'ai vu dans mes recherche gogole qu'il fallait une url propre a chaque langage

Dans la théorie, oui. En pratique, les navigateurs s'en fichent pas mal.
En HTML5, la norme propose une solution pratique: un doctype simple qui s'écrit <!DOCTYPE html>, et dont le seul et unique but est de dire aux navigateurs d'afficher la page en mode "Standard" (en appliquant les standards du mieux qu'ils le peuvent) et pas en mode "Quirks" (à l'ancienne, en imitant le comportement des navigateurs d'il y a 11 ans).
lddsoft a écrit :

Doctype : <!DOCTYPE html> (pour le HTML 5 en utilisant du CSS3, mais il va falloir potasser la sémantique de html5 et le CSS3 !!!)


Le HTML étant largement retro-compatible, du HTML 4 c'est du HTML 5 valide dans 99.9% des cas. En plus il me semble que, malgré le logo contradictoire, le W3C avait annoncé qu'on doit maintenant parler de HTML tout court et non plus de HTML5 (on remarque d'ailleurs qu'il n'y a plus de numéro de version dans le Doctype).

Et pour ce qui est du CSS3 : aucun rapport avec HTML5. Si on veut faire du HTML5 en n'utilisant que des propriétés CSS 1.0 on peut très bien le faire (voir même du HTML sans aucun style CSS). C'est bien le principe des CSS de séparer le contenu de la mise en forme.

fvsch a écrit :

Et c'est typiquement le genre de cas où on peut traiter IE7 en dégradation gracieuse (pas de centrage vertical pour lui). Smiley smile


Absolument !
Modifié par jb_gfx (04 Jul 2011 - 15:21)
jb_gfx a écrit :
le W3C avait annoncé qu'on doit maintenant parler de HTML tout court et non plus de HTML5

Le W3C n'a rien annoncé de tel.
Modifié par fvsch (04 Jul 2011 - 16:34)
fvsch a écrit :
Le W3C n'a rien annoncé de tel.


Ah oui, c'est sur le site du WHATWG qu'ils parlent de ça.
Modifié par jb_gfx (04 Jul 2011 - 19:36)
Hello,
Je vous remercie d'avoir porté attention a mon post.
Je pense que je vais opter pour la solution javascript.
J'ai réécris une version de mon code css en suivant tout vos conseils et en essayant de corriger les erreur que vous m'aviez signalé et tout fonctionne donc pour le mieux.
Merci pour toute vos réponses. Smiley ravi
Fox-177 a écrit :
Je pense que je vais opter pour la solution javascript.

Pourquoi, le CSS 2.1 te fait peur?
JavaScript, c'est bien. Mais pour simuler des choses disponibles nativement en CSS et implémentées dans tous les navigateurs, quand même...
Modifié par fvsch (05 Jul 2011 - 13:35)
Pages :