Ich möchte ein Hintergrundbild für verschiedene Divs festlegen, aber meine Probleme sind:
- Die Größe des Bildes ist fest (60px).
- Unterschiedliche Größe des Div
Wie kann ich das Hintergrundbild dehnen, um den gesamten Hintergrund des Div auszufüllen?
#div2{
background-image:url(http://s7.static.hootsuite.com/3-0-48/images/themes/classic/streams/message-gradient.png);
height:180px;
width:200px;
border: 1px solid red;
}
css
html
background
background-image
Muhammad Usman
quelle
quelle
background-repeat: no-repeat;
Sie können verwenden:
Oder verwenden Sie einfach ein großes Hintergrundbild mit:
quelle
background-size: cover; background-position: center
ich werde den Hintergrund des füllen,div
ohne das Bild zu streckenModernes CSS3 (empfohlen für die Zukunft und wahrscheinlich die beste Lösung)
Max. Dehnung ohne Zuschnitt oder Verformung (füllt den Hintergrund möglicherweise nicht aus) :
background-size: contain;
Absolute Dehnung erzwingen (kann Verformung verursachen, aber kein Zuschnitt) :
background-size: 100% 100%;
"Altes" CSS "funktioniert immer"
Absolutes Positionierungsbild als erstes Kind der (relativ positionierten) Elternteils und Dehnen auf die übergeordnete Größe.
HTML
Äquivalent zu CSS3
background-size: cover;
:Um dies dynamisch zu erreichen, müssten Sie das Gegenteil der Alternative zur Contain-Methode verwenden (siehe unten). Wenn Sie das zugeschnittene Bild zentrieren müssen, benötigen Sie ein JavaScript, um dies dynamisch zu tun - z. B. mithilfe von jQuery:
Praktisches Beispiel:
Äquivalent zu CSS3
background-size: contain;
:Dieser kann etwas knifflig sein - für die Dimension Ihres Hintergrunds, die das übergeordnete Element überlaufen würde, ist CSS auf 100% festgelegt, für das andere auf Auto. Praktisches Beispiel:
Äquivalent zu CSS3
background-size: 100% 100%;
:PS: Um die Äquivalente von Deckung / Enthalten auf die "alte" Weise vollständig dynamisch zu machen (damit Sie sich nicht um Überläufe / Verhältnisse kümmern müssen), müssten Sie Javascript verwenden, um die Verhältnisse für Sie zu erkennen und die Abmessungen wie beschrieben einzustellen. ..
quelle
Hierfür können Sie die CSS3-
background-size
Eigenschaft verwenden. Schreiben Sie so:Überprüfen Sie dies: http://jsfiddle.net/qdzaw/1/
quelle
Du kannst hinzufügen:
Sie können hier mehr darüber lesen: css3 Hintergrundgröße
quelle
quelle
durch Verwendung der Eigenschaft CSS:
quelle
Verwendung: Hintergrundgröße: 100% 100%; Hintergrundbild an die Div-Größe anpassen.
quelle
Verwenden Sie, um das Seitenverhältnis beizubehalten
background-size: 100% auto;
quelle
Versuchen Sie so etwas:
quelle