28173 sujets

CSS et mise en forme, CSS3

Bonjour à tous et à toutes.

Je suis entrain de coder mon site et je suis au niveau du design avec le css et j'ai des petits problèmes d'affichage. Voyez plutôt:
internet explorer 7 : http://traduc-age.leobaillard.org/perso/images/ie7-2.JPG
Firefox: http://traduc-age.leobaillard.org/perso/images/firefox1.JPG
Voir par vous meme les problèmes : http://traduc-age.leobaillard.org/test_site/news-skin/index-v5.php

Je ne parle pas d'ie 6 ou autre parce que c'est l'horreur.

Donc je fais appel à vous, les membres de ce site pour me venir en aide pour m'aider à corriger mes problèmes. J'ai lu tous les tutoriaux sur le html, css et php de m@teo et ceux des autres zeros mais je n'arrive pas à corriger mes erreurs.

Je joins les codes css et html+php de mes pages.
page index-v5.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" media="screen" type="text/css" title="Skin vert-bleu-gris" href="skin-v5.css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Traduc-Age  --  Accueil</title>
<style type="text/css">
<!--
.Style3 {
        font-size: 100px;
        font-weight: bold;
        font-style: italic;
        color: #009900;
        font-family: Georgia, "Times New Roman", Times, serif, "Arial Narrow", "Arial Black", Arial, "Bookman Old Style", Sylfaen;
}
.Style10 {font-size: 20px; }
-->
</style>
</head>

<body>
<div id="banniere" align="center">

</div>

<div id="barre" align="center">
    <?php
include('../include/barre_mp_pseudo.php');
?>
</div>

<div id="menu">
<?php
if(!empty($_SESSION['pseudo']))
{
        $pseudo = $_SESSION['pseudo'];
        include('menu_2_texte_membre.php');
}
else
{
        include('menu_2_texte.html');
}
?>
</div>

<div id="corps" align="center">
    <p>Les news de Traduc-Age</p>
<?php
include('../include/fonc.inc.php');
include('../include/conect.inc.php');
//Connection a la base de donnée
$base = mysql_connect ($serveur_mysql, $login_mysql, $pass_mysql);
mysql_select_db ('traduc-age', $base);
//Partie 1 pagination
if( isset($_GET['page']) && is_numeric($_GET['page']))
{
          $page = $_GET['page'];
}
else
{
          $page = 1;
}
/* Nombre d'info par page */
$pagination = 5;
/* Numéro du 1er enregistrement à lire */
$limit_start = ($page - 1) * $pagination;

/* Préparation de la requête */
$sql = "SELECT * FROM news LIMIT $limit_start, $pagination";
// Fin partie 1 de la pagination
$reponse = mysql_query($sql) or die(mysql_error());
echo '<p><table width="430" border="1"></p>';
while ($donnees = mysql_fetch_array($reponse) )
{
?>
  </p>
  </p>
    <tr>
    <td width="90"><div align="center"><strong><?php echo $donnees['nom']; ?></strong></div></td>
  </tr>
  <tr>
    <td><div align="left"><?php echo $donnees['news']; ?></div></td>
  </tr>
 
 
  <div align="center">
    <?php
}
/* Nb d'enregistrement total */
$nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM news');
$nb_total = mysql_fetch_array($nb_total);
$nb_total = $nb_total['nb_total'];
/* Pagination */
$nb_pages  = ceil($nb_total / $pagination);

echo '[ Page :';
/* Boucle sur les pages */
for ($i = 1 ; $i <= $nb_pages ; $i++) {
  if ($i == $page )
    echo " $i";
  else
    echo " <a href=\"?page=$i\">$i</a> ";
}
echo ' ]';
?>
</div>
  <p>
    <?php
mysql_close(); // Déconnexion de MySQL
?>
    </table>
    <?php
echo '[ Page :';
/* Boucle sur les pages */
for ($i = 1 ; $i <= $nb_pages ; $i++) {
  if ($i == $page )
    echo " $i";
  else
    echo " <a href=\"?page=$i\">$i</a> ";
}
echo ' ]';
?>
</p>
  <p>a</p>
  <p>aa</p>
  <p>a</p>
  <p>aaa</p>
  <p>aa</p>
  <p>aa</p>
  <p>aa</p>
  <p>a</p>
  <p>a</p>
  <p>aa</p>
  <p>aaa  </p>
  <p>a</p>
  <p>aa</p>
  <p>aaa</p>
  <p>&nbsp;</p>
  <p>aa</p>
  <p>&nbsp;</p>
  <p>aa</p>
  <p>a</p>
  <p>a</p>
</div>
<div id="pied">
<?php
include('menu_3_texte.html');
?>
</div>

</body>
</html>


