image de fond centrée dans cellule : comment faire ?

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

Must3r
Arias
Messages : 13
Inscription : 10 juil. 2006, 14:42

image de fond centrée dans cellule : comment faire ?

Message par Must3r »

Bonjour !

Je débute sous Nvu, et là je suis stoppé net... :)

J'aimerais faire une page qui ne fasse pas la totalité de la largeur de la page, avec une image en haut, une autre en bas, et un texte avec une image de fond entre les deux, pour écrire dessus. Je souhaiterais également avoir une couleur de fond sur la totalité de la page affichée, que ça soit sous forme d'image (étirée ou répétée) ou de couleur.

Je sais mettre une image centrée, mais je ne sais pas comment faire pour en mettre une autre, en fond, de façon à écrire par dessus.

En fait la page que je voudrais faire se rapprche de la home de MacGeneration...

Comment est-ce possible sous Nvu d'arriver à ce résultat ? Je suppose qu'en mettant une image de fond dans une cellule c'est possible, mais impossible d'arriver à faire ça... :?

Merci d'avance !

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Bonjour
A priori, le site ne requiert pas l'utilisation d'un tableau, puisqu'il ne s'agit pas de présenter des données structurées par lignes et colonnes. Il n'est question que de mise en page, me semble-t-il.
Oublions donc cette idée de cellule.

Pour la couleur de fond de la page, il suffit d'attribuer une couleur au bloc <body> dans l'éditeur CSS (ou mieux encore, dans KaZcadeS).
Pour le reste, la structure de la page semble montrer l'existence de trois blocs clairement identifiés: le haut-de-page, le corps de la page et le pied-de-page.

Ce qui nous donnerait une structure du type suivant (les couleurs et les noms des images sont, bien sûr, à changer):

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title></title>
  <style type="text/css">
body {
  background-color: #ffcc33;
}
#conteneur {
  border: 1px solid blue;
  width: 80%;
  margin-left: 10%;
}
#corps {
  border: 1px solid red;
  background-image: url(images/fond.jpg);
}
  </style>
</head>
<body>
<div id="conteneur">
<div id="haut"><img style="width: 34px; height: 34px;" alt="imageHaut" src="images/imageHaut.gif"></div>

<div id="corps">Bla Bla Bla</div>

<div id="pied"><img style="width: 34px; height: 34px;" alt="imageBas" src="images/imageBas.gif"></div>
</div>
</body>
</html>
Eventuellement, l'explication détaillée de la méthode qui permet d'arriver à cela (et même à un peu plus) se trouve à l'adresse http://info.sio2.be/NVU/3
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Must3r
Arias
Messages : 13
Inscription : 10 juil. 2006, 14:42

Message par Must3r »

Ouah, à quelques choses près c'est exactement ça, merci beaucoup !

J'ai modifié de façon à ce que tout aille bien, mais j'ai encore un petit souci : je suis en 1280×1024, et tout est bien centré, mais quand je teste en 1024×768, l'ensemble est déporté vers la droite, j'ai essayé de voir dans le code ce qui pouvait faire ça, mais je n'ai pas trouvé... :?




Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

A priori, si les dimensions sont bien:
80% pour le conteneur
10% pour la marge gauche (et donc 10% restants pour la marge droite)
la page doit rester centrée.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Must3r
Arias
Messages : 13
Inscription : 10 juil. 2006, 14:42

Message par Must3r »

Ouais, c'est bizarre, j'ai repris ton code "propre", parce que j'avais ajouté des trucs qui auraient pu alourdir le mien, mais c'est pareil, ça ne change rien...

Je suppose que c'est la largeur de mes images de haut et de bas, ainsi que celle du milieu (image de fond) qui fait que ça ne marche pas comme àa devrait... :?

Je te donne ces mesures, si ça peut faire avancer la chose : 781×153 pour celle du haut, 781×10 pour celle du milieu, et 781×34 pour celle du bas.

Mais le 80/20 (enfin 80/10-10) est bien là, j'ai regardé comment ça faisait si je trouchais un peu, mais ça ne change rien :(



Sinon je me posais également la question de savoir comment faire pour que cette image de fond ne soit pas répétée, j'ai vu la réponse sur le forum mais impossible de remettre la main dessus... :oops:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

