Autor Zpráva
jmk2
Profil *
Zdravím,
vůbec mi nedává logiku práce s okraji (marginem) a jeho slučování okrájů (hroucení) a už vůbec ne, když se k tomu přidají plovoucí alementy.
Budu rád když mi s tím někdo nějak rozumně a smysluplně pomůže.

Momentálně mám následující situaci:
HTML:
<div id="obsah">
      <div id="logo">
        <h2>Název webu</h2> 
      </div>
      <ul id="mainNav">
        <li class="aktivni"><a href="">Domů</a></li>
        <li><a href="">Menu</a></li>
        <li><a href="">Menu</a></li>
        <li><a href="">Menu</a></li>
        <li><a href="">Menu</a></li>
      </ul>
      <div id="big-title">
      </div>
    </div>

CSS:
div#obsah {
           width: 960px;
           margin: 0 auto 0 auto;
           overflow: hidden; /* Nevím proč ale funguje to alespoň trochu. Před tím, než jsem to přidal, tak jsem marginem nemohl odsadit div big-title. Teď to jde, ale margin se počítá od okraje stránky - případně divu id=obsah, ne od loga, jak bych nejépe potřeboval a jak by to asi mělo být  */
          }

/* Logo */
         
div#logo h2 {
            color: #fff;
            display: none;
            }
            
div#logo {
          background: url("images/logo.png") no-repeat;
          width: 266px;
          height: 47px;
          margin-top: 27px;
          float: left;
         }

/* Navigace */

ul#mainNav {
            list-style-type: none;
            padding-left: 0;
            margin: 30px 0 0 0;
            float: right;
           }
           
ul#mainNav li {
               float: left;
               padding: 0 8px 0 8px;
               margin: 0 0 0 25px;
              }
         
ul#mainNav a {
            display: block;
            color: #fbfbf3;
            text-decoration: none;
           }
           
ul#mainNav a:hover {
                    color: #c2151c;
                    text-shadow:0 0 1px #c2151c, 0 0 1px #c2151c, 0 0 1px #c2151c; /* For bold hover effect, because shifting on bold hover*/
                   }
                   
ul#mainNav li.aktivni {
                       color: #c2151c;
                       font-weight: bold; 
                       background: url("images/podtrzeni-akt-link.png") no-repeat bottom center;
                       padding-bottom: 7px;
                      }
                      
ul#mainNav li.aktivni a {
                         color: #c2151c;
                        }
                        
/* Titulek */

div#big-title {
               width: 960px;
               height: 180px;
               background: url("images/background-big-title.png") no-repeat top left;
               clear: both;
               margin-top: 50px;
              }
mimochodec
Profil
jmk2:
Nevidím otázku. Krom toho: zkopíruj to do http://kod.djpw.cz , ať se s tím dá pracovat.
juriad
Profil
Ty věci, co mají být vedle sebe, dej ještě do jednoho divu a tomu dej overflow - to zajistí ukončení plavání. A od tohoto divu můžeš odpíchnout ten titulek marginem.
Asi chceš toto (po výrazném zkulturnění, změnách barev a vyházení zbytečností):
http://kod.djpw.cz/pveb

Otázka by nejspíš byla: „Proč mezi titulkem a logem není mezera 50px?“
jmk2
Profil *
juriad: Obalit to do divu je asi taky možnost a funguje. Chtěl jsem ušetřit jeden zbytečný div. Každopádně to bude asi zbytečné a díky za radu.

Ale i tak nechápu proč. Asi holt prohlížeč bere jako kdyby tam ty plovoucí elementy nebyly a nepočítá margin od nich. Proč ale overflow? Ten přece řeší obsah v elementu a jeho přetečení, jaký vliv to má tady?
Bubák
Profil
jmk2:
Proč ale overflow?
Přiznám se, že nevím, zda to má oporu v CSS specifikaci, ale overflow se dá použít napříč prohlížeči pro ukončení obtékání.
http://jecas.cz/float, část clearování.
jmk2
Profil *
Jo tak, takže oni z toho elementu jakoby vyplavou. Otázka je, když to není standardní chování, jestli se nemůže stát, že by to prohlížeče přestaly podporovat )Kvůli standardům css) a nebylo by lepší to raději řešit jinak?
juriad
Profil
jmk2:
Žádný prohlížeč si kvůli hloupé specifikaci nedovolí rozbít zobrazení milionů webů. Specifikace je navíc často vytvářená zpětně - popisuje něco, co již většina prohlížečů podporuje a je to zaběhnutou praxí.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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