Gunnar Bittersmann: Hinzergrundgrafik auf Viewportbreite skalieren

Beitrag lesen

@@JürgenB:

nuqneH

ich möchte ein quadratisches Hintergrundbild auf die Breite des Viewports anpassen. Dabei soll das Aspektverhältniss beibehalten werden. Ich habe dieses dadurch realisiert, dass ich das Bild mit Breite 100% in ein Div mit Breite 100% gelegt habe und das Ganze per Z-Index in den Hintergrund schiebe.

Warum?

Du könntest das zusätzliche 'div', was nichts im Markup zu suchen hat, wieder rausschmeißen. Sämtliche gängigen Browser können mittlerweile Hintergrundbilder skalieren: 'background-size' [CSS3-BACKGROUND §3.9] (Firefox mit Präfix).

Der IE kann es mit proprietärem Filter, passt das Bild damit aber in Höhe und Breite an à la 'background-size: 100% 100%'. Wenn das Seitenverhältnis im IE erhalten bleiben soll, müsste man noch etwas Gehirnschmalz reinstecken. Aber ist das hier so wichtig?

html  
{  
    background-image: url(bg.png);  
    background-repeat: no-repeat;  
    -moz-background-size: 100% auto;  
    background-size: 100% auto;  
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png', sizingMethod='scale');  
    height: 100%;  
    margin: 0;  
    padding: 0;  
}

Qapla'

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)