Ich setze einige padding
Platzhalter für ein Element mit vier überlagernden <div />
s, die unterschiedliche Positionierung haben.Divs mit gestreiften Hintergrund überlappend
.top{
position: absolute;
left: 0;
height: 0;
width: 100%;
height: {{element.paddingTop}};
}
.right{
position: absolute;
right: 0;
top: 0;
height: 100%;
width: {{element.paddingRight}};
}
.bottom{
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: {{element.paddingBottom}};
}
.left{
position: absolute;
left: 0;
top: 0;
height: 100%;
width: {{element.paddingLeft}};
}
Jetzt bekomme ich folgendes Problem:
Wie Sie sehen können, die width
und height
scheinen keine exakte Menge an px
zu sein, und da ich nicht alle Elemente Positionierung starten von top
left
aber auch manchmal von bottom
oder right
Ich habe diesen hässlichen Überlappungseffekt.
Ich kann es lösen, indem ich background-attachment: fixed
verwende, aber das schneidet Elemente, die außerhalb des Ansichtsfensters sind - so behebt das mein Problem nicht.
Ich weiß, ich könnte top
left
als Bezugspunkt für alle 4 <div />
s verwenden und die Werte berechnen, aber ich habe weder die width
noch die height
des Elements in diesem Moment.
Hier ist eine Geige: https://jsfiddle.net/ad51xae7/
Ich habe diesen Kampf schon einmal gekämpft, und ich würde ** dringend ** empfehlen, dass Sie einfach einen einzigen Hintergrund auf das GANZE Ding setzen, dann einen Hintergrund: weiß auf die "Mitte", wo Sie nicht Ich will den Hintergrund. –
yeah, @cale_b Antwort macht mehr Sinn für mich. –
@cale_b Ich verstehe das, leider kann ich das nicht, weil es ein Overlay ist und ich den Inhalt des Elements nicht mehr sehen würde. – Horen