MozillaPL.org - polskie centrum Mozilli

Główne menu:

[HTML/CSS] Uciekanie koloru tła

Jak tworzyć strony WWW zgodnie ze standardami

Moderator: Pomocy?!

[HTML/CSS] Uciekanie koloru tła

Postautor: Egree » 26 maja 2006, 19:30

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; en-GB; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Tak to jest, gdy ktoś kto zna się na czymś słabo, zabiera się za to. Bez praktyki trudno jednak czegoś się nauczyć, a bez pomocy rozwiązać niektóre problemy.

W ten sposób wygląda zawartość body:
Kod: Zaznacz cały
<div id="wrapper">

<div id="header">
<h1>...</h1>
</div>

<div id="content">
<div class="entry">
<h2>...</h2>
<div class="entry_content">
...
</div>
<div class="entry_meta">
...
</div>
</div>

<div id="page_menu">
<div id="meta_menu">
...
</div>
<div id="journal_categories">
...
</div>
<div id="journal_archive">
...
</div>
<div id="blogroll">
...
</div>
</div>

<div id="author_menu">
<div id="about_author">
...
</div>
<div id="del_icio_us">
...
</div>
<div id="flickr">
...
</div>
<div id="last_fm">
<h2>Last.fm</h2>
...
</div>
</div>

<div id="footer">
...
</div>

</div>

Osiągnąć chcę efekt trochę podobny, jak na stronie 5ThirtyOne, tzn. zawartość content jest na białym tle, zawartość page_menu, author_menu i footer na tle innego koloru (dajmy na to, że szarego). Tu właśnie pojawia się problem. Nic nie daje określenie koloru tła dla body w arkuszu styli jako białego, a tła dla tych trzech wymienionych wyżej elementów jako szarego. Reaguje footer (uzyskuje szary kolor), jednak te dwa bloki menu nie reagują, ponieważ bloki poszczególnych menu (journal_archive, journal_categories...) mają określone w arkuszu styli float, zauważyłem że jest to ściśle z tym związane.

Udało mi się obejść ten problem, określając tło body jako szare, a tło header i content białe. Autor 5ThirtyOne doszedł do takiego samego rozwiązania. Osiągnąłem efekt, jak na zrzucie ekranu:
Obrazek
Mógłbym uznać, że wszystko jest w porządku, jednak chciałbym wykombinować coś, co wcześniej wykombinowano na stronie meyerweb.com. Chodzi tylko o to, że kiedy w arkuszu styli określam:
Kod: Zaznacz cały
.entry_content {
width: 80%;
float: right;
}

.entry_meta {
width: 20%;
float: left;
}

tracę biały kolor tła, widać to na zrzucie ekranu:
Obrazek
Dlaczego tak się dzieje? Co można temu zaradzić? Wiem, że opis problemu jest długi, ale postarałem się go naświetlić jak najdokładniej. Okrutnie mnie ciekawi, co na to można poradzić. :)
Egree
 
Posty: 41
Z nami od: 01 lutego 2005, 12:06
Lokalizacja: Szczecin

Postautor: riddle » 26 maja 2006, 22:07

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Kod: Zaznacz cały
<div id="wrapper">

<div id="header">
<h1>...</h1>
</div><!-- header -->

<div id="content">

   <div class="entry">   
      <h2>...</h2>   
      <div class="entry_content">...</div><!-- entry_content -->      
      <div class="entry_meta">...</div><!-- entry_meta -->   
      <div class="clear"></div>
   </div><!-- entry -->

   <div id="page_menu">
      <div id="meta_menu">...</div><!-- meta_menu -->
      <div id="journal_categories">...</div><!-- journal_categories -->
      <div id="journal_archive">...</div><!-- journal_archive -->
      <div id="blogroll">...</div><!-- blogroll -->
   </div><!-- page_menu -->

   <div id="author_menu">
      <div id="about_author">...</div><!-- about_author -->
      <div id="del_icio_us">...</div> <!-- del_icio_us -->
      <div id="flickr">...</div><!-- flickr -->
      <div id="last_fm">
         <h2>Last.fm</h2>
      </div><!-- last_fm -->
   </div><!-- author_menu -->

   <div id="footer">...</div><!-- footer -->

</div><!-- content -->

</div><!-- wrapper -->

div.clear { clear: both; }

albo bez tego i

div.entry { overflow: auto; }


Dlaczego tak się dzieje? Wybijasz dwie kolumny z document flow, przez co boks w którym się znajdują przestaje być rozciągany przez ich zawartość - i tło znika, bo na co ma być aplikowane? Dodatkowy div class="clear" wystarczy, jak napisałem wyżej.

Ktoś Cie powinien zabić za niezamykanie divów komentarzami - bez tego g***o widać dla osoby niezapoznanej z kodem (no i bez wcięć), serio. Nawet Ty nie zauważyleś, że nie zamknąłeś #content.
riddle
 
Posty: 502
Z nami od: 24 maja 2004, 17:43
Lokalizacja: Łódź

Postautor: Egree » 26 maja 2006, 22:23

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; en-GB; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Dzięki, wiedziałem że jakoś to tak będzie, przyuważyłem u YaaL podobne rozwiązanie. Zamknięcie content zgubiło mi się w czasie kopiowania kodu na forum, ale faktycznie, muszę nauczyć się używania komentarzy. Do wcięć w kodzie jakoś nie mogę się przekonać, nie jest to dla mnie przejrzyste, ale poeksperymentuję. :)
Egree
 
Posty: 41
Z nami od: 01 lutego 2005, 12:06
Lokalizacja: Szczecin


Wróć do Tworzenie stron WWW

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: