2016-07-16 15 views
0

Ich habe diesen Code:Wie positioniert man vertikal einen wiederholten Bildhintergrund?

background:url("someimage.gif") repeat-y 50px right; 

das Problem hier ist, dass ich den Hintergrund muß 50px von oben beginnen, damit es ein 50px Raum zwischen dem Bild und der Spitze aber das wird nicht passieren. Ich weiß sehr gut, dass das Bild richtig positioniert ist, wenn es nicht wiederholt wird, aber ich brauche es vertikal zu wiederholen. Gibt es einen Weg? Wie erreiche ich den Abstand zwischen Anfang und Anfang des wiederholten Bildes?

+0

Nein ... 'repeat-y' bedeutet nur das .. * in beiden Richtungen ... rauf und runter *. –

+0

Was wäre in den Top 50px? –

+0

Essential Duplizieren - http://StackOverflow.com/Questions/10417501/multiple-background-images-positioning?rq=1 –

Antwort

0

Es gibt eine Möglichkeit, es zu fälschen, wenn es nichts in diesem oberen Raum gibt.

Wenden Sie 50px (oder Ihren gewählten Wert) von padding-top auf die div.

Die Anwendung den Hintergrund wie gewohnt (repeat-y) aber Clip der Hintergrund der content-box des div.

Background-clip @ MDN

div { 
 
    background: url(http://placekitten.com/50/50) repeat-y; 
 
    padding-top: 50px; 
 
    height: 50vh; 
 
    background-clip: content-box; 
 
    width:50vw; 
 
    margin:2em auto; 
 
    border:1px solid red; 
 
}
<div></div>

OR

Verwenden einer Position, pseudo-Element geeigneter Größe/positioniert

div { 
 
    height: 50vh; 
 
    width: 50vw; 
 
    margin: 2em auto; 
 
    border: 1px solid red; 
 
    position: relative; 
 
} 
 
div:before { 
 
    content: ''; 
 
    position: absolute; 
 
    width: 100%; 
 
    height: calc(100% - 50px); 
 
    background: url(http://placekitten.com/50/50) repeat-y; 
 
    top: 50px; 
 
    left: 0; 
 
}
<div></div>

+0

Vielen Dank, aber das Problem damit ist, dass der Inhalt auch gedrückt wird und ich will das nicht. –

+0

Weil Sie dem Container Padding hinzufügen, wodurch der Inhalt nach unten verschoben wird. Ich möchte nur den Hintergrund drücken, nicht den Inhalt. –

+0

Immerhin scheint die Pseudo-Element-Antwort die einzig mögliche Option zu sein. Ich denke, ich bleibe dabei. Vielen Dank. –

Verwandte Themen