Le code css:
body
{
   width: 900px;
   margin: auto; /* Pour centrer notre page */
   margin-top: 10px; /* Pour ?viter de coller avec le haut de la fen?tre du navigateur. Essayez d'enlever pour voir ! */
   margin-bottom: 10px;    /* Idem pour le bas du navigateur */
   background-color:#999999;
}

#banniere                                                                                     /* Banni?re */
{
        width:900px;                                                /* Largeur de la banni?re */
        height:200px;                                    /* Longueur de la banniere */
        background:url(v5/banniere.jpg);                                                        /* Affichage de l'image */
}

#barre                /* Barre */
{
        width:900px;                                                /* Largeur de la banni?re */
        height:28px;                                                /* Longueur de la banniere */
        background:url(v5/barre.jpg);                        /* Affichage de la banniere */
}

#menu                                             /* Barre */
{
        width:200px;                                                /* Largeur de la barre */
        height:372px;                                    /* Longueur de la barre */
        background:url(v5/menu.jpg) repeat-y;                        /* Affichage de la barre */
        position:relative;
        float:left;
        text-align:center;
}

        #menu_1
        {
                margin-top:70px;
        }
        #menu_2
        {
                margin-top:17px;
        }
        #menu_3
        {
                margin-top:18px;
        }
        #menu_4
        {
                margin-top:18px;
        }
        #menu_5
        {
                margin-top:20px;
        }
        #menu_6
        {
                margin-top:18px;
        }
        #menu_7
        {
                margin-top:19px;
        }
       

#corps                                                                                                                  /* Barre */
{
        width:700px;                                                /* Largeur de la banni?re */
        height:372px;                                    /* Longueur de la banniere */
        background:url(v5/corps.jpg) repeat-y;            /* Affichage de l'image */
        margin-left:200px;
}

#pied
{
        width: 900px;
        height: 28px;
        background:url(v5/pied.jpg);
}

