Skip to main content

Verwenden Sie CSS3, um ein Hintergrundbild an eine Webseite anzupassen

BLACKROLL - Bei RÜCKENSCHMERZEN einfach nur genial! (Kann 2024)

BLACKROLL - Bei RÜCKENSCHMERZEN einfach nur genial! (Kann 2024)
Anonim

Bilder sind ein wichtiger Bestandteil attraktiver Website-Designs. Dies beinhaltet die Verwendung von Hintergrundbildern. Dies sind die Bilder und Grafiken, die verwendet werden hinter Bereiche einer Seite im Gegensatz zu Bildern, die als Teil der Inhaltsseiten dargestellt werden. Diese Hintergrundbilder können eine Seite visuell interessant machen und Ihnen helfen, das visuelle Design zu erreichen, nach dem Sie auf einer Seite suchen.

Wenn Sie mit Hintergrundbildern arbeiten, werden Sie zweifellos mit dem Szenario konfrontiert, in dem Sie ein Bild an die Seite anpassen möchten. Dies gilt insbesondere für responsive Websites, die an eine Vielzahl von Geräten und Bildschirmgrößen geliefert werden.

Dieser Wunsch, ein Hintergrundbild zu strecken, ist für Webdesigner ein sehr verbreiteter Wunsch, da nicht jedes Bild in den Raum einer Website passt. Anstatt eine feste Größe festzulegen, kann das Bild gestreckt werden, um es an die Seite anzupassen, unabhängig davon, wie breit oder eng das Browserfenster ist.

Die beste Möglichkeit, ein Bild auf den Hintergrund einer Seite zu strecken, ist die CSS3-Eigenschaft für die Hintergrundgröße. Hier ist ein Beispiel, bei dem ein Hintergrundbild für den Hauptteil einer Seite verwendet wird und dessen Größe auf 100% festgelegt wird, so dass sie immer an den Bildschirm angepasst wird.

Karosserie { Hintergrund: URL (bgimage.jpg) keine Wiederholung; Hintergrundgröße: 100%; }

Laut caniuse.com funktioniert diese Eigenschaft in IE 9+, Firefox 4+, Opera 10.5+, Safari 5+, Chrome 10.5+ und in allen gängigen mobilen Browsern. Dies gilt für alle modernen Browser, die heute verfügbar sind. Das bedeutet, dass Sie diese Eigenschaft verwenden sollten, ohne befürchten zu müssen, dass sie auf dem Bildschirm eines anderen nicht funktioniert.

Einen gestreckten Hintergrund in älteren Browsern fälschen

Es ist sehr unwahrscheinlich, dass Sie Browser unterstützen müssen, die älter als IE9 sind. Nehmen wir jedoch an, dass Sie besorgt sind, dass IE8 diese Eigenschaft nicht unterstützt. In diesem Fall können Sie einen gestreckten Hintergrund vortäuschen. Und Sie können die Browser-Präfixe für Firefox 3.6 verwenden (-Moz-Hintergrundgröße) und Opera 10.0 (-o-Hintergrundgröße).

Die einfachste Möglichkeit, ein gestrecktes Hintergrundbild zu fälschen, besteht darin, es über die gesamte Seite zu strecken. Dann haben Sie keinen zusätzlichen Platz mehr oder müssen sich keine Sorgen machen, dass Ihr Text in den gedehnten Bereich passt. So geht's:

