Hintergrund begrenzen

Hallo,

bei einer Internetseite habe ich ein zentriertes Hintergrundbild, das sich vertikal wiederholt. Ganz zum Schluss habe ich manuell eine Grafik eingefügt die bündig unten abschließen soll.

Das Problem: Nach dem letzten Bild kommen noch mal ein paar Pixel Hintergrundbild. Wie kriege ich die weg?

Quellcode:

Titel

body {max-width:700px;
width:700px;
margin:auto;
background-image: url(‚back.jpg‘);
background-repeat: repeat-y;
background-position: center
}

Inhalt

Inhalt

Inhalt

Inhalt

//nach diesem Bild kommen noch ein paar Pixel, die ich aber nicht haben will. Das letzte Bild soll unten bündig abschließen.

Moin,

Mal eine Frage: Wozu sollen die um die herum sein?
dient dazu, eine logische Gruppe auszuzeichnen. Ein einzelnes Tag kann keine Gruppe sein. Da das auch sonst keine besondere Formatierung hat (auch keine, die das genauso bekommen könnte), ist es hier völlig überflüssig.

Ein Tipp zu Deinem Problem: Installier Dir Firebug für Deinen Firefox und guck direkt nach, woher der Abstand kommt. Da kannst Du pixelgenau sehen, welchen Bereich Deine Elemente einnehmen und wie groß margins bzw. paddings sind. Damit ist Deine Frage schnell beantwortet. Aus dem Code heraus kann man Deine Frage nicht eindeutig beantworten. Es könnte auch der Zeilenumbruch zwischen und

Laut xhtml-Standart muss das img in irgend einem Block stehen.
Genaus so muss der alt tag gesetzt sein. Der Inhalt ist egal, hauptsache da ist einer. Ansonsten wäre das ganze nicht xhtml konform.

Laut Firebug ist das div tag tatsächlich dafür verantwortlich.
Ohne div tag(nicht xhtml konform) ist nichts dafür verantwortich.

Nach dem letzten Element kommen einfach noch ein paar Pixel.

Wenn ich den Block weglasse und das Bild alleine mache ergibt das keine Änderung.
Wenn ich das in einen p tag setze ebenfalls keine Veränderung.

Hallo,

bei einer Internetseite habe ich ein zentriertes
Hintergrundbild, das sich vertikal wiederholt. Ganz zum
Schluss habe ich manuell eine Grafik eingefügt die bündig
unten abschließen soll.

Das Problem: Nach dem letzten Bild kommen noch mal ein paar
Pixel Hintergrundbild. Wie kriege ich die weg?

margin-bottom auf Null setzen?

Cheers, Felix

Laut xhtml-Standart muss das img in irgend einem Block
stehen.

Laut dem Sinn von HTML haben die Tags aber auch eine logische Bedeutung, und die erschließt sich mir nicht, wenn Du ein Image in eine logische Gruppe einstellst, obwohl da keine Gruppe ist. In so einem Fall ist ein Textabsatz oft die sinnvollere Lösung (also ).

Genaus so muss der alt tag gesetzt sein.

Es gibt keinen alt-Tag, nur ein alt-Attribut. Und ja, das muss natürlich gesetzt sein. Aber der Inhalt dieses Attributs muss natürlich so sinnvoll sein, dass jemand, der das Image nicht dargestellt bekommt, damit auch was anfangen kann! Es geht ja bei HTML nicht darum, stur irgendwelche Vorschriften zu befolgen, die haben ja auch alle einen tieferen Sinn. Und das alt-Attribut mit Unsinn zu füllen, mag zwar syntaktisch richtig sein, ist aber eben Unfug.

Der Inhalt ist egal,
hauptsache da ist einer.

Du hast den Sinn von HTML nicht verstanden. Genauso sagst ein „30“-Schild vor einer Schule auch mehr aus als „Fahr hier maximal 30!“. Du sollst da außerdem bremsbereit sein, auf Kinder aufpassen und mit dem Fehlverhalten anderer Verkehrsteilnehmer rechnen.

Ansonsten wäre das ganze nicht xhtml konform.

Das heißt, Du machst alles regelkonform, weißt aber eigentlich gar nicht wofür Du das machst? Hier könnte man argumentieren, dass die Browser auch fast alles darstellen, was nicht regelkonform ist (was natürlich kein gutes Argument ist!).

Du befolgst zwar die Regeln, was gut ist, aber Du weißt eigentlich gar nicht, warum Du das tust (was nicht gut ist).

Laut Firebug ist das div tag tatsächlich dafür
verantwortlich.

Nein, das Tag selbst ist nicht dafür verantwortlich, nur irgendwelche CSS-Eigenschaften, die für dieses div gesetzt sind.

Ohne div tag(nicht xhtml konform) ist nichts dafür
verantwortich.

Änderst Du das div in ein p ist vermutlich das p verantwortlich. Aber auch nur aufgrund seiner CSS-Eigenschaften.
Denn HTML ist ja gar nicht für das Aussehen der Website verantwortlich, sondern ausschließlich CSS.

Also musst Du natürlich nicht das Tag entfernen (was, wie Du richtig festgestellt hast, ein Fehler wäre), sondern die verantwortliche Eigenschaft abändern.

Nach dem letzten Element kommen einfach noch ein paar Pixel.

Da kommt ja auch noch ein Zeilenumbruch (= Whitespace).

Wenn ich den Block weglasse und das Bild alleine mache ergibt
das keine Änderung.
Wenn ich das in einen p tag setze ebenfalls keine
Veränderung.

Du versuchst, Veränderungen am Aussehen durch das Ändern der logischen Struktur zu erreichen - das kann ja auch nicht klappen.

Du willst einen Fehler am Aussehen ändern, also musst Du auch am Aussehen was machen - also in CSS. HTML ist dafür nicht verantwortlich.

Fazit: Es ist gut, dass Du regelkonform arbeitest, aber Du solltest auch versuchen zu verstehen, warum Du das machst. Und Du solltest lernen, zu verstehen, was HTML eigentlich ist, was CSS ist und wie alles miteinander harmoniert. Dann wird sicher einiges klarer!

Noch Fragen? Fragen!

Liebe Grüße,
-Efchen

Du meinst sicherlich
style=„margin-bottom:0px“

Aber für welches Element?
im div und im img hat es keinen Effekt.
auch im body nicht

Also musst Du natürlich nicht das Tag entfernen (was, wie Du
richtig festgestellt hast, ein Fehler wäre), sondern die
verantwortliche Eigenschaft abändern.

Ja, und meine Frage ist welche?? Wo muss ich welche Eigenschaft setzen damit es unten bündig ist? Ich nehme mal an, dass ich irgend einen Wert auf 0px setzen muss. nur welcher?

Da kommt ja auch noch ein Zeilenumbruch (= Whitespace).

Auch ohne White Space ergibt sich keine Änderung.

Lösung gefunden

Moin!

die css Eigenschaft
display:block

Das nennst Du White Space?
Unter White Space verstehe ich eine Lücke oder einen Zeilenumbruch, und das Entfernen des Zeilenumbruchs hat rein gar nichts gebracht. Erst die css Eigenschaft hat etwas bewirkt.

Achja um es mit Deinen Worten zu sagen. Mit Inhalt verändert man doch nicht das Aussehen.

Entschuldige, nein. Da hab ich was übersehen. Ich habe nur gesehen, dass Du hier die Whitespaces entfernt hast, also dass