a:link
  {color: #000000; }
a:visited
  { color: #FFFFFF; }
a:hover
  { color: #666666;  }
a:active
  { color: #CCCCCC;  }
 
.Style6 {
        color: #FFFFFF;
        font-weight: bold;
}

.Style4{font-size:20px;}


Le code html de mon menu:
  <p> </p><div id="menu_1" > <a title= "Aller à la page d'accueil" href="#">Accueil</a> </div> <p></p>
  <p> </p><div id="menu_2" > <a title= "S'inscrire sur le site" href= "#" >Inscription</a> </div> <p></p>
  <p> </p><div id="menu_3" > <a title= "Se connecter" href="#">Connexion</a> </div> <p></p>
  <p> </p><div id="menu_4" > <a href= "#" >T&eacute;l&eacute;chargements</a> </div> <p></p>
  <p> </p><div id="menu_5" > <a href= "#" >Forum</a> </div> <p></p>
  <p> </p><div id="menu_6" > <a title= "test" href="#" >Livre d'or</a> </div> <p></p>
  <p> </p><div id="menu_7" > <a title= "Contacter le webmaster" href="#" >Contact</a> </div> <p></p>


Donc j'ai cherché à arranger tous les problèmes d'affichage mais en vain.
J'aimerai que quelqu'un m'aide pour corriger le bug d'affichage pour firefox (voir screen), que le corps (partie droite) s'allonge automatiquement lorsque le texte dépasse la taille du corps.

Merci d'avance et bonne continuation à vous. Smiley biggrin
Modifié par Age (03 Jul 2007 - 18:54)
Je pense que ton problème résulte du comportement de IE concernant les marges et bordures.
Tu peux initialisé le tout en mettant dans ta feuille de style:

div { border:0; padding:0; margin:0; }

ou alors utiliser le selecteur universel

* { border:0; padding:0; margin:0; }
Bonjour et merci pour ta réponse.
En effet, j'ai réussi à arranger beaucoup de choses mais un problème est arrivé
10 de perdu, 1 de retrouvé (je sais, normalement c'est le contraire Smiley smile )

Donc voici mon nouveau code css:
/*
Feuille css par defaut
*/
/*Style de la page en général*/
body
{
font-family: Georgia, "Times New Roman", Times, serif, "Arial Narrow", "Arial Black", Arial, "Bookman Old Style", Sylfaen;
font-size : 12px;
background-color:#999999;
width:900px;
margin:auto;
margin-top: 10px;
margin-bottom: 10px;
}


/*Titres,paragraphe,puces.....*/
p
{
font-size : 100%;
text-indent : 30px;
text-align : justify;
overflow : auto;
overflow : visible;
}

h1, caption
{
font-size : xx-large;
text-align : center;
}


h3
{
margin-bottom : 0;
padding-bottom : 0;
padding-top : 1.5em;
}


h4
{
margin : 0;
font-size : 1.2em;
}


h5
{
margin-top : -5px;
font-size : 1em;
font-weight : normal;
}


a
{
color: #000000;
text-decoration : none;
}


a:hover {
text-decoration : underline;
}



img
{
border-style : none;
}


table
{
border : 1px dashed;
border-collapse : collapse;
margin : 20px;
padding : 5px;
text-align : center;
}


td
{
margin : 5px;
padding : 5px;
border : 1px dashed;
}


th
{
margin : 5px;
padding : 5px;
border : 1px dashed;
font-size : 1.5em;
}



/*class et id */
.piste
{
list-style-type: decimal;
padding-top: 60px;
}

.source
{
margin: 2em 0em 6em;
font-size: 0.8em;
font-family: arial, serif;
}

.titre_news
{
margin: 0.5em;
background-color: black;
}

.titre_news:before
{
content: url("images/divers/LP.jpg");
}

.element_menu
{
border-width: 1px;
border-color: black;
margin-bottom: 10px;

}
.menu_lp
{
padding:0px;
}

.album
{
width: 100px;
padding: 0px;
margin: 0px;
margin-right: 10px;
float: left;
}

.clip
{
width: 200px;
padding: 0px;
margin: 0px;

}

.plus
{
margin-left:2em;
}

.divers
{
width: 100px;
margin: 100px;
}


.tv li
{
list-style-type: none;
}

.img_news
{
float: right;
width: 200px;
margin-left: 5px;
margin-right: 5px;
}

.tableau_album
{
font-size: 1.3em;
}

.tableau_clip
{
font-size:1.15em;
}

.tableau_images
{
font-size: 12px;
text-decoration: none;
font-weight: normal;
white-space:nowrap;
}

.tableau_reanimation
{
text-align : left;
}

#xiti-logo
{
        text-align:center;
}


/*positionnement du menu, du contenus et du copyright*/
/*I:banniere*/
#banniere
{
        text-align:center;
}

#banniere img
{
        width: 900px;
}

/*II:en-tête*/
#en_tete
{
  height:28px;
  width: 900px;
  background-image: url("v5/barre.jpg");
       
}

#en_tete a
{
        height: 28px;
    line-height: 28px;
        text-align: center;
        font-size:16px;
        white-space:nowrap;
       

}
#en_tete acronym
{
        height: 28px;
    line-height: 28px;
        text-align: center;
        font-size:16px;
        white-space:nowrap;

}



/*III: Menu*/
#menu
{
        width:200px;
        max-width:200px;
        height:372px;
        float: left;
        color: rgb(44,72,92);
        background-image: url("v5/menu.jpg");
}


#menu ul
{
        list-style-type: none;
        list-style-position: inside;
        text-align : center;
        margin-top: 65px;

}


#menu li
{
margin-top: 28px;
}

/*IV: Corps*/
#corps
{
       
        width: 700px;
        max-width:700px;       
        overflow:hidden;
        margin-right: 5px;
        background-image: url("v5/corps.jpg");
        float:right;
}


#corps a:visited

{
   text-decoration : underline;
}

/*V: Copyright*/
#copyright
{

  background-image: url("v5/pied.jpg");
  width:900px;
  height:28px;
  float: left;
  text-align:center;

}


Donc le nouveau problème, c'est (pour firefox et ie7, c'est le meme problème):
http://traduc-age.leobaillard.org/perso/images/firefox-right.JPG
Modifié par Age (01 Jul 2007 - 19:17)
Tout compte fait, et je viens de l'apprendre suite à un problème pour un de mes sites; annule le selecteur universel et va ici
En grand merci à vous deux.
J'ai enlevé le margin-right:5px; au corps et maintenant, tout est ok.

Encore merci et bonne continuation à vous.
Bonjour Age,

D'abord, peux tu mettre "résolu" à ton post, s'il te plait?

Ensuite, ton code pour le menu me semble... bizarre...
<p> </p>

Smiley fache

Il vaut mieux utiliser la balise <br/> si tu veux faire un retour à la ligne. Si tu as bien lu tous les tutos de Matheo, il explique aussi que les menus doivent être fait en liste (<ul> <li></li> </ul>). Je te conseille donc quelquechose du genre :

<ul>
    <li id="menu_1" > <a title= "Aller à la page d'accueil" href="#">Accueil</a></li> 

   <li id="menu_2" > <a title= "S'inscrire sur le site" href= "#" >Inscription</a></li>

   <li id="menu_3" > <a title= "Se connecter" href="#">Connexion</a> </li>
</ul>
(...)

Il faut toujours appeller les choses par ce qu'elles sont en xhtml Smiley cligne , car trop de div tue les div.
Je te conseille aussi d'utiliser l'unité em pour tes font-size et tes marges intérieures/extérieures (pourquoi?).
Merci pour tes propositions mais maintenant que ça fonctionne, je préfère ne pas y toucher.