Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>CSS Problem, Spezi gesucht. Unterschiedliche Abstände.... more inside

CSS Problem, Spezi gesucht. Unterschiedliche Abstände.... more inside

Bernd
Bernd21.09.1013:18
Hi kann mir einer sagen warum ich bei den drei Einzelbildern zwischen dem div und der Headline einen Abstand habe, und beim Einzelbild nicht?

Ich hab jeweils magrin-bottom 40 px

Ich komm nicht dahinter, wäre toll wenn jemand helfen könnte.
DANKE

Hier die Links:
Drei Bilder:
Ein Bild:
und hier das CSS:

0

Kommentare

uplift
uplift21.09.1013:24
Gib dem h1 mal ein margin-top:-10px;
„Computer erleichtern uns ungemein die Arbeit an Problemen, die wir ohne sie nicht hätten. Ich habe keine Lösung, aber ich bewundere das Problem.“
0
Bernd
Bernd21.09.1013:31
 uplift
Naja bringt nix, da der Abstand jeweils um 10 px verringert wird.
0
preprintmedia21.09.1013:32
.conthead {
margin-bottom: 40px;
border-width: none;
height: 190px;
width: 600px;

Beim .conthead hast Du border-width: none und bei den .headpics nicht Vielleicht ist das das Problem.

Desweiteren fällt auf das es unterschiedliche height gibt (190px und 195px)

0
void
void21.09.1013:32
das div class="clear" is schuld.

erklärung: margin-bottom des bildes oben (bzw der 3 bilder) wird bis zum nächsten element berechnet. margin-top des h1 ebenfalls. hierbei entsteht bei einem bild eine schnittmenge, effektiv zählt dann der höhere wert. bei den 3 bildern ist das nächste element jedoch nicht das h1, sondern das div.

versuchs doch stattdessen mit h1 class="clear" (h1 is schließlich auch ein block-element)
„Developer of the Day 11. Februar 2013“
0
uplift
uplift21.09.1013:33
Hier noch ein Screenshot, der die Verdrängung des h1 containers zeigt:
„Computer erleichtern uns ungemein die Arbeit an Problemen, die wir ohne sie nicht hätten. Ich habe keine Lösung, aber ich bewundere das Problem.“
0
Bernd
Bernd21.09.1013:41
 void
h1 class="clear" bringt nicht
und alternativ clear zu löschen brachte auch nix!
0
sierkb21.09.1013:45
Einmal hast Du die Bilder in .conthead drin (welcher margin-bottom: 40px hat) und einmal nicht. Einmal benutzt Du .conthead, einmal kommen Deine Bilder bzw. das Bild direkt in div#content zu liegen.

Außerdem: warum soviel vermeidbarer Markup-Overhead (bläht den Code nur auf)? Wozu packst Du jedes Bild nochmal in einen Div-Container? Bilder sind von Natur aus Inline-Elemente, können also nebeneinander gesetzt werden. Wozu kapselst Du sie durch ein umgebendes <div> extra nochmal, nur um sie dann per float doch nebeneinander zu setzen? Und wenn Du schon floaten willst: warum machst Du nicht jedes Bild dann einfach per display:block einfach zu einem Blockelement und floatest dann? Das würde Dir das jeweils ummantelnde <div> ersparen und semantisch viel mehr Sinn ergeben.

Und: wozu ein <div class="clear"></div>, wenn danach sowieso ein Blockelement folgt (nämlich Deine <h1>-Überschrift), dem Du per CSS dieses von Dir gewollte "clear: both", damit es den Float-Prozess durchbricht und nach den gefloateten Elementen garantiert unten drunter gesetzt wird, ebenfalls mitgeben kannst (wo es semantisch gesehen auch viel mehr Sinn ergibt)?

Deine <h1>-Überschrift hat keinerlei Angaben zu margin und padding, noch nichtmal eine Reduzierung auf 0. Also wird diesbzgl. die diesbzgl. im Browser voreingestellte Größe dafür genommen (bin mir nicht sicher, aber es könnte 1em oder 1.5em sein, also die einfache bzw. eineinhalbfache Buchstabenhöhe des übergeordneten Elternelements). Vielleicht willst Du das ja für Dich an der Stelle regulieren, statt Deinen 40px-Abstand auf unterschiedliche Weise von oben her kommend festzuschreiben?

Nur mal so ein paar Ideen und Ansätze zur Problemlösung...
0
Bernd
Bernd21.09.1013:47
 sierkb
Da sag ich nur Schuster bleib bei Deinen Schuhen.
Danke für die ausführlichen Tipps. Bin halt kein Coder
0
uplift
uplift21.09.1013:48
Du hast a class="single_image" gar nicht definiert in deiner CSS!
.img_end hingegen schon.
„Computer erleichtern uns ungemein die Arbeit an Problemen, die wir ohne sie nicht hätten. Ich habe keine Lösung, aber ich bewundere das Problem.“
0
Bernd
Bernd21.09.1013:51
 sierkb
verwenden nun nur den .conthead und schon klappts
THX
0
sierkb21.09.1013:54
Außerdem: zwischendurch immer mal wieder auf Validität und Wohlgeformtheit achten, z.B. mittels

Markup Validation Service ,
CSS Validation Service ,
Unicorn - Der Einheitsvalidator des W3C (Neu! Unicorn vereint beide Validatoren in einem einzigen Werkzeug)

Oder per Browser-Erweiterung, welche auf diese Dienst zugreift. Oder diese Dienste lokal installieren.

Auch nur mal so am Rande als Tipp...
0
Bernd
Bernd21.09.1014:05
 sierkb
Das einzige was es an der Seite zu meckern gibt ist die Fancybox, und da auch nur die IE Hacks


Vielen Dank für Deine Hilfe
0
Bernd
Bernd21.09.1014:33
Wenn wir schon dabei sind,
warum funktioniert eigentlich mein active Status nicht?

#navi li a {
    padding-left: 10px;
    font-style: normal;
    font-weight: normal;
    color: #656565;
    padding-bottom: 5px;
    padding-top: 5px;
    font-size: 13px;
    display: block;
    line-height: 18px;
    text-decoration: none;
    border-bottom-color: #997d5e;
    border-bottom-style: dotted;
    border-bottom-width: 1px;
}

