. segert.net weblog . » CSS-Design: Betriebssystemabhängiger Pixel? ;)

CSS-Design: Betriebssystemabhängiger Pixel? ;)

21. Juli 2006 um 14:00

Zur Startseite | Zur Suche .

6 Kommentare

  • 1. macx am 21. Juli. 2006 um 14:47

    Ich würde an deiner Stelle lieber auf absolute Pixelangaben der Schrifttypo verzichten. Tust du kannst, kannst du auch die Höhe der ganzen Box prozentual bestimmen.

    Stellst du die Schriftgröße um (daran wird das 1px-Problem wohl liegen), kannst du auch so arbeiten:

    CSS:

    ul.navi {
    float: left;
    width: 100%; /* Self clearing, anpassen!*/
    }

    ul.navi li {
    list-style: none;
    display: block;
    float: left;
    width: 5em;
    height: 1.2em;
    }

    ul.navi li:hover {

    }

    Mit ein wenig mehr CSS kannst du das auch auf den Link beschränken.

    Mein Tipp: Unbedingt Schriftgrößen in Pixeln vermeiden. Und: nimm deine Wiederholungen aus dem CSS. Wenn du für a ein padding definierst, brauchst du das bei a:hover nicht zu wiederholen.

  • 2. Ralph am 21. Juli. 2006 um 15:36

    Thanx für die Tipps, die das Problem bisher nicht lösen. Für die px-Angaben habe ich meine Gründe, ein “unbedingt” gibt es für mich in dem Fall nicht.

    Für das Rausschmeissen der Wiederholungen habe ich einen CSS-Knecht, der kommt erst zum Schluss zum Einsatz. ;-)

  • 3. Ralph am 21. Juli. 2006 um 16:18

    Mit einem zusätzlichen Pixel auf padding-bottom in .hauptnavi_aktiv a liess sich ein Kompromiss finden, der auch zeigte, dass der Pixelunterschied nicht generell auf die Betriebssysteme zurückzuführen ist. Im IE Win und auf dem Mac-Browsern ist die Navigation identisch und so wie sie sein soll. Auf Opera und Gecko-Browsern unter Win gibt es jetzt oben einen leichten Überhang, der aber auch nicht schlecht aussieht. Ansonsten überlege ich mir wohl noch eine Lösung, die es erlaubt, dass man die Schriften skalieren kann bei gleichzeitigen Wachsen des horizontalen Balkens.

  • 4. Gabi am 23. Juli. 2006 um 22:53

    Hallo Ralph,

    der Scrolli entsteht, wenn man im horizontalen Bereich % und px mischt, wie z.B. hier:

    #kopf, #kopfleistung, #kopfprofil, #kopfkontakt
    [...]
    left:134px;
    margin:0;
    width: 100%;
    [...]

    Der Browser rechnet in diesem Falle die volle Breite (=100%) des Anzeigefensters + 134 Pixel.

    margin:0; kann weg, das hast du ja schon global gesetzt.

    Einzig im body ist es möglich, eine Hintergrundgrafik über die ganze Breite zu strecken, ohne eine Angabe zu width zu machen.
    Eine böse Geschichte, die mir schon einige graue Haare beschert hat.

    Eine Lösung, um auf jeder Seite eine andere body-Hintergrundgrafik einzubinden, ließe sich sicher mit ein bißchen php in der css-Datei lösen.

    Das Logo würde ich nicht als Hintergrundgrafik einsetzten, denn ein Logo ist imho immer ein echtes “Image”, das auch bei abgeschaltetem css zu sehen sein sollte – das hat nix mit Dickkopf zu tun ;-).

    Die Pixelgeschichte habe ich noch nicht angeschaut, mache ich aber noch, weil mir solche Basteleien viel Spaß machen ;-)

  • 5. Gabi am 24. Juli. 2006 um 07:58

    Ich habe mich jetzt nochmal mit dem Pixelproblem beschäftigt und würde Dich bitten, das mal auf den Mac-Browsern zu testen, ich habe die Werte für padding wie folgt geändert:

    .hauptnavi a:hover, .hauptnavi2 a:hover, .hauptnavi3 a:hover {
    padding: 8px 20px 17px 20px;
    background-color: #930;
    color: #ddd;
    }

  • 6. Ralph am 24. Juli. 2006 um 10:07

    Gabi, danke für die Hinweise und Deine Mühe. Der Pixel zuviel bewirkt in dem Mac-Browsern diesen oben gezeigten Überhang beim Rollovern (2 Bild). Bleibt er bei 16px so habe ich eine korrekte Darstellung in den Mac-Brwosern und IE 6. Die anderen Testbrowser auf dem PC haben dann oben einen Überhang von einem Pixel, mit dem ich aber gut leben kann, weil es so aussieht, als wäre es bewusst so gemacht worden. ;-)

Bottombar