28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous, je cherche à positionner un menu au centre la page, qu'importe la résolution, mais j'aimerai cependant qu'en très faible résolution (type smartphone 640*480), ce même menu ne passe pas par dessus une image positionnée à la gauche de celui ci.
Ce qui voudrait dire en gros que le menu serait centré mais aurait une "marge minimum".

Je voudrais réaliser ceci en css si possible, en évitant d'utiliser le javascript.
J'ai essayé avec des marges en pourcentage ou avec une div en float:left; qui ferait office de "butée", mais pas de résultat convainquant.

Merci d'avance pour votre aide et bonne soirée Smiley cligne
Modifié par otowash (01 Feb 2010 - 11:51)
Bonjour,

J'ai envie de dire que le salut serait dans les media queries. Au moins pour les navigateurs webkit sur smartphones, Opera Mobile (à vérifier), le futur Firefox Mobile...
Merci Florent, je ne suis pas sûr que ce genre de méthode convienne pour mon problème, je ne souhaite pas spécialement développer pour du smartphone, mais simplement m'assurer que les éléments soient toujours positionnés de manière cohérente, même en petite résolution.
Pour mieux illustrer mon problème, j'ai fait un petit schéma explicatif : upload/26623-margemini.jpg

Voilà, j'espère que ça sera un peu plus clair à l'aide de ceci.

Merci. Smiley biggrin
Modifié par otowash (30 Jan 2010 - 21:33)
Bonjour,

Je pense que la solution de Florent est la plus facile à mettre en place et certainement la plus pérène également.

Le problème pour ce que tu veux faire c'est que, s'il est possible de donner une largeur minimum ou maximum à un bloc, il n'y a rien en CSS qui existe pour donner à une marge un taille min ou max. Il faudrait aller passer par JavaScript pour déterminer la taille du viewport et redimmensionner les éléments.

L'avantage, ici, des media queries c'est qu'elle permettent de servir au navigateur correspondant au critères une feuille de style corrective, dans laquel tu peux redéfinir les éléments que tu souhaites. Dans ton cas, cela s'apparente assez aux commentaires conditionnels pour IE.
Bon, j'ai résolu le problème en mettant tout simplement un padding-left de la taille de mon image sur mon menu, c'était pourtant si simple... je ne sais pas s'il y a une solution plus simple mais c'était mon déclic du lundi matin Smiley murf