28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

Comme c'est mon premier message je me présente briévement :

Je m'appel Vincent, j'ai 29ans et je me suis mis au CSS/HTML depuis Juin environ afin de pouvoir réaliser mes propres template pour Joomla. J'ai déjà réaliser avec succés 5 templates en partie grace à la lecture de ce forum mais aussi du site "pompage" et un tout petit peu du forum joomlafrance.

Je suis face à un problème que je n'arrive pas à resoudre seul (j'ai pourtant bien cherché !)
Je me lance dans mon premier template à largeur variable et je rencontre un souci avec mes "coins ronds".
En faite pour simplifier dans le header et le footer je souhaite mettre 4 images pour donner l'illustion de coins arrondis au template, je fait ça grace à des div auxquelles j'affecte des images de fonds. Le problèmes c'est que la div centrale ne se positionne pas correctement et renvoi la div de droite à la ligne... pas facile à expliquer, voila mon code :

html (simplifié) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title></title>
  <meta content="Quanta Plus" name="GENERATOR">
   <link href="css.css" type="text/css" rel="stylesheet">
</head>
<body>
<table id="master">
  <tbody>
    <tr>
      <td id="main">Main</td>
    </tr>
    <tr>
      <td id="footer">
      <div id="l_corner"></div>
      <div id="center">Footer</div>
      <div id="r_corner"></div>
      </td>
    </tr>
  </tbody>
</table>
</body>
</html>

Et Css dont j'ai mis les images de fond en commentaire et remplacer par des couleurs au cas au quelqu'un veuille tester :

* {
	padding:0;
	margin:0;
}
#master {
	 text-align:center;
	 width:100%;
	 border:1px solid black;
	 }	
#main {
	 width:100%;
	 height:300;
	 border:1px solid black;
}
#footer { 
	 width:100%;
	 border:1px solid black;
}
#l_corner {
	 float:left;
	 height:45px;
	 width:11px;
	 background-color:blue;
	 /*background: url(./l_corner.png) no-repeat;*/
}
#center {
	 background-color:red;
	 height:45;
}
#r_corner {
	 float:right;
	 height:45px;
	 width:11px;
	 background-color:blue;
	 /*background: url(./r_corner.png) no-repeat;*/
}


Voila, l'exemple est trés trés simplifier car mon tableau principale est beaucoup plus complexe en réalité ( c'est pourquoi je ne peut pas mettre tout simplement une cellule par image...)
J'éspére reussir à me faire comprendre ?

Merci d'avance
Vincent
Modifié par Cartman (31 Oct 2006 - 10:19)
Petite precision : en faite, pour faire simple je voudrai que les div l_corner, center et r_corner soit sur la même ligne et que center ne recouvre pas tout (ce qui arrive si je mets un width:100%)
Cartman a écrit :
* {
	padding:0;
	margin:0;
}
#master {
	 text-align:center;
	 width:100%;
	 border:1px solid black;
	 }	
#main {
	 width:100%;
	 height:300;
	 border:1px solid black;
}
#footer { 
	 width:100%;
	 border:1px solid black;
}
#l_corner {
	 float:left;
	 height:45px;
	 width:11px;
	 background-color:blue;
	 /*background: url(./l_corner.png) no-repeat;*/
}
#center {
	 background-color:red;
	 height:45;
}
#r_corner {
	 float:right;
	 height:45px;
	 width:11px;
	 background-color:blue;
	 /*background: url(./r_corner.png) no-repeat;*/
}
Bonjour,

Tout d'abord, la première chose à faire est d'utiliser les outils du W3C pour valider ton code. Par exemple, je vois que pour le sélecteur #center, tu appliques height:45;, ce qui n'est pas autorisé en CSS (il faut spécifier une unité).

Je vois aussi qu'à plusieurs endroits tu spécifies une largeur de 100% et une bordure de 1px. C'est malheureusement une source de problèmes par rapport au modèle de boîtes. Jette un coup d'oeil ici pour plus d'informations :
http://forum.alsacreations.com/faq/#item39

Bon courage !
Modifié par Eldebaran (31 Oct 2006 - 10:37)
Sopo > je n'ai pas trouvé cette faq, je vais l'etudier, mais je pense que le souci ne vient pas des coins arrondie (ca j'y arrive bien avec des templates à largeur fixe) c'est la largeur variable, je ne sais pas comment gérer la boite centrale !? Mais je vais potasser cette faq !

Eldebaran > Ce ne sont que quelques lignes trés vite faites pour illustrer mon problème ! Içi j'ai mis des bordures de 1px juste pour bien visualiser les cellules... Penses-tu qu'une de tes remarques affecte mon problème ? Possible mais je ne voit pas ou ??
Modifié par Cartman (31 Oct 2006 - 10:48)
Cartman a écrit :
Penses-tu qu'une de tes remarques affecte mon problème ? Possible mais je ne voit pas ou ??
Non, ce n'est visiblement pas la cause de ton problème.

Il est normal que #r_corner se retrouve en dessous étant donné que #r_center utilise le positionnement par défaut et donc prend toute la largeur disponible.

Je ne suis pas sûr que l'utilisation de float soit très adaptée à ton problème. Je te conseille de te tourner vers les solutions proposées dans la faq, qui ont été spécialement conçues pour ce besoin particulier !
Salut,

Je t'aurais bien proposé de t'inspirer de mon propre travail

http://www.clb56.fr/test_css/test_roundcorner/

Mais ça risque d'être compliqué tant tu pars d'un document fantomatique. Pas de contenu (même factice), pas de balisage pertinent pour décrire ce contenu et structurer le document.

On ne peut pas avancer d'1 millimètre dans la maitrise des css en s'y prenant de cette manière.

Les css sont faites pour partir d'un code html réel, sinon c'est la divite assurée.
Modifié par clb56 (31 Oct 2006 - 13:09)
Merci cclb56 je vais étudier la chose !

Le souci c'est evidemment qu'il s'agit içi d'un template pour un CMS, le propre du CMS c'est qu'il doit s'adapter à n'importe quel contenu ! Difficile dans ce cas de donner un exemple concret. Le veritable contenu du footer sera un bout de code php donc pas franchement plus parlant que mon exemple simplifié...

Je m'en suis toujours bien sorti jusqu'a présent en me documentant le plus possible. Je me rend compte en faite que pour me documenter correctement dans ce cas particulier je ne cherchais pas le bon terme ! Dans la petite sphére de joomla ce que l'on nomme "largeur variable" semble en faite se nommer réellement "fluide". Je risque d'avoir maintenant beaucoup plus de chance dans mes recherches ! (sans compter les différents exemples donnés dans ce topic ! )

Je commence à y voir un peu plus clair

Encore merci.
Modifié par Cartman (31 Oct 2006 - 14:03)