id = "bg" />

  1. Stellen Sie zunächst sicher, dass alle Browser eine Höhe von 100%, 0 Ränder und eine 0-Auffüllung für und habenHTML KAROSSERIE Elemente. Fügen Sie im Kopf Ihres HTML-Dokuments Folgendes ein:
  2. Fügen Sie das Bild, das Sie als Hintergrund verwenden möchten, als erstes Element der Webseite hinzu und geben Sie es an Ich würde von "bg":
  3. Positionieren Sie das Hintergrundbild so, dass es oben und links fixiert ist und 100% breit und 100% hoch ist. Fügen Sie dies Ihrem Stylesheet hinzu:
    1. img # bg {
    2. Position: feststehend;
    3. oben: 0;
    4. links: 0;
    5. Breite: 100%;
    6. Höhe: 100%;
    7. }
  4. Fügen Sie der Seite innerhalb von a Ihren gesamten Inhalt hinzu DIV Element mit einem Ich würde von "Inhalt". Ergänzen Sie die DIV unter dem Bild:Alle Ihre Inhalte hier - einschließlich Kopfzeilen, Absätzen usw.
    1. Hinweis: Es ist interessant, jetzt Ihre Seite anzusehen. Das Bild sollte gestreckt angezeigt werden, Ihr Inhalt fehlt jedoch vollständig. Warum? Weil das Hintergrundbild 100% hoch ist und die Inhaltsaufteilung ist nach dem das Bild im Fluss des Dokuments - die meisten Browser zeigen es nicht an.
  5. Positionieren Sie Ihren Inhalt so, dass er relativ ist und eine z-index von 1. Dies wird es in standardkonformen Browsern über das Hintergrundbild bringen. Fügen Sie dies Ihrem Stylesheet hinzu:
    1. #content {
    2. Position: relativ;
    3. z-Index: 1;
    4. }
  6. Aber du bist noch nicht fertig. Internet Explorer 6 ist nicht standardkonform und weist immer noch Probleme auf. Es gibt viele Möglichkeiten, das CSS vor jedem Browser außer IE6 auszublenden, aber die einfachste (und wahrscheinlich unwahrscheinlich andere) Probleme sind die Verwendung von bedingten Kommentaren. Fügen Sie hinter Ihrem Stylesheet Folgendes in den Kopf Ihres Dokuments ein:
  7. Fügen Sie innerhalb des hervorgehobenen Kommentars ein weiteres Stylesheet mit einigen Stilen hinzu, damit der IE 6 nett spielt:
  8. Testen Sie unbedingt auch im IE 7 und IE 8. Möglicherweise müssen Sie die Kommentare anpassen, um sie ebenfalls zu unterstützen. Es hat jedoch funktioniert, als ich es getestet habe.

OK - das ist zugegebenermaßen übertrieben. Sehr wenige Sites müssen IE 7 oder 8 noch mehr unterstützen, viel weniger IE6! Daher ist dieser Ansatz veraltet und für Sie wahrscheinlich unnötig. Ich lasse es hier eher als Modell der Neugier, wie viel schwieriger die Dinge waren, bevor alle unsere Browser so gut zusammen gespielt haben!

Ein gestrecktes Hintergrundbild über einen kleineren Raum fälschen

Sie können eine ähnliche Technik verwenden, um ein gestrecktes Hintergrundbild über ein zu fälschen DIV oder ein anderes Element auf Ihrer Webseite. Dies ist etwas komplizierter, da Sie entweder die absolute Positionierung verwenden müssen oder für andere Teile Ihrer Seite ungewöhnliche Abstände haben.

  1. Platzieren Sie das Bild auf der Seite, die ich als Hintergrund verwenden möchte.
  2. Legen Sie im Stylesheet eine Breite und Höhe für das Bild fest. Hinweis: Sie können Prozentsätze für Breite oder Höhe verwenden, aber ich finde es einfacher, die Längenwerte für die Höhe anzupassen.
    1. img # bg {
    2. Breite: 20em;
    3. Höhe: 30em;
    4. }
  3. Platziere deinen Inhalt in einem Div mit der Ich würde "Inhalt" wie oben:Alle Ihre Inhalte hier
  4. Gestalten Sie den Inhalt div so, dass er dieselbe Breite und Höhe wie das Hintergrundbild hat:
    1. div # content {
    2. Breite: 20em;
    3. Höhe: 30em;
    4. }
  5. Positionieren Sie dann den Inhalt auf die gleiche Höhe wie das Bild.Wenn Ihr Bild also 30em ist, haben Sie den Stil top: -30em; Vergessen Sie nicht, den Inhalt mit einem Z-Index von 1 zu versehen.
    1. #content {
    2. Position: relativ;
    3. oben: -30em;
    4. z-Index: 1;
    5. Breite: 20em;
    6. Höhe: 30em;
    7. }
  6. Fügen Sie dann einen Z-Index von -1 für IE 6-Benutzer hinzu, wie Sie es oben getan haben:

Mit der großen Browserunterstützung, die jetzt auch im Hintergrund verwendet wird, ist dieser Ansatz höchstwahrscheinlich unnötig und wird als Produkt einer vergangenen Ära präsentiert. Wenn Sie diesen Ansatz verwenden möchten, testen Sie diesen unbedingt in so vielen Browsern wie möglich. Wenn sich die Größe des Inhalts ändert, müssen Sie die Größe des Containers und des Hintergrundbilds ändern. Andernfalls werden ungewöhnliche Ergebnisse angezeigt.