2014-08-29 13 views
7

Ho l'immagine qui sotto di un Macbook vuoto.avvolgere un video youtube in un'immagine statica "frame" e mantenere il ridimensionamento reattivo

enter image description here

L'immagine è 1034 × 543.

voglio inserto un video di youtube all'interno della zona "grigia" della schermata. Voglio che appaia come se il video di YouTube fosse riprodotto sullo schermo del laptop.

Desidero anche ridimensionare l'immagine del laptop/video di YouTube, in modo che quando la pagina Web si trova in una visualizzazione tablet o mobile, l'immagine e il video si riducano per corrispondere.

Sto cercando di utilizzare fitvid.js per realizzare questo, ma non sto avendo fortuna - posso ottenere il video per adattarlo a una dimensione statica, ma non riesco a farlo adattarsi perfettamente al ridimensionamento, si deforma.

Qui di seguito è il mio markup corrente:

html:

<div class="col-sm-12"> 
    <div class="title"> 
    <h2>What's New</h2> 
    <small>ASC Sneak Peak</small> 
    </div> 
    <div class="macbook-wrapper"> 
    <iframe width="715" height="402" src="//www.youtube.com/embed/**url**" frameborder="0" allowfullscreen></iframe> 
    </div> 
</div> 

SASS:

.macbook-wrapper{ 
    background: url('../img/content/home/macbook.png') no-repeat; 

    .fluid-width-video-wrapper { 
    width: 97.5%; 
    background: #000; 
    } 
} 
+0

Qualcosa di simile http://jsfiddle.net/ 41sdho4w /? Volevo solo assicurarmi di aver capito correttamente la tua domanda prima di pubblicare una risposta. – Evan

+0

@Evan: esattamente. : D – Prefix

+0

Fantastico, sono sicuro che ci sono un sacco di modi per farlo, ma è così che vorrei affrontarlo. @ Il mio commento qui sotto, quello che stavo dicendo è che potresti costruire un macbook attorno agli iframe dei CSS e avere anche quella scala senza il posizionamento e il riempimento accurato. – Evan

risposta

17

Si potrebbe infondere un po 'di inganno con imbottitura e le percentuali, in questo modo si potrebbe farlo scalare di conseguenza. Fondamentalmente, impostando un contenitore che è puramente% base, con un iframe di posizione assoluto che si adatta di conseguenza al contenitore.

HTML

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

CSS

div { 
    position: relative; 
    padding-top: 25px; 
    padding-bottom: 67.5%; 
} 
div iframe { 
    background: url(http://i.stack.imgur.com/zZNgk.png) center center no-repeat; 
    background-size: contain; 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
} 

Faresti solo bisogno di aggiungere box-sizing: border-box; e alcuni padding per posizionare l'iframe all'interno dello schermo. Check it out http://jsfiddle.net/41sdho4w/

Per prendere un po 'oltre - Ecco una versione con un contenitore per aiutare a controllare il max-width e max-height piuttosto che fare affidamento sul corpo/viewport http://jsfiddle.net/4g9e3ywy/

+0

Ciao! grazie per l'ottima soluzione, funziona ma il macbook è al 100% della larghezza della pagina. Mi piacerebbe ridimensionarlo verso il basso con grazia, ma non superare 1034x543. Se aggiungo max-width e max-height al div del contenitore, sembra pasticciare con il pad iframe – Prefix

+1

My bad! lascia che lo aggiorni, potrebbe solo aver bisogno di un contenitore designato su cui si può basare il%. – Evan

+1

Ho creato un contenitore aggiuntivo per l'intera cosa - qui è possibile impostare la larghezza massima/altezza massima desiderata - e gli elementi figli% riempimento/larghezza, ecc. Si baseranno su questo. – Evan

Problemi correlati