Autor Zpráva
Matmak
Profil
Mám takovou otázečku...
mam jeden div nahoře (NE z-index, ale výše na stránce) a druhý pod ním mezi nimi mám asi 5px mezeru a nemůžu se ji zbavit.
Ten vrchní je plný odkazů, ale ním to není...
Ten spodní je pln <p>.

Když napíšu text přímo do spodního divu
<div class="spodni">
lasdfjsaldf
</div>

...tak mezera tam není, ale když:
<div class="spodni">
<p>Lorem ipsum dolor sit amet...</p>
</div>

... stejný výsledek, respektive sejná mezera vznikne když místo <p> použiji např. <h2>
když potom nastavim v globalnich stylech:
p {
margin: 0;
}

/* NEBO */
h2 {
margin: 0;
}
...tak se to zase spraví, potřeboval bych aby ten můj spodní div nebyl závislý na svým obsahu.
Prosím objasnění funkčnosti divu v tomto případě, děkuji.
pro lidi co si to neumějí představit :D http://kod.djpw.cz/ptob
Str4wberry
Profil
Nemůže se jednat o toto? Margin v CSS
Martin02
Profil
Matmak:
Jde o to, že elementy (vč. p) mají defaultně nějaký margin, padding apod. Vždycky, než začneš dělat nejakou stránku, první přidej do stylů toto:
* {
  margin: 0;
  padding: 0;
}

Tím zrušíš všechny automatické mezery. Až potom začni dělat stránku, tudíž si potřebný margin, padding nastavuj ručně. Btw, dělá se to taky hlavně proto, že každý prohlížeč se chová trochu jinak a tímhle to eliminuješ.
Joker
Profil
Martin02:
Jde o to, že elementy (vč. p) mají defaultně nějaký margin
On ale -jestli jsem to pochopil- chce margin na <p> (resp. ho nechce zakazovat), ale nechce margin na rodičovském <div>.

Je to to, co píše Str4wberry, tzv. slučování okrajů. Tj. pomůže tomu prvku <div> nastavit margin, padding nebo overflow.

Taky se slučují jen okraje blokových prvků, takže by ten efekt nenastal ještě v případě, že by první prvek v tom <div> byl řádkový (např <span>, ale nestačí tam dát jen <span></span>).

Jinak přes hvězdičku úplně všemu vyresetovat margin a padding mi nepřipadá jako dobrý nápad.
Bubák
Profil
Ohledně CSS resetu vyšla spousta článků, třeba tento http://jecas.cz/css-reset popisuje různé možnosti včetně výhod a nevýhod každé z nich.
Matmak
Profil
Joker:
Tj. pomůže tomu prvku <div> nastavit margin, padding nebo overflow.
ne, nastavit margin divu nepomůže (pomohlo by, jak jsem již psal nastavit ho u prvků v něm).
Padding funguje a problém je pryč.
Overflow sice pomůže ale není to pěkné řešení, protože ten defaultní margin u <p> zůstane a je nutné ho stejně přenastavit.

...myslím že jsem již pochopil funkčnost mého problému, děkuji všem za odpovědi.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: