Hintergrund eines DIV-Containers mittels einer sog. CSS-Spritegrafik zusammenstellen

  • Hallo Leutz,

    ich habe folgende Aufgabe zu bewältigen und komme nicht klar , ich bitte dringend um Hilfe!

    Ich habe eine Grafikdatei (siehe Anlage) namens bg-sprites. In dieswer Datei sind 2 Einzelgrafiken mit einer Breite von 50 Pixeln und einer Höhe von 50 Pixeln enthalten.
    Des weiteren existiert eine html-datei, namens index.html, deren Code folgend aufgeführt ist. Der Vereinfachung halber wurde der CSS-Code mit in den Script-Bereich der HTML-Datei geschrieben.

    Aufgabe ist es nun, den DIV-Container "spielfeld" mit einer Grösse von: 950 Pixeln (Breite) und einer Höhe von 650 Pixeln wie folgt zu füllen:
    Der Hintergrund des Divs soll komplett mit den Kacheln wie folgt ausgefüllt werden: Als Muster gibt es folgende Vorgabe: Sprite mit 1 = helles Bild, Sprite mit 2 = dunkles Bild.
    Hier also erstmal das vorgegebene Muster:

    121212...
    212121...
    121212...
    .
    .
    usw.

    Also immer abwechselnd, so das gleiche Sprites nicht nebeneinander liegen
    Wie bekomm ich das nun hin? An welchem Element muss ich die Spritegrafiken nun aufhängen?

    Hier der HTML/CSS-Code, den ich bereits habe:

    Und hier als Anlage die Grafikdatei:

    Einmal editiert, zuletzt von Joo (26. März 2012 um 09:46) aus folgendem Grund: Fehler beseitigt

  • Zitat

    <body></body>


    Aber hallo, da hast du dir ja schon richtig Mühe gegeben und eine prima Vorlage geschaffen, die wir korrigieren könnten. :(

    Was machen wir hier, deine Hausaufgaben?

  • Hallo Bandit,

    sozusagen. Ich hab nen Kurs für Webentwicklung am laufen. Ich komme ja soweit ganz gut klar. Aber diese Aufgabe raubt mir den Verstand.
    Ich hatte schon nachgedacht, ob ich das ganze an li 's hänge oder an andere divs innerhalb des divs spielfeld und diese dann float:left setze. Aber kann ich nen div ohne id verwenden und ihr einfach die klasse .sprite-1 bzw sprite-2 zuordnen?
    das wären ja dann zig divs! Das muss doch einfacher gehen!

    Wenn du es weisst, dann gib mir zumindest nen kleinen Schubser in die richtige Richtung = Tip!

    Vielen Dank im Voraus
    Gruss Joo

  • Hallo Bandit
    So, ich hab weiter versucht!
    Bis jetzt hjab ich es jetzt geschafft, das ich bei Verwendung von Einzelbikdern das mit divs ohne id hinbekomme, Das heisst,
    ich lege divs innerhalb des divs spielfeld an, weise diesen abwechselnd die Klasse sprite-1 bzw. 2 zu. In CSS setze ich jetzt auf Einzelbilder.
    ich lege einen Selektor div.sprite-1 bzw div.sprite-2 an und weise diesen dann das jeweilige Hintergrundbild, eine Höhe und Breite von 50 und ein Float:Left zu.
    Dann geht das. Die Frage ist nur, ob das die Lösung sein soll? Zig divs um nen Hintergrund zu kacheln und zweitens, mit der css-Spritegrafik das bekomm ich nicht hin,
    was muss ich denn der Klasse dann für werte bei background-position und background-repeat mitgeben?

  • Ist doch kein Problem.
    Grafik erstellen und die Positionen der zwei Bilder merken(Notieren)
    Mit background-position positionieren. Fertig!

  • Wenn Ihr PHP einsetzen dürft, wäre das deutlich kleiner als


    denn dann sähe das so aus:

    Einmal editiert, zuletzt von Bandit (26. März 2012 um 11:40)

  • Hallo Bandit,

    also quasi meine Lösung mit divs ist ja scheinbar richtig! Nur eben ohne den php-teil, denn das kommt erst später, das wir php machen! Javascript wird das nächste sein was wir noch machen in diesem Zusammenhang mit der Aufgabe!
    Trotzdem Danke. Mit php wird das enorm kürzer, obwohl, wenn der Server das an den Client schickt, ja quasi das gleiche rauskommt wie ich es jetzt von Hand gebastelt hab!

    Nochmals Danke Bandit!

  • ich habe mir dass nicht alles durch Gelsen und bin gerade seid ca. 10min im Forum Registriert aber ich vermute, dass du dass Hintergrundbild im div Container strecken willst?!

    viele sagen das geht nicht aber es ist mit ein wenig schummeln ganz simpel

    code:

    <style type="text/css">
    html, body {margin:0; padding:0; width:100%; height:100%; overflow:hidden; text-align:left;}
    body {font-family:timesnewroman, papyrus;}
    #bkgrnd {position:fixed; top:0; left:0; width:100%; height:100%; z-index:1;}
    #content { position:absolute; z-index:2;}
    </style>


    </HEAD>


    <body>
    <div>
    <img src="images/background.jpg" alt="background image" id="bkgrnd">
    </div>


    <div id="content">

    ähhm ich weis noch nicht wie man so ne sprechblase einfügt :o