2016-06-07 21 views
1

Ich muss ein Bild eines Symbols (die Wiedergabetaste) über ein Miniaturbild eines Videos setzen, aber es sollte in der Mitte bleiben (vertikal und horizontal) unabhängig von der Breite von die Fenster oder das Gerät und skalieren auch entsprechend der windwos Breite. Mein Bild skaliert gut nach dem Fenster, aber mein Icon nicht. Ich habe viele Lösungen gefunden, aber alle hatten Höhe und Breite in px definiert, was ich nicht möchte. Ich möchte, dass mein Symbol eine dynamische Breite und Höhe entsprechend der Fensterbreite hat.So skalieren Sie ein Bild auf ein anderes Bild

hier ist mein css

.video-section .video-icon { 
    position: absolute; 
    top: 36%; 
    left: 43.8%; 
} 
.video-section .bg-img { 
    position: relative; 
} 
+0

Verwenden Sie dann nur die prozentuale Breite/Höhe für das Symbol, damit es auf seinen übergeordneten Container reagiert, siehe meine aktualisierte Antwort. – Aziz

+0

Ich kann die prozentuale Breite/Höhe nicht verwenden, um das Symbol reaktionsfähig zu machen, da das Symbol ein absolutes Bild ist. 100% ist also die maximale Breite des Bildes, was bedeutet, dass es nichts mit der Browserbreite zu tun hat, aber ich möchte mein Bild entsprechend skalieren Browser Breite .. –

+0

Können Sie dies in einer jsFiddle demonstrieren? Haben Sie über die Verwendung von Viewport-Einheiten anstelle von Prozentsätzen nachgedacht? versuche 'vh' oder' vw' – Aziz

Antwort

0

Skala es wie dieses

.video-section .video-icon { 
    position: absolute; 
    top:50%; 
    left:50%; 
    transform:translate(-50%,-50%); 
} 

Oberhalb transform Eigenschaft wird nur in allen Browsern funktionieren, wenn Sie Präfix in ihm hinzufügen sonst kann es nicht mit allen Browsern.

-Code sollte wie folgt

.video-section .video-icon { 
    position: absolute; 
    top:50%; 
    left:50%; 
    transform:translate(-50%,-50%); 
    -moz-transform:translate(-50%,-50%); 
    -ms-transform:translate(-50%,-50%); 
    -webkit-transform:translate(-50%,-50%); 
    -o-transform:translate(-50%,-50%); 
} 
+0

Nein, du verstehst nicht mein Bild kommt in der Mitte immer, aber das Bild nicht skalieren in Höhe und Breite ... Ich brauche es in der Höhe und Breite automatisch zu reduzieren ... –

+1

Bitte stellen Sie Fragen klar ... in Ihrer Frage Sie erwähnt, dass Sie Symbol nicht ausgerichtet ist, aber das Bild ausgerichtet ist. –

+0

Ist die Re-Bearbeitung hilft Ihnen mein Problem zu verstehen? –

0

werden oder Sie können es wie folgt tun:

.video-section .bg-img { 
 
    position: relative; 
 
    background: lightblue; 
 
    height: 300px; 
 
    width: 50%; 
 
} 
 

 
.video-section .video-icon { 
 
    position: absolute; 
 
    top: 0; left: 0; right: 0; bottom: 0; 
 
    margin: auto; 
 
    height: 50%; 
 
    width: 50%; 
 
}
<div class="video-section"> 
 
    <div class="bg-img"> 
 
    <img src="http://placehold.it/30x30" alt="" class="video-icon"> 
 
    </div> 
 
</div>

keine Notwendigkeit, zu transformieren.

Bearbeiten: Benutzer Prozentsatz Breite/Höhe, um Symbol reagieren.

+0

aber was ist falsch mit transform? –

+0

Ehrlich, ich mag transformieren mehr als Marge ... marginale Probleme, die ich denke ... –

+0

@GauravAggarwal weniger Code und erfordert keine Hersteller-Präfixe - egal, es ist nicht kritisch.Verwenden Sie, was auch immer Sie möchten! – Aziz

Verwandte Themen