#navi li a:hover, #navi li a:active {
    background-color: white;
    color: #83633d;
}


Link zur Seite:
0
01Lucky21.09.1014:58
...ich hab mich jetzt noch nicht reingelesen, aber FireBug für Firefox kennst Du, oder?

Mit dem Add-On siehst Du recht schön die CSS-Einflüsse; vor allem auch vererbte Eigenschaften...
0
uplift
uplift21.09.1015:02
By the way:
Spare Code:
statt:
border-bottom-color: #997d5e;
border-bottom-style: dotted;
border-bottom-width: 1px;

border-bottom: 1px dotted #997d5e
„Computer erleichtern uns ungemein die Arbeit an Problemen, die wir ohne sie nicht hätten. Ich habe keine Lösung, aber ich bewundere das Problem.“
0
sierkb21.09.1015:03
Bernd:
warum funktioniert eigentlich mein active Status nicht?

Wie soll es denn sein?
Im CSS sollen bei Dir ja Hintergrund- und Vordergrundfarbe bei :hover und :active identisch sein. Und genauso wird's zumindest bei mir auch angezeigt. Wo ist also Dein Problem, bzw. wie hättest Du es denn gerne?

Zudem -- das hier solltest Du wissen und beherzigen: bzw. hier (deutsche Übersetzung).
Beispiel:

A:link { color: red } /* nicht besuchte Links */
A:visited { color: blue } /* besuchte Links */
A:hover { color: yellow } /* Benutzer selektiert */
A:active { color: lime } /* Aktive Links */


Beachten Sie, dass die Regel A:hover nach den Regeln für A:link und A:visited platziert werden muss, weil die kaskadierenden Regeln sonst die 'color'-Eigenschaft der Regel für A:hover verbergen. Weil A:active hinter A:hover platziert ist, wird analog dazu die aktive Farbe (lime) angewendet, wenn der Benutzer das A-Element markiert und aktiviert.
0
Bernd
Bernd21.09.1015:09
sierkb

NE bei mir wird der active wieder zu link, also KEINE hintergrundfarbe beim geklickten Menupunkt
0
sierkb21.09.1015:22
Bernd
@@ sierkb

NE bei mir wird der active wieder zu link, also KEINE hintergrundfarbe beim geklickten Menupunkt

Den IST-Zustand sehen wir.
Und wie soll der von Dir gewünschte SOLL-Zustand sein? Farbe der Vordergrundfarbe soll beibehalten werden, Hintergrundfarbe soll NICHT weiß sein, sondern die Hintergrundfarbe des Menüs? In dem Fall müsstest Du erstmal

#navi li a:hover, #navi li a:active {
background-color: white;
color: #83633d;
}

auftrennen und a:hover und a:active zumindest unterschiedliche Hintergrundfarben geben und nicht dieselben wie bislang geschehen...
0
Bernd
Bernd21.09.1015:35
liegt es evtl. daran das die navi per php include geladen wird?
0
Request
Request21.09.1015:49
„1984 - Think different - Macintosh - iPhone / iPad - Think nothing - 2014“
0
sierkb21.09.1015:52
Bernd:

Und was wäre mit:

#navi li a:hover {
    background-color: white;
    color: #83633d;
}

#navi li a:active {
    background: transparent; /* Hintergrundfarbe transparent, sodass beim Klick der gräuliche Hintergrund durchscheinen kann */
    color: #83633d;
}
oder auch:
#navi li a:active {
    background-color: inherit; /* inherit: Hintergrundfarbe vom übergeordneten Element vererben, so zuvor überhaupt vergeben */
    color: #83633d;
}
0
silentgreen
silentgreen21.09.1017:30
Bitte das Impressum nicht vergessen. Ist leider Pflicht in Deutschland für gewerbliche Internetauftritte.
0
Bernd
Bernd21.09.1017:49
Klar … wir sind noch in der DEMO Phase!
0
silentgreen
silentgreen21.09.1018:01
Gut gemachtes Demo
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.