La hauteur iframe = 100% est-elle prise en charge dans tous les navigateurs?
J'utilise doctype comme:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Dans mon code iframe, si je dis:
<iframe src="xyz.pdf" width="100%" height="100%" />
Je veux dire, cela prendra-t-il réellement la hauteur de la page restante (car il y a un autre cadre en haut avec une hauteur fixe de 50 pixels) Est-ce pris en charge dans tous les principaux navigateurs (IE / Firefox / Safari)?
En ce qui concerne également les barres de défilement, même si je dis scrolling="no"
, je peux voir les barres de défilement désactivées dans Firefox ... Comment masquer complètement les barres de défilement et définir automatiquement la hauteur de l'iframe?
javascript
html
css
iframe
html-frames
testndtv
la source
la source
Réponses:
Vous pouvez utiliser le jeu de cadres comme les états de réponse précédents, mais si vous insistez pour utiliser des iFrames, les 2 exemples suivants devraient fonctionner:
Une alternative:
Pour masquer le défilement avec 2 alternatives comme indiqué ci-dessus:
Hack avec le deuxième exemple:
Pour masquer les barres de défilement de l'iFrame, le parent est fait
overflow: hidden
pour masquer les barres de défilement et l'iFrame est fait pour aller jusqu'à 150% de largeur et de hauteur, ce qui force les barres de défilement à l'extérieur de la page et puisque le corps n'a pas de barres de défilement on ne peut pas s'attendre à ce que l'iframe dépasse les limites de la page. Cela cache les barres de défilement de l'iFrame avec toute la largeur!la source
3 approches pour créer un plein écran
iframe
:Approche 1 - Longueurs en pourcentage de la fenêtre
Dans les navigateurs pris en charge , vous pouvez utiliser des longueurs de pourcentage de fenêtre telles que
height: 100vh
.Où
100vh
représente la hauteur de la fenêtre et100vw
représente également la largeur.Exemple ici
Approche 2 - Positionnement fixe
Cette approche est assez simple. Définissez simplement le positionnement de l'
fixed
élément et ajoutez unheight
/width
de100%
.Exemple ici
Approche 3
Pour cette dernière méthode, vient de mettre le
height
desbody
/html
/iframe
éléments à100%
.Exemple ici
la source
display: block
fait l'affaire pour éviter d'avoir une double barre de défilement1. Changez votre DOCTYPE en quelque chose de moins strict. N'utilisez pas XHTML; c'est idiot. Utilisez simplement le doctype HTML 5 et vous êtes bon:
2. Vous devrez peut-être vous assurer (selon le navigateur) que le parent de l'iframe a une hauteur. Et son parent. Et son parent. Etc:
la source
J'ai rencontré le même problème, je tirais un iframe dans un div. Essaye ça:
La hauteur est définie sur 100vh, ce qui signifie la hauteur de la fenêtre d'affichage. En outre, la largeur peut être définie sur 100vw, bien que vous rencontrerez probablement des problèmes si le fichier source est réactif (votre cadre deviendra très large).
la source
Cela a très bien fonctionné pour moi (uniquement si le contenu iframe provient du même domaine ):
la source
iframe
src
est sur le même domaine que la page parent, sinon vous obtiendrez une erreur d'autorisation refusée surcontentWindow.document
.la source
la source
Le fonctionnement testé suivant
la source
En plus de la réponse d'Akshit Soota: il est important de définir explicitement la hauteur de chaque élément parent, également de la table et de la colonne le cas échéant:
la source
Vous ajoutez d'abord css
Ce sera le html:
la source
Voici un code concis. Il s'appuie sur une méthode jquery pour trouver la hauteur actuelle de la fenêtre. Au chargement d'iFrame, il définit la hauteur de l'iframe comme la fenêtre actuelle. Ensuite, pour gérer le redimensionnement de la page, la balise body possède un gestionnaire d'événements onresize qui définit la hauteur de l'iframe chaque fois que le document est redimensionné.
voici un exemple de travail: http://jsbin.com/soqeq/1/
la source
Une autre façon de créer un fluide plein écran
iframe
:La vidéo intégrée remplit tout
viewport
zone lors du chargement de la pageBelle approche pour les pages de destination avec vidéo ou tout contenu intégré. Vous pouvez avoir n'importe quel contenu supplémentaire ci-dessous de la vidéo intégrée, qui est révélé lors du défilement de la page vers le bas.
Exemple:
Code CSS et HTML.
la source
http://embedresponsively.com/
Ceci est une excellente ressource et a très bien fonctionné, les quelques fois où je l'ai utilisé. Crée le code suivant ....
la source
Seulement cela a fonctionné pour moi (mais pour "même domaine"):
vous pouvez utiliser soit:
ou
la source
Selon https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe , les valeurs de pourcentage ne sont plus autorisées. Mais ce qui suit a fonctionné pour moi
Bien que
width:100%
fonctionne,height:100%
ne fonctionne pas. Ainsiwindow.innerHeight
a été utilisé. Vous pouvez également utiliser des pixels CSS pour la hauteur.Code de travail: Lien Site de travail: Lien
la source
la source
Vous pouvez appeler une fonction qui calculera la hauteur du corps de l'iframe lorsque l'iframe est chargée:
la source