Come centrare un iframe in orizzontale?


234

Considera il seguente esempio: ( demo live )

HTML:

<div>div</div>
<iframe></iframe>

CSS:

div, iframe {
    width: 100px;
    height: 50px;
    margin: 0 auto;
    background-color: #777;
}

Risultato:

inserisci qui la descrizione dell'immagine

Perché il iframenon è allineato centralmente come il div? Come potrei allinearlo centralmente?


6
perché non avvolgere un div per questo iframe?
Giberno,

Risposte:


384

Aggiungi display:block;al tuo iframe css.


28
Grazie! Avrei dovuto indovinare che an inline frameè un elemento inline :)
Misha Moroshko il

34
Ecco cosa significa "i".
Aayush,

11
Quindi, in alternativa, puoi dare una text-align: centerregola al contenitore , giusto?
KOVIKO,

1
sì, aggiungendo text-align: funzionerebbe anche il centro del contenitore
chrisweb,

9
Ho scoperto che dovevo anche aggiungeremargin: auto;
MarkyDD il

45

il modo migliore e più semplice per centrare un iframe sulla tua pagina web è:

<p align="center"><iframe src="http://www.google.com/" width=500 height="500"></iframe></p>

dove larghezza e altezza saranno le dimensioni del tuo iframe nella tua pagina html.


1
Pensavo che l' alignattributo fosse obsoleto? Perché l'OP dovrebbe usare questo approccio invece di usare i CSS: qual è il vantaggio?
andrewsi,

4
style="text-align:center"non è deprecato e farebbe lo stesso lavoro
Anthony,

anche se è ammortizzato, funziona, mentre tutto il resto no.
user819490

Funziona nel file HTML ed è quindi più facile da implementare per i principianti come me. L'ho appena fatto nel 2017, quindi non deve essere ammortizzato. Grazie per il consiglio!
Renel Chesak,

20

HTML:

<div id="all">
    <div class="sub">div</div>
    <iframe>ss</iframe>
</div>

CSS:

#all{
    width:100%;
    float:left;
    text-align:center;
}
div.sub, iframe {
    width: 100px;
    height: 50px;
    margin: 0 auto;
    background-color: #777;

}

11

Se stai inserendo un video nell'iframe e vuoi che il tuo layout sia fluido, dovresti guardare questa pagina web: Fluid Width Video

A seconda della fonte video e se vuoi che i vecchi video diventino reattivi, le tue tattiche dovranno cambiare.

Se questo è il tuo primo video, ecco una soluzione semplice:

<div class="videoWrapper">
    <!-- Copy & Pasted from YouTube -->
    <iframe width="560" height="349" src="http://www.youtube.com/embed/n_dZNLr2cME?rel=0&hd=1" frameborder="0" allowfullscreen></iframe>
</div>

E aggiungi questo css:

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

Disclaimer: niente di tutto questo è il mio codice, ma l'ho provato ed ero soddisfatto dei risultati.


Questo per rendere il video in iframe reattivo, funziona bene, grazie!
Ricardo,

11

Il codice più semplice per allineare l'elemento iframe:

<div align="center"><iframe width="560" height="315" src="www.youtube.com" frameborder="1px"></iframe></div>

Si prega di consultare questa prima domanda per rispondere a questa domanda prima, ovviamente, è possibile aggiungere la risposta qui. Ma devi capire alcuni punti prima di rispondere. Innanzitutto, non aggiungere una risposta precedentemente aggiunta con lo stesso codice o suggerimento. In secondo luogo, non aggiungere una risposta eccessivamente complicata se l'utente ha chiesto in modo molto specifico il problema e di cosa ha bisogno per risolverlo. Terzo, puoi aggiungere un commento se vuoi suggerire qualcosa riguardo la risposta o la domanda.
ankit suthar,

6

Puoi inserire iframe in a <div>

<div>
    <iframe></iframe>
</div>

Funziona perché ora è all'interno di un elemento a blocchi.


3

Secondo http://www.w3schools.com/css/css_align.asp , l'impostazione dei margini sinistro e destro su auto specifica che devono dividere equamente il margine disponibile. Il risultato è un elemento centrato:

margin-left: auto;margin-right: auto;

1
Solo se l'elemento parent ha lo stile text-align impostato su center.
parvus

3

Puoi provare

<h3 style="text-align:center;"><iframe src=""></iframe></h3>

Spero sia utile per te

collegamento


1

Nel mio caso la soluzione era in classe iframe aggiungendo:

    display: block;
    margin-right: auto;
    margin-left: auto;

0

Qui ho messo lo snippet per tutti voi che soffrite per creare iframe o immagine al centro dello schermo in orizzontale. Dammi GRAZIE VOTA se vuoi. 👍⯅.

style> img & iframe> questo è il nome del tuo tag, quindi cambialo se vuoi un altro tag al centro

<html >
 <head> 
            <style type=text/css>
            div{}
            img{
                 margin: 0 auto;
	         display:block;
         	}
	 iframe{	
		margin: 0 auto;
		display:block;
		}
				
            </style>
</head>
 <body >
           
			<iframe src="https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_1MB.mp4" width="320" height="180" frameborder="0" allowfullscreen="allowfullscreen"></iframe> 
			
			<img src="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/images/BigBuckBunny.jpg" width="320" height="180"  />
            </body> 
            </html>

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.