28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

J'ai bien lu les différents sujets à ce sujet (...) mais dans mon cas précis, je n'ai pas trouvé de réponse satisfaisante.

J'ai dans une <div> un <ul> qui comporte lui même 2 <li>.


	<div id="contexteUtilisateur">
		<ul>
			<li><a href="">[déconnexion]</a></li>
			<li><a href="">[changer de contexte]</a></li>
		</ul>
	</div>


Jusqu'ici rien d'insurmontable. Mes 2 <li> sont bien positionnés l'un au dessous de l'autre comme il faut mais là où ça se corse, c'est qu'il peut n'y avoir qu'un seul <li> dans certains cas de figure. Dans ce cas bien précis, j'aimerai que mon <li> restant soit aligné verticalement dans mon <ul>.

Pour ce faire, j'ai mis en place ceci :



#contexteUtilisateur ul {
			display :		table-cell;
			float :		right;
			height :		20px;
			list-style-type :	none;
			margin :		-3px 0 -3px;
			padding :		0;
			vertical-align:	bottom;
}

#contexteUtilisateur li {
			display:		block;
			padding :		0;
			text-align :		right;
}


Mais rien n'y fait. Est-ce que la propriété display:table-cell ne peut pas s'appliquer à la balise <ul> ?

Merci d'avance pour votre aide.
Merci pour la proposition mais ça ne fait pas l'affaire... Je pense qu'il n'y a pas de solution viable crossbrowser aujourd'hui, même si IE8 ammène quelques nouvelles perspectives.