28173 sujets

CSS et mise en forme, CSS3

Hello!
J'ai un tableau avec 3 colonnes, pourquoi la largeur de mes colonnes changent lorsque je leur applique une classe CSS qui contient un padding de x pixels ? Est-ce que l'on peut éviter ça ? Je précise que je souhaite conserver mon tableau !!!
Merci pour votre aide !
Modifié par trancy_mind (17 Apr 2006 - 18:55)
Bonjour trancy_mind et bienvenue sur Alsacréations, Smiley smile

Difficile pour les membres du forum de répondre à ton problème sans un exemple en ligne et/ou le code qui te créé des soucis, et sans la nature des données que recueillent ton tableau.

Merci de nous donner plus de précisions.
Merci Igor,
Je vais attendre demain voir si je ne trouve pas, sinon ok, je posterai le code !
En réalité, je suis entrain d'étudier les possibiltés de CSS, dreamweaver 8, etc. et je m'aperçois qu'il y a encore beaucoup de problèmes d'incompatibilité entre les navigateurs (et encore, je me suis arrêté à IE et FireFox) c'est un peu ce qui m'a fait ne pas aller plus loin dans le CSS il y a déjà quelques temps et je m'aperçois que ça n'a pas beauucoup évolué ... Notamment des qu'on veut pousser un peu dans le design et qu'on utilise les layers, float etc. Ca donne souvent des résultats très aléatoires ... Alors j'essaye de combiner tables et CSS, d'où mon post ! Mais je n'ai pas beaucoup de succés pour l'instant !
Trancy'
Hello!
Me revoilà!
Bon vraiment, j'en ai assez de passer des heures à chercher les incompatibilités, c'est frustrant, déplaisant, et j'en passe !
Est-ce que c'est parceque je n'ai pas les automatismes (je ne suis pas un expert dans les compatibilités) où est-ce que c'est toujours la galère comme ça avec les CSS ?
Bref, si quelqu'un a la gentillesse de me dire ce que je ne fais pas bien !!
Le projet est pourtant tout simple, faire 3 colonnes de largeur égales espacées régulièrement (elles font 250px de larg) ... IE, ok Firefox, la boite du milieu n'est pas alignée mais remontée vers le haut de 4 ou 5 pix et il met un espace vertical de 3 ou 4 pix entre le top et le corps ...
(désolé je n'ai pas de serveur sous la main, juste en local ...)

Je c/c ma feuille CSS et le HTML

Merci par avance!


body {
background-color : #fcfcfc; 
font-family : Verdana, Arial, Helvetica, sans-serif; 
font-size : 10px; 
font-style : normal; 
color : #000000; 
margin : 0; 
padding : 0; 
} 
.top {
font-family : Verdana, Arial, Helvetica, sans-serif; 
font-size : 10px; 
background-color : #6699cc; 
height : 54px; 
width : 900px; 
margin-right : auto; 
margin-left : auto; 
background-image : url(pics/logo.jpg); 
border-top : none; 
border-bottom : 1px solid #000000; 
border-left : 1px solid #000000; 
border-right : 1px solid #000000; 
} 
.corps {
font-family : Verdana, Arial, Helvetica, sans-serif; 
font-size : 10px; 
background-color : #99ccff; 
width : 900px; 
height : auto; 
margin-right : auto; 
margin-left : auto; 
border-top : none; 
border-bottom : 1px solid #000000; 
border-left : 1px solid #000000; 
border-right : 1px solid #000000; 
background-image : url(pics/pat_corps.gif); 
background-repeat : repeat; 
} 
.box1 {
margin-top : 10px; 
border-style : solid; 
border-width : 1px; 
border-color : black; 
background-color : silver; 
width : 250px; 
padding : 10px; 
height : 250px; 
margin-left : 5px; 
float : left; 
} 
.box2 {
margin-top : 10px; 
border-style : solid; 
border-width : 1px; 
border-color : blue; 
margin-left : 310px; 
padding : 10px; 
height : 250px; 
width : 250px; 
} 
.box3 {
margin-top : 10px; 
border-style : solid; 
border-width : 1px; 
border-color : blue; 
padding : 10px; 
height : 250px; 
width : 250px; 
float : right; 
margin-right : 5px; 
} 

HTML

<body>
<div class="top">&nbsp;</div>

<div class="corps">

<div class="box1">
<h5>box1</h5>
<p>texte box1</p>
<pre>bla bla</pre>
</div>

<div class="box3">
<h5>box2</h5>
<p>texte box2</p>
<pre>bla bla</pre>
</div>

<div class="box2">
<h5>box3</h5>
<p>texte box3</p>
<pre>bla bla</pre>
</div>

<p>blabla</p>

</div> <!-- fin corps -->

</body>

Modifié par trancy_mind (17 Apr 2006 - 14:59)
Je m'aperçois du coup que le titre de mon post n'est plus correct !
Vous l'aurez compris, mon objectif de base était tout de même de supprimer les tableaux et de faire ça en CSS ... donc contourner les problèmes d'affichages différents entre les différents navigateurs !
Trancy'
Sorry !
Voilà, c'est fait ...
Bon j'ai vu sur openweb également différentes solutions pour faire de l'affichage en colonne mais bon ... Mais aucune ne me satisfait vraiment ...
Si on voulait être "logique" il faudrait utiliser "span" pour faire des colonnes et pas "div" ? Exact ? C'est un peu du bidouillage les float ... On appelait ça jadis les "calques" sous golive ! J'ai vu que l'auteur de ce site n'aimait pas qu'on appelle ça comme ça quelquepart mais c'est ça dans la mesure ou il y a aussi la possibilité de mettre un z-index, de les superposer, on est donc bien dans du concept de calque, enfin bref !!!
Quelle est d'après vous la méthode "propre" et qui fonctionne dans tous les navigateurs pour situer des "blocs" (des "colonnes" si les blocs sont de dimensions égales !!) sur une page en respectant les standards et tout ça !!!
Trancy'

Plus on va dans le temps, plus ça devient compliqué !!!!
Je met [Résolu] sur mon sujet car bien que ce soit un bordel sans nom (2h de recherche pour que ça passe enfin sous IE et FF, j'ai finalement presque réussi à faire ce que je voulais !)
Je me dis que si j'ai ce genre de souci à chaque petit truc que je fais sur mon site, il est pas prêt d'être en ligne !!!
Vive le flash !!!!
Trancy'

ps: pour ceux que ça intéresse, j'ai utilisé la méthode d'openweb avec des div id et des float: left pour chaque colonne !