28173 sujets

CSS et mise en forme, CSS3

Bonjour,

j'ai un souci d'alignement dans mes différents menus de navigation.
plusieurs contraintes :
- les différents menus n'ont pas la même largeur mais la même hauteur
- certains menus sont courts et d'autres sont beaucoup plus longs et sont donc sur plusieurs lignes.

pour cibler la largeur des items, pas de problème :
#navmenu ul li.item-118 a {
	width: 90px;
	padding: 2px 9px 0 9px;
	bottom: 0;	
}


par contre, pas moyen d'aligner le texte en bas du bloc (comme sur l'image jointe); par défaut, le texte se met en haut du bloc.
A part, bidouiller le padding pour chaque item, ça va si on change pas le nom mais sinon ça peut ne plus fonctionner !
je ne trouve pas de solution au problème qui fonctionne.
upload/22765-navigation.jpg
Salut,

une idée qui peut t'aider :

* mets tes li en display:inline-block;
* tu leur donne un vertical-align:bottom;

A bidouiller mais ça devrait te mettre sur la voie.

Ju
Ben, ça ne me mets pas trop sur la voie !

j'avais déjà mis dans mon code pour la navigation générale :


 #navmenu ul li {
	margin: 0 0 0 2px;
	display: inline-block;
	vertical-align: text-bottom;
	height: 50px;
}


sinon, le site est en cours de développement en local, rien n'est en ligne.
Ok,

tes a ont quoi comme display ? Mon idée ne fonctionnera probablement pas tip-top avec des a en block. As-tu testé de les passer en inline/inline-block ?

Ju
mes différents menus, par exemple, le premier :

#navmenu ul li.item-116 a {
	width: 100px;
	padding: 2px 9px 10px 9px;
	display:inline;
	vertical-align: bottom;		
}


pas de changement avec un display: inline ou inline-block

je vais re tenter de joindre une image ! upload/22765-navigation.jpg
a écrit :
#navmenu ul li {
	margin: 0 0 0 2px;
	display: inline-block;
	vertical-align: text-bottom;
	height: 50px;
}


vertical-align pour inline-block permet d'aligner les éléments les uns par rapport aux autres.
Tout tes li font 50px de hauteur, quelque soit la valeur de vertical-align , cela ne changera pas grand chose visuellement.

Il n'y a que td ou display:table-cell qui permettent généralement d'aligner un contenu dans et par rapport a son conteneur.

2 test avec approche inline-block et display:table-cell . http://dabblet.com/gist/4041397
++