mais quand je teste en 1024×768, l'ensemble est déporté vers la droite
Et il est probable que si tu testes en 800x600, ça sera pire.
Il faudrait ton code, les images sont trés larges, <800, donc elle devraient pouvoir "passer" même en 800x600, mais tout dépend comment elles sont positionnées. C'est quoi comme images, est-ce qu'elle peuvent être un peu déformées sans dommage, ça dépend de ce qu'elles représentent.
Il est évident que au moins l'image sur laquelle tu veux écrire un texte doit être en fond css du bloc dans lequel tu vas écrire. Tu n'as rien contre les css?
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Must3r
Arias
Messages : 13
Inscription : 10 juil. 2006, 14:42

Message par Must3r »

Salut !

Ouais, je viens de tester en 800×600, et évidemment, le « cadre » qui devrait rentrer est bien trop à droite, alors qu'à gauche il subsiste un espace vide... :?

Les images ne sont pas vraiment faites pour être déformées, enfin voici la page en question, histoire de voir in situ, et aussi le code ;)

Je n'ai rien contre le css, à part que je n'y connais absolument rien, mais tant que c'est faisable et universel, ça me va ! :)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

[edit]Désolé, soucis avec ma connexion. Ma réponse est partie trop tard.[/edit]
La taille des images ne semble pas pouvoir faire problème.
Y aurait-il moyen de voir le code ou une adresse où se trouverait une page?

Pour éviter la répétition des images de fond:
- boîte de dialogue de l'éditeur CSS ou (mieux) de KaZcadeS
- onglet Fond
- Répétition: "Pas de répétition"
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Must3r
Arias
Messages : 13
Inscription : 10 juil. 2006, 14:42

Message par Must3r »

Pour la répétition : merci, ça marche ! :wink:

Et pour le reste, j'ai posté le lien juste au dessus, je n'ai qu'une seule page :)
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

La solution que je proposais au départ ne peut pas fonctionner, puisque c'est l'image supérieure qui dicte la largeur du "corps". On ne peut donc travailler en %
Je n'ai plus, sous la main, la méthode qui permet de centrer un bloc de dimension définie pour toute résolution; mais elle a déjà été précisée ici. Dès que je la retrouve... ou si un autre aimable habitué s'en souvenait avant moi.
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Do-IT
Iguane
Messages : 537
Inscription : 03 juil. 2005, 09:46

Message par Do-IT »

Ymai a écrit :la méthode qui permet de centrer un bloc de dimension définie pour toute résolution
Pas lu le sujet mais tu parles peut-être de marge auto à gauche et à droite pour ton div.
Redhat, CentOs, Mandriva, Ubuntu au boulot. Ubuntu à la maison. Vista et Xp grâce à la vente liée.
Soutenir KompoZer
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

Ca marche avec un div (un bloc en général) en position non définie (=dans le flux courant) :
donc
marge gauche : auto,
marge droite : auto

Le choix n'est pas préétabli dans NVU (Editeur css ou Styles internes/Propr de la boîte), faut taper à la main "auto".
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Et ça devrait fonctionner dans IE?

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="fr-be">
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title></title>
  <style type="text/css">
body {
background-color: #ffcc33;
}
#conteneur {
margin-left:auto;
margin-right: auto;
border: 1px solid blue;
width: 750px;
}
#corps {
border: 1px solid red;
background-image: url(images/fond.jpg);
}
  </style>
</head>
<body>
<div id="conteneur">
<div id="haut"><img style="width: 34px; height: 34px;"
 alt="imageHaut" src="images/imageHaut.gif"></div>
<div id="corps">Bla Bla Bla</div>
<div id="pied"><img style="width: 34px; height: 34px;"
 alt="imageBas" src="images/imageBas.gif"></div>
</div>
</body>
</html>
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

Ah! Jusqu'à IE5.5 inclus, c'est vrai... Mais en général, mes préoccupations de compatibilité tous systèmes s'arrêtent à IE6, je teste jamais en-dessous, à tort ou à raison (taux de pénétration IE<6? mmmm....)
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Do-IT
Iguane
Messages : 537
Inscription : 03 juil. 2005, 09:46

Message par Do-IT »

Code : Tout sélectionner

body {
text-align: center;
background-color: #ffcc33;
}
#conteneur {
margin-left:auto;
margin-right: auto;
border: 1px solid blue;
width: 750px;
text-align: left;
}
C'est pourri mais bon, ... (merci google)
Redhat, CentOs, Mandriva, Ubuntu au boulot. Ubuntu à la maison. Vista et Xp grâce à la vente liée.
Soutenir KompoZer
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités