ugrás a tartalomhoz

wrapperből kilépés

Gl3am · 2013. Jan. 23. (Sze), 00.50
Sziasztok!

Adott a következő HTML5 struktúra:

<body>

  <section id="top">
    <aside id="postal_address">
    </aside>
  </section>

  <header id="header">
    <a href="#"><img src="logo"></a>

    <nav id="primary_nav">
    </nav>
  </header>

</body>
Képzeljetek el egy olyan weboldalt ami zebracsíkos. A html-nek adtam háttérszínt, a body a wrapper.

A top tartalma középre igazítva(body) és a html a háttérszíne, ez így jó.
A header tartalma középre igazítva(body) és szeretnék neki egy teljesen más színt adni, ami teljesen kitölti horizontálisan a böngészőt.

Tudom hogyan kell ezt csinálni, de én most azt szeretném, hogy a body legyen a wrapper.

Tehát a body marad wrappernek és nem veszek fel a header alá divet. Maradnia kell mindennek így ahogy a megadott forrásban van.

Tudom, hogy szabad használni divet, de én így szeretném megoldani:)

Dióhéjban:
A wrapperből hogyan lépjek ki úgy a headerel, hogy a tartalom marad középen de a háttérszín width: 100% és nem veszek fel újabb tagot.

Köszönöm,
gl3am

[Szerk.]
A body relative:

body { width: 978px; margin: 0 auto; position: relative; }
 
1

Egyelőre megoldottam before

Gl3am · 2013. Jan. 23. (Sze), 02.21
Egyelőre megoldottam before és afterel, de ha nincs hozzá működő hack(IE) akkor ez sem opció:)
2

position:absolute

Blintux · 2013. Jan. 23. (Sze), 14.14
Próbáld meg, hogy a #header-t absolutra pozicionálod, így ki tud lépni a body-ból.
Szintén a #header-ben elhelyezel egy text-align:center-t, így középen lesznek a benne lévő dolgok.
Valahogy így: http://jsfiddle.net/ZsA32/1/
3

Köszönöm. hogy segíteni

Gl3am · 2013. Jan. 23. (Sze), 17.14
Köszönöm. hogy segíteni próbálsz.

Ha így csinálnám, akkor elveszítené az értelmét az, hogy a body a wrapper. A center meg abszolút nem jó :)

Egyelőre így oldottam meg(negatív margó):
http://jsfiddle.net/gl3am/SbwAt/3/embedded/result/

A before és az after dobva lett. Van benne overflow-x: hidden; ami nem hagy nyugodni IE fronton:)

Mindegy, egyelőre jó így.
4

Elolvastam a témanyitásom és

Gl3am · 2013. Jan. 23. (Sze), 17.23
Elolvastam a témanyitásom és nyilván nem fogalmaztam túl pontosan akkor, amikor ilyen szavakat használtam "középre":)

text-align :center nem kell, nagyon ritkán használom. :) A wrapper van középen.
5

Ha a body relatív szélességű

Szuperjég · 2013. Jan. 23. (Sze), 21.03
Ha a body relatív szélességű lenne, akkor lehetne. Például ha mondjuk a body 80%, akkor a header lehetne: margin: 0 -12.5%; padding: 0 12.5%. Body-nak még adhatnál egy min-width: 978px-t.

http://jsfiddle.net/tvZrE/1/

De passz, úgy ahogy leírtad nincs ötletem.:)

A section elemet szerintem egyébként nem erre szánták, mármint hogy nagyobb strukturális egységeket fogjon közre.
6

Amit itt leírtál az ott van a

Gl3am · 2013. Jan. 23. (Sze), 21.33
Amit itt leírtál az ott van a második kommentemben, ne keresd a megoldás mert már meg van.

A section elemet szerintem egyébként nem erre szánták


A topban az egyik oldalon cím, tel. szám, email... a másik oldalán pedig egy kosár van ami darabszámot mutat, etc.

Szívesen megmutatom:

<section id="top">
  <aside id="postal_address">
    del.
  </aside>

  <aside class="cart_top">
    <span class="cart_icon sprite">a kosár jelenleg üres</span>
  </aside>
</section>
Nekem ez így simán belefér, hogy section legyen. De ha van jobb ötleted, hogy diven kívül mivel fogjam össze a két asideot, akkor jöhet :)
8

Igen, bár ha nem fix

Szuperjég · 2013. Jan. 24. (Cs), 06.58
Igen, bár ha nem fix szélességű a body, akkor az overflow elhagyható.

Szerintem használhatsz div-et. Itt egy cikk erről:

http://html5doctor.com/you-can-still-use-div/
9

Igen, bár ha nem fix

Gl3am · 2013. Jan. 24. (Cs), 09.08
Igen, bár ha nem fix szélességű a body, akkor az overflow elhagyható.


De fix szélességű a body, lásd a témanyitásom.

Egy kicsit több odafigyeléssel olvass.:) Leírtam, hogy tisztában vagyok azzal, hogy használhatok divet, de én pont ott most nem fogok. Egyébként is, ez a forráskód csak egy részlete egy egésznek.
7

section

Gl3am · 2013. Jan. 23. (Sze), 22.19
De azért tudom, hogy igazad van. :)