[HTML] taille d'un Cadre incorporé - selon la page incorporée

Salut a tous
je voudrais savoir comment faire (si c’est possible) qu’un cadre incorporé prend la taille automatiquement de la page incorporée ?

Car j’ai créer un album photo et je voudrais le mettre sur une autre page.
j’ai donc penser au cadre incorporé.

merci merci
bonne journée
a+++

tu parles d’une iframe ?

il suffit de mettre la taille à 100% :slight_smile:

ouai c’est uen iframe
voila le code :

<iframe name="ifrm1" src="http://www.monlien.com" frameborder="0" width="517" height="2105" vspace="0" hspace="5" marginwidth="0" marginheight="0" scrolling="no"></iframe>

je vois pas ou mettre un 100%

La largeur est tjr la meme
c’est seulment la hauteur qui change selon mes page incorporée

Bah tu mets le height=“100%” non? Ou sinon comme les images tu mets width=“100%” et tu mets pas de height :stuck_out_tongue: ! A l’arrache mais ça passe :° !

C’est quoi les iframes :blush: ?!

Iframe c’est une balise qui permet de créer un cadre dans lequel tu vois une autre page en gros
Pour plus d’info :ici

mais moi en fait ce que je recherche c’est que le cadre prend la taille de la page incorporée ds le cadre

si je met 100 la taille de mon cadre sera de 100

je sais pas si c’est possible…

Je te parle de pourcentages là !! Si tu mets 100 il va le prendre en pixels, mais si tu mets 100% il va te mettre la taille maximale. Essaies de mettre :


<iframe name="ifrm1" src="http://www.monlien.com" frameborder="0" width="517" height="100%" vspace="0" hspace="5" marginwidth="0" marginheight="0" scrolling="no"></iframe>

Ou alors (qui serait un peu plus correct mais qui plante avec ie je crois) :


<iframe name="ifrm1" src="http://www.monlien.com" frameborder="0" width="" vspace="0" hspace="5" marginwidth="0" marginheight="0" scrolling="no"></iframe>

Je connaissais pas les iframes car moi je me sert que de pseudo-frames avec php, mais c’est le même principe…

J’ai essayer ùais ça ne marche aps il m’affiche un petit cadre

Je vois pas exactement ce que tu veux dire, en faite tu as les pages qui s’affichent dans ton cadre, elles font toute la même largeur mais seul la longueur change c’est ça ?

ouai voila
et moi a chaque fois selon les pages je doit changer la longueur du cadre

regarde :
http://www.erazer.free.fr/Rubriques/Fun/Images+.php

pour chaque parti (Amazing,Insolite…) ya un cadre, et les page sont a chaque fois differente (lalongueur) je doit donc changer tout les cadres de chaque partie en cas de changement

et moi je voudrait que le cadre prenne tout seul la longueur de la page incorporée

Passons sur les fautes d’orthographe ^o) !

Euh moi dans ce cas là je ne mettrais pas de limite height dans ta baliste. Tu la supprimes tout court et tu essaies.

dsl pour les fautes…

nan ça marche aps non plus

jpense que c’est impossible

Si si, moi je le fais bien avec mes pseudo-frames, mais moi je fais tout en CSS et après j’appel mes pages dans chaque cadre…

Mais je peux pas t’aider là dessus je ne m’y connais pas assez :s ! Désolé, attends que quelqu’un d’autre passes :wink: !

ou dit moi comment tu fait en CSS

tu creer un fichier .css

et dans la page tu fait comment ?
tu nomme un tableau…

tu peux me donner un exemple stp ?

Hum on va faire simple sans créer de fichier .css, on va directement l’incoporer dans ton code, ce sera plus simple…

Tu vas remplacer ton iframe par le code suivant :

<iframe name="ifrm1" src="http://www.monlien.com" style="border:0; width:517px; padding:5px 0 5px 0;" scrolling="no"></iframe>

En espérant que le padding (marges intérieures) résoud ton problème. Je t’explique vite fait, lorsque tu incopores du CSS directement dans une baliste, il faut le mettre de telle sorte que :

<baliste style="CSS">

Bon je passe sur les nombreuses fonction du CSS, ici le plus important est le padding, soit les marges intérieurs du cadre. Il y a deux façon d’afficher les padding, soit en les énumérant en entier, comme suivant :

padding-top:taille; < marge intérieure du dessus
padding-right:taille; < marge intérieure de gauche
padding-bottom:taille; < marge intérieure du dessous
padding-left:taille; < marge intérieure de droite

Ou alors en les énumérant tous à la suite des autres :

padding:tailletop tailleright taillebottom tailleleft;

Le deuxième est plus simple à lire, mais il peux arriver qu’il plante un peu, et tu peux te mélanger dans l’ordre de ces derniers (haut, droite, bas, gauche).

Le but de ceci est que tu ne mettes pas de limite de hauteur, et que tu lui demandes simplement de laisser 5 pixels entre le texte et le cadre au dessus et au dessous.

J’éspère que ça va marcher :s !

j’ai remplacer mon code par le tien
mais ça ne donne rien…

regarde…
http://bmanstar.free.fr/Iframe.htm

mais c’est pas plus simple de le faire avec un fichier.css ?

et merci pour tes explications

Il faut la dimmensionner avec du javascript, impossible de faire autrement.



<script type="text/javascript">
<!--
function placeIframe() {
  // permet de déterminer le navigateur en fonction de nos besoins
  var dom = net = iex = false;
  if (document.getElementById) dom = true; // IE5+ ou Netscape6+/Mozilla
  if (document.layers) net = true; // Netscape4
  if (document.all) iex = true; // IE4+
  
  // Récupère la hauteur de la page ( 600 par défaut ) en fonction du navigateur 
  var haut_utile = 600;
  if (iex) { haut_utile = document.body.offsetHeight; }
  else if (dom || net) { haut_utile = window.innerHeight; }
  
  var iframe = document.getElementById( 'iframe' );
  
  // 125 car le haut de mon iframe est a 125px du haut de la page
  var heightPx = haut_utile - 125;
  // Calcul en pourcentage
  iframe.height = ( ( heightPx / haut_utile ) * 100 ) - 1  + '%';
  
}
// -->
</script>


et dans ton HTML


...
<iframe id="iframe" name="iframe" width="100%" height="75%"></iframe>
...
<script type="text/javascript">
//Pour qu'elle se dimensionne à l'ouverture
placeIframe();
//Pour qu'elle s'adapte a chauque fois que la fenêtre du navigateur est redimensionnée
window.onresize = placeIframe;
</script>

C’est du bricolage et de toute façon les iframes sont plutôt à banir ( sauf certaines applications ) mais ca marche !

Merci

heuu le premier code jle le met dans un ficheir .js ? ou directement dans ma page ?

et le 2e c’est dans le corp de ma page

Ben le premier n’importe

Soit dans un fichier et dans ce cas t’oublie pas de l’inclure.
<script src="…" type=“text/javascript”></script>
ou alors directement dans le <head>

et le 2e à l’endroit ou tu veux placer ton iframe

j’ai esayer mais ça ne marche pas…

regarde :
http://bmanstar.free.fr/Regarde.htm

il prend toute la largeur
(mais mes page ne prenne pas toute la largeur seulement la taille du cadre rouge dans la page…)

ha excuses !! j’avais mal compris, je croyais que tu voulais que ca s’adapte au conteneur et non au contenu.

Alors essaye de mettre height=“100%” dans l’iframe, et pareil pour les balises html et body de ta page incorporée…ca devrait le faire je pense