28114 sujets

CSS et mise en forme, CSS3

Salut à tous !

Je découvre ce site vraiment sympa pour les css & co !

Je me pose une question depuis un bout de temps, mais je n'ai jamais obtenu une réponse satisfaisante. Plus que la difficulté de la question (qui est toute bete) ce sont les bons mots cles dans les moteurs de recherche qui me manquent...

J'ai l'habitue de travailler mes listes ul en pourcentage (en largeur), mais malheureusement dès que l'on fout une border, ca décale d'un px par case et on a beau calculer pile poil son pourcentage pour que ca tombe sur 100, la derniere case se retrouve à la ligne (ou pire)

Pour résoudre le problème, je fais un margin négatif là ou se trouve la border ... Je ne trouve pas cela très élégant et je me demande si il y a une facon de faire plusmieux ...

Merci beaucoup et bonne soirée !

(exemple de code si j'ai pas été clair :

ul.bidule li
{
	float: left ;
	text-align: center ;
	border-right : 1px dotted; /*border qui vient ajouter un px*/
	margin-right : -1px; /* margin qui l'enleve */
}

)
Bonjour et Bienvenu à toi sur le Forum, Smiley smile

A priori la proposition que tu avances semble la plus appropriée.
En effet, les bordures sont rajoutées aux calculs des dimensions, il n'y a donc pas de solution miracle pour contourner le problème rencontré : on ne peut pas encore inclure les calculs du type 25% - 1px en CSS... Smiley murf

Il faut savoir qu'en général, il n'y a pas de solution parfaite et...
tant que ça passe partout, généralement c'est que c'est pas trop mal ! Smiley lol

Ceci dit, pour obtenir l'effet recherché, pense également que tu peux mettre ton menu en forme via un paragraphe en lieu et place d'une liste.
Ce n'est pas forcément l'idéal, mais parfois il vaut mieux privilégier des solutions simples plutôt que de passer par plusieurs solutions imbriquées et compliquées pour obtenir un résultat similaire. Smiley cligne
Modifié par Cygnus (28 Nov 2007 - 20:40)