28172 sujets

CSS et mise en forme, CSS3

Bonjour,
Je sais que c'est un sujet récurrent, mais je n'ai pas trouvé de réponse assez concise (mais globale à la fois Smiley biggol ).
Je fais de la mise en page / stylage sur des documents générés par un outil. Pas (ou très très peu) de marge de manoeuvre, je dois faire avec ce code généré. J'ai des pages qui contiennent des <iframe> qui appelent d'autres pages d'autre domaine.

Sachant que l'utilisation des balises iframe est une obligation, voici ma question : est-il possible de pouvoir utiliser intelligemment un attribut height à 100% pour une iframe, le tout devant être comptaible ie 6 et supérieur, ff 2 et supérieur, safari 1.3 et supérieur, camino 1.5 et supérieur
Smiley sweatdrop
Modérateur
bonjour,

si tu applique un heigh:100% a un <iframe> il prendra en reference la hauteur de son parent , si celle-ci est disponible , sinon 100% de rien du tout et aura une hauteur par defaut .

Si c'est la hauteur de la page contenue , il n'y a que le javascript qui pourra t'aider .

Perso , je transmet la hauteur de l'iframe a partir de la page contenue dans celle-ci plutôt que de tenter l'opposé , mais je ne suis pas un pro dans ce domaine.
Au besoin je laisserais ici ma façon de faire qui demande a pouvoir éditer la page contenue dans l'iframe.

GC
Le problème est bien celui-ci: je n'ai pas accès aux pages appelées, de plus, elles sont sur un autre domaine. Pour corser un peu la chose, la page appelante est en https...


a écrit :
si tu applique un heigh:100% a un <iframe> il prendra en reference la hauteur de son parent , si celle-ci est disponible , sinon 100% de rien du tout et aura une hauteur par defaut .
Du coup, peux-tu développer (ou m'expliquer mieux, ou autrement Smiley biggol )?
Modérateur
bonsoir.

Les style se transmettent en cascade du parent vers les enfants.
Certaines valeurs sont automatiquement herité (font , color , ...) d'autre non.

Une hauteur appliqué a un élément ne sera pas appliqué aux enfants , mais pourra servir de référence aux enfants direct.
ex:
<div style="height:160px">
<iframe style="height:50%"></iframe>
</div>

l'iframe aura une hauteur de 160px X 50% .
Si div n'a pas de hauteur expressément déterminée ce sera : null X 50% , au mieux (ou au pire) ce sera la hauteur du viewport qui sera prit comme référence.

Par defaut l'iframe se voit attribuée une largeur et une hauteur par le navigateur , comme c'est le cas pour textarea d'ailleurs.

En css l'heritage ne se fait que du parent vers l'enfant et seulement dans le document ou il se trouve.
Ton iframe contient un document (objet) externe qui a ses propres styles et qu'il ne partage pas .

GC