Chris: Negatives margin-right (em) vor Opera verstecken?

Hallo
Gibt es eine Möglichkeit in einer externen CSS Datei eine Zeile so zu kennzeichnen, dass Opera (Mac und Win) diese Zeile nicht interpretiert?
Ich habe bisher nur komplette "Weichen" gefunden, da müsste ich aber dann eine zweite CSS Datei anlegen, und das möchte ich (momentan) noch nicht.

Folgendes Problem. Ich nutze ein negatives margin-right mit em, das der Opera Browser irgendwie falsch interpretiert. Der Text der Verlinkung ist unsichtbar, aber das Title Attribut und der Link selbst funktioniert.
Wenn ich das minus lösche ist alles ok, auch wenn ich px statt em nutze funktioniert das. Ich brauche aber hier em. Hat jemand eine Ahnung wie ich in meiner externen CSS Datei nur die Zeile mit dem margin-right vor dem Opera verstecken kann?

Hier das Coding, diesmal aber der style intern.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">

<html lang="de">
<head>
 <title>Opera Test mit negativem em-margin</title>

<style type="text/css">
<!--
#nav dt a { margin-right: -1em; }
-->
</style>

</head>
<body>

<div id="nav">
<dl>
 <dt><a href="#" title="test test test test test">position</a></dt>
</dl>
</div>

</body>
</html>

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
       "http://www.w3.org/TR/html4/strict.dtd">

    <html lang="de">
    <head>
     <title>Opera Test mit negativem em-margin</title>

    <style type="text/css">
    <!--
    #nav dt a { margin-right: -1em; }
    -->
    </style>

    </head>
    <body>

    <div id="nav">
    <dl>
     <dt><a href="#" title="test test test test test">position</a></dt>
    </dl>
    </div>

    </body>
    </html>

    Ich weiß zwar keine Lösung, aber hast du da einen Opera Bug entdeckt oder was macht der anders als die anderen Browser? Bzw. was ist das Ziel dieses negativen margin?

    Struppi.

    1. hi,

      Bzw. was ist das Ziel dieses negativen margin?

      und: liesse sich stattdessen nicht evtl. auch eine relative positionierung mit negativem em-wert für left verwenden, um den gewünschten effekt zu erreichen?

      gruß,
      wahsaga

      --
      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
      1. und: liesse sich stattdessen nicht evtl. auch eine relative positionierung mit negativem em-wert für left verwenden, um den gewünschten effekt zu erreichen?

        gruß,
        wahsaga

        Hallo wahsaga

        Super, das mit der relativen Positionierung funzt. Gute Idee, das sorum zu lösen, danke.

        Grüße, Chris

    2. Ich weiß zwar keine Lösung, aber hast du da einen Opera Bug entdeckt oder was macht der anders als die anderen Browser? Bzw. was ist das Ziel dieses negativen margin?

      Hi
      Scheint mir ein Bug zu sein. Die anderen Browser rücken die Schrift halt um die Angabe nach rechts. Der ganze Block ist rechtsbündig, d.h. die Schriften stehen auf der rechten  Seite an. Jetzt habe in diesem Block ein Paar Designschriften mit vergrößerter Laufweite, das hat zur Folge, dass nach dem letzten Zeichen noch ein Abstand kommt, und dann ist erst das Ende der Box erreicht. Mit diesem negativem margin-right kann ich das ausgleichen.

      Grüße, Chris

      1. Scheint mir ein Bug zu sein. Die anderen Browser rücken die Schrift halt um die Angabe nach rechts. Der ganze Block ist rechtsbündig, d.h. die Schriften stehen auf der rechten  Seite an. ...

        Macht das nicht auch:
        dl{ margin:0}
        dt{ margin:0}
        dd{ margin:0}

        Struppi.

        1. Macht das nicht auch:
          dl{ margin:0}
          dt{ margin:0}
          dd{ margin:0}

          Hi
          Schon, aber wegen der Laufweite geht das nicht.

          Probier mal folgendes.

          --------------------------
          body { letter-spacing: 3em; text-align: right; }
          dl{ margin:0}
          dt{ margin:0}
          dd{ margin:0}
          --------------------------
          <dl>
           <td>Hallo</td>
           <dd>Welt!</dd>
          </dl>
          --------------------------

          Hier siehst du, dass die Schrift zwar rechtsbündig ist, aber ein weißer Abstand bleibt, das kommt halt von dem letter-spacing.

          Grüße, Chris

          1. Schon, aber wegen der Laufweite geht das nicht.

            Probier mal folgendes.


            body { letter-spacing: 3em; text-align: right; }
            dl{ margin:0}
            dt{ margin:0}
            dd{ margin:0}

            <dl>
            <td>Hallo</td>
            <dd>Welt!</dd>
            </dl>

            Hier siehst du, dass die Schrift zwar rechtsbündig ist, aber ein weißer Abstand bleibt, das kommt halt von dem letter-spacing.

            Also bei mir sieht das im firefox 0.9, im IE 6 und Opera 7.11 absolut identisch aus. die Schrift ist rechtsbündig, und bei allen dreien ist ein Rand und wenn ich das margin-right aus deinem ersten posting einbaue, sieht es ebenfalls in allen dreinen gleich aus.

            Struppi.

            1. Also bei mir sieht das im firefox 0.9, im IE 6 und Opera 7.11 absolut identisch aus. die Schrift ist rechtsbündig, und bei allen dreien ist ein Rand und wenn ich das margin-right aus deinem ersten posting einbaue, sieht es ebenfalls in allen dreinen gleich aus.

              Hallo Struppi

              Das stimmt auch so. Der Rand aus diesem Coding ist ja auch richtig. Nur in meinem Fall, einer komplexen Seite, soll das nicht so sein. Da muss die Schrift wirklich bis zum rechten Rand laufen. Deswegen hatte ich das ursprünglich mit dem negativen margin-right versucht. Das hat halt in Opera (7.50)(Win + Mac) den Effekt, dass die Schrift unsichtbar wurde. Das war mit dem Coding aus meinem _ersten_ Posting.

              Aber mittlerweile habe ich das mit position: relative gelöst.

              Grüße, Chris