8
votes

CSS: Positionnement absolu d'un bouton de Firefox

Je veux afficher un bouton qui prend tous les espaces de son parent qui est lui-même absolu positionné.

Mais il semble que Firefox ait un bug avec elle (tous se déroule parfaitement en chrome et safari (webkits), je peux ' t Testez sur IE parce que je suis sur Mac (si quelqu'un peut tester et dire en commentaire s'il s'exécute ou non, ce serait vraiment bien)).

L'objectif à atteindre est:

Entrez la description de l'image ici

div et bouton sont ensemble contenus par un emballage qui est absolu positionné.

Le code HTML est: xxx

c'est assez simple. Le problème est que sur Firefox, il rend comme ceci:

Entrez la description de l'image ici < / p>

Avez-vous eu une idée pourquoi Firefox rend ce code comme celui-ci et avez-vous une solution de contournement en utilisant un positionnement similaire?

EDIT: Je ne peux pas (et je ne veux pas) définir largeur et hauteur sur l'enfant intérieur. La raison est que j'utilise GWT avec des mécanismes de mise en page. La mise en page GWT utilise des éléments de position inférieure / supérieure / haut / gauche / à droite et de taille, donc je ne peux donc pas changer ce comportement. Tous les courses avec Classic Div. Le problème n'est que sur le bouton.


2 commentaires

Avez-vous essayé de définir l'affichage: Bloc?


Oui j'ai testé juste avant de demander. Ça ne fait rien


3 Réponses :


3
votes

Définir une largeur et une hauteur pour la DIV intérieure également.


4 commentaires

Je ne peux pas utiliser la largeur ou la hauteur car j'utilise un mécanisme de mise en page GWT qui utilise des tailles inférieures / supérieure / gauche / gauche pour définir des tailles


@Jerome: Comment est-il plus difficile de taper largeur: 100% et hauteur: 100% que droite: 0 et bas: 0 ?


Essayez "flotter: à gauche;" au lieu de "position, haut, bas, gauche, droite" dans .inner.


Parce que j'utilise GWT avec des mécanismes de mise en page qui utilise le fond / haut / gauche / gauche / droite.



6
votes

Essayez d'ajouter xxx

au .inner Déclaration.

J'ai constaté que cela fonctionne même dans Internet Explorer 7+. Dans IE6, il échoue mais c'est à peine une surprise. Malheureusement, il échoue également dans l'opéra exactement comme il fait à l'origine dans Firefox.


1 commentaires

Cela corrige le problème dans Firefox. Personne ne se soucie de l'opéra depuis que l'opéra est 100% inutilisé (au moins sur mon site) et de déménager à webkit!



3
votes

La raison pour laquelle il se rend comme ceci est que est un élément remplacé au moins dans gecko et pour les éléments remplacés les règles sur ce que à gauche: 0; Droite: 0 Les moyens de CSS sont différents de ceux que les éléments non remplacés ...


3 commentaires

OK, les éléments remplacés semblent être la cause de ce problème. Merci ! Informations complémentaires sur les éléments remplacés: référence.sitepoint.com/css/replacedelements


Ceci explique le problème, existe-t-il une solution pour ce type de problème? (Je préfère utiliser des boutons car il aligne le texte au milieu).


Vous pouvez utiliser à gauche: 0; largeur: 100%;