ugrás a tartalomhoz

IE6, CSS, 2 oszlop, +1 pixel, de honnan?

coder · 2006. Júl. 24. (H), 18.51
A téma mindent elárul azt hiszem. Egyszerűen nem tudok rájönni, hogy az alábbi kódrészletben honnan keletkezik Exproller 6-tal +1 pixel rejtélyes margó.

Alapállapotban nem túl számottevő, kicsit beljebb csúszik a szöveg addig, amíg a nav (sárga) rész tart, a screenshoton a "justo" kezdetű sor még beljebb van, az "arcus" kezdetű viszont már jó.

Viszont ahogy kikommentezem a css-ben a "height: 1%;" (#content-en belül) részt jobban láthatóvá válik a bug. Az egész content blokk +1 pixellel elcsúszik (ss). Ha meg a h1-nek 100% szélességet adok (width: 100%;) az egész content blokk lecsúszik a nav aljáig (ss).

Hogy lehet ezt elegánsan, a meglévő kód teljes átalakítása nélkül kiküszöbölni? Szükégem lenne rá hogy két egymás mellett lévő oszlopnak az egyiknek relatív (százalékos) magassága legyen.

A hozzászolásokat előre is köszönöm.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
  <style type="text/css" media="screen">
  /*<![CDATA[*/
  #nav {
    width: 220px;
    float: left;
    background: yellow;
  }

  #content {
    /*height: 1%;*/
    margin-left: 220px;
    background: green;
    color: white;
  }

  h1 {
    background: blue;
    /*width: 100%;*/
    margin: 0;
    padding: 0;
  }
  /*]]>*/
  </style>
</head>

<body>

    <div id="nav">

      <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In porttitor
      congue metus. Mauris varius. Donec nec odio. Donec sagittis velit eu quam.
      Sed facilisis pharetra mauris. Aliquam lacinia, pede et varius elementum,
      dui neque iaculis risus, sit amet commodo ipsum eros eu magna. Nulla
      adipiscing sapien a neque.</p>

    </div>

    <div id="content">
      <h1>head</h1>

      <p>Quisque pellentesque, turpis nec scelerisque gravida, turpis urna
      sagittis erat, dapibus blandit velit quam at turpis. Ut urna mauris,
      molestie vel, mattis nec, eleifend in, diam. Vestibulum nonummy facilisis
      augue. Mauris odio. Curabitur ut leo nec felis convallis condimentum.
      Maecenas lacinia tincidunt odio. Pellentesque fermentum justo vel metus
      congue mollis. Duis a pede id arcu vulputate cursus. Aliquam est. Nunc
      nisl libero, lobortis at, eleifend vitae, tincidunt eu, leo. In nunc.
      Nullam mollis vehicula nunc. Lorem ipsum dolor sit amet, consectetuer
      adipiscing elit.</p>

      <h1>head</h1>

      <p>További szöveg...</p>
    </div>

</body>
</html>
 
1

3px bug

Jano · 2006. Júl. 24. (H), 19.03
Valószínű ez lesz:
The IE Three Pixel Text-Jog
2

Ezaz!

coder · 2006. Júl. 24. (H), 19.32
Köszi! Pont most akartam írni, hogy valójában 3pixel az az 1pixel (csak így nagy felbontásban benéztem), aztán így hogy 3pixelre kerestem meg is találtam ráadásul pont ezt! :)
Szóval a megoldás: #content-nek 1% height, és -3px margó, mindezt úgy, hogy csak IE/WIN lássa. siralmas...

Csak az archívum kedvéért, ezt kell beszúrni a css aljára mondjuk:

/* \*/
* html #content {
  height: 1%;
  margin-left: 217px;
}

* html #nav {
  margin-right: -3px;
}
*/