Markus**: Positionierung IE7/Quirksmode

Hallo Forum,

ich habe ein DotNetNuke Skin entworfen und dort mittels CSS das Suchfeld angepasst, in IE8/9 sowie Firefox stellt es sich wie folgt (wie gewünscht) so dar: Suchfeld

Im Quirksmode und im IE7 jedoch, verrutscht der Button, wie hier zu sehen: Suchfeld Quirks/IE7

Mit folgenden Styleangaben habe ich das Suchfeld Modifiziert:

  
#dnn_s1_txtSearch /*input type=text */  
{  
    display: block;  
    float: left;  
    font-size: 11px;  
    height: 18px;  
    width: 119px;  
    color: Black;  
    margin: 0;  
    padding: 6px 4px 6px 8px;  
    background-image: url('Grafik/searchfield.png');  
    border: 0;  
    vertical-align: top;  
}  
  
#dnn_s1_cmdSearch /*a hyperlink*/  
{  
    display: block;  
    float: left;  
    height: 30px;  
    width: 30px;  
    color: Black;  
    font-size: 0px;  
    margin: 0;  
    padding: 1px;  
    margin-left: 0;  
    margin-right: 1px;  
    background: url('Grafik/searchbtn.png') no-repeat top left;  
    border: 0;  
}

Das "Suchen"-Control aus DotNetNuke stellt sich im HTML wie folgt dar und hängt in einer Tabellenzelle mit height: 30px:

  
<span id="dnn_s1_ClassicSearch">  
<input name="dnn$s1$txtSearch" maxlength="255" size="20" id="dnn_s1_txtSearch" class="NormalTextBox" onkeydown="return __dnn_KeyDown('13', 'javascript:__doPostBack(%27dnn$s1$cmdSearch%27,%27%27)', event);" type="text">&nbsp;  
<a id="dnn_s1_cmdSearch" class="SkinObject" href="javascript:__doPostBack('dnn$s1$cmdSearch','')">Suchen</a>  
</span>  

Da ich mit meiner "try&error"-Technik nicht weiter komme, nun die Frage an die CSS-Gurus. Was kann ich tun, damit das Ganze auch im IE7, bzw. im Qiurksmodus wie gewünscht angezeigt wird?

Vielen Dank,

Markus**

  1. Da ich mit meiner "try&error"-Technik nicht weiter komme, nun die Frage an die CSS-Gurus. Was kann ich tun, damit das Ganze auch im IE7, bzw. im Qiurksmodus wie gewünscht angezeigt wird?

    In erster Linie den Quirksmode vermeiden.

    Wenn du nicht einen _sehr_ guten Grund hast, den Browser in den Quirksmode zu schicken, dann tu das einfach nicht.

    1. Moinsen,

      In erster Linie den Quirksmode vermeiden.

      Wenn du nicht einen _sehr_ guten Grund hast, den Browser in den Quirksmode zu schicken, dann tu das einfach nicht.

      Ja, quirksmode vermeide ich ja auch; zwinge den Browser ja nur auch dazu, um zu sehen was passiert, wenn andere user ihren browser auch "zwingen" ;)

      Warum IE7 das gleiche Verhalten wie der Quirksmodus zeigt, ist allerdings jetzt noch nicht geklärt.

      Gruß, Markus**

      1. Ja, quirksmode vermeide ich ja auch; zwinge den Browser ja nur auch dazu, um zu sehen was passiert, wenn andere user ihren browser auch "zwingen" ;)

        Wie kann denn ein anderer Benutzer seinen Browser in den Quicksmode "zwingen", wenn du das als Autor des Dokuments schon mal bestmöglich ausschließt (jetzt mal die Möglichkeiten diverser Entwicklerkonsolen außen vor).

        Warum IE7 das gleiche Verhalten wie der Quirksmodus zeigt, ist allerdings jetzt noch nicht geklärt.

        Gleiches Verhalten zu was?

        1. Gleiches Verhalten zu was?

          Siehe die Bilder in meinem AusgangsPost->

          Es soll ja noch den ein oder anderen Benutzer geben, der den IE7 benutzt.
          Ich stelle dieses im IE mit der Entwicklerkonsole nach, indem ich halt IE7 auswähle.
          Der Doctype ist mit

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
          <html  xml:lang="de-DE" lang="de-DE" xmlns="http://www.w3.org/1999/xhtml">
          ~~~ definiert.  
            
          das gibt DotNetNuke so vor.  
            
          Gruß, Markus\*\*  
          
          
          1. Der Doctype ist mit

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

            <html  xml:lang="de-DE" lang="de-DE" xmlns="http://www.w3.org/1999/xhtml">

              
            Wie kommst du denn darauf, dass der IE7 mit dem Doctype im Quirksmodus läuft? Das müsste CSS1Compat sein.
            
            1. Wie kommst du denn darauf, dass der IE7 mit dem Doctype im Quirksmodus läuft? Das müsste CSS1Compat sein.

              Zu ich garnicht - ich habe lediglich gesagt, dass der IE7 sowie Quirksmode die selbe Fehldarstellung erzeugen.

              Gruß Markus

          2. @@Markus**:

            nuqneH

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

            Also Standard-Modus (oder was der IE 7 dafür hält).

            Der IE 7 hat da einen Bug. Finde heraus, wie du den beheben kannst und ergänze das mit '*+html'-Hack.

            <html xml:lang="de-DE" lang="de-DE" xmlns="http://www.w3.org/1999/xhtml"> definiert.

            Die Sprachangabe ist zu spezifisch. Gib "de" an!

            Qapla'

            --
            Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
            (Mark Twain)
            1. Moin,

              Also Standard-Modus (oder was der IE 7 dafür hält).

              Der IE 7 hat da einen Bug. Finde heraus, wie du den beheben kannst und ergänze das mit '*+html'-Hack.

              Vielen Dank für die Antwort!

              Gruß, Markus

            2. Hi!

              Der IE 7 hat da einen Bug.

              Offensichtlich hat er Schwierigkeiten mit dem &nbsp;
              Hat dieser Bug auch einen Namen? Ich konnte zumindest nichts dazu finden...

              FG Ulysses

              1. Hi!

                Der IE 7 hat da einen Bug.
                Offensichtlich hat er Schwierigkeiten mit dem &nbsp;

                Whitespacebug

                1. Hi!

                  Hi!

                  Der IE 7 hat da einen Bug.
                  Offensichtlich hat er Schwierigkeiten mit dem &nbsp;

                  Whitespacebug

                  Von welchem Whitespacebug sprichst du?
                  Hier verursacht das &nbsp; einen Bug und nicht Whitespace!

                  FG Ulysses

          3. Hi!

            Der Doctype ist mit

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

            <html  xml:lang="de-DE" lang="de-DE" xmlns="http://www.w3.org/1999/xhtml">

              
            Dann mußt du  
              
            
            > `<input name="dnn$s1$txtSearch" maxlength="255" size="20" id="dnn_s1_txtSearch" class="NormalTextBox" onkeydown="return __dnn_KeyDown('13', 'javascript:__doPostBack(%27dnn$s1$cmdSearch%27,%27%27)', event);" type="text">`{:.language-html}  
              
            XHTML-konform notieren und mit " />" abschließen.  
              
            FG Ulysses
            
            1. Moin!

              Dann mußt du

              <input name="dnn$s1$txtSearch" maxlength="255" size="20" id="dnn_s1_txtSearch" class="NormalTextBox" onkeydown="return __dnn_KeyDown('13', 'javascript:__doPostBack(%27dnn$s1$cmdSearch%27,%27%27)', event);" type="text">

              XHTML-konform notieren und mit " />" abschließen.

              Den Code erzeugt DotNetNuke, des Weiteren habe ich das aus der Quelltextanzeige von Firefox, mit "Auswahlquelltext anzeigen" kopiert, welches gerne mal soche " />" in den Tags verschluckt!
              Also keine Sorge, das ist korrekt notiert!

              Gruß, Markus**

              1. Den Code erzeugt DotNetNuke, des Weiteren habe ich das aus der Quelltextanzeige von Firefox, mit "Auswahlquelltext anzeigen" kopiert, welches gerne mal soche " />" in den Tags verschluckt!

                Das liegt daran, dass dir die Auswahlquelltext-Sache das DOM zeigt, nicht aber den Quelltext :p

                1. Das liegt daran, dass dir die Auswahlquelltext-Sache das DOM zeigt, nicht aber den Quelltext :p

                  Ja, genau! :-P ;-)

      2. Moinsen,

        Warum IE7 das gleiche Verhalten wie der Quirksmodus zeigt, ist allerdings jetzt noch nicht geklärt.

        Komisch, ich dachte immer der Quirksmodus ist Doctype abhängig. Aber das würde ja bedeuten, dass die Aussage "der IE7 verhält sich wie der Quirkmodus" unsinn wäre. Vielmehr der IE7 im Quirksmodus verhält sich so.

        1. Moinsen,

          Warum IE7 das gleiche Verhalten wie der Quirksmodus zeigt, ist allerdings jetzt noch nicht geklärt.

          Komisch, ich dachte immer der Quirksmodus ist Doctype abhängig.

          Primär bestimmt das der Browser natürlich automatisch - idR. aufgrund des Doctypes - aber es hindert dich nichts daran, einfach das Renderverhalten manuell im Client zu beinflussen. Nur wer das tut, hat idR. ohnehin einen guten Grund dafür oder ganz andere Probleme :)

      3. Hallo!

        Ja, quirksmode vermeide ich ja auch; zwinge den Browser ja nur auch dazu, um zu sehen was passiert, wenn andere user ihren browser auch "zwingen" ;)

        Das wäre mir an Deiner Stelle egal. Wenn der User an Deiner Seite rummurkst, ist er selbst dafür verantwortlich, was dann passiert. Sie muss nur im "Originalzustand" funktionieren. Ich denke auch, dass jedes nicht-triviale Design im Quirksmode Fehler aufweisen wird, die sich nicht mit vertretbarem Aufwand fixen lassen.
        Der User kann z.B. auch die Codierung ändern und sieht dann nur noch Mojibake. Da kannst Du auch nix (Sinnvolles) gegen machen, und wer das umstellt, ist selbst schuld.

        Warum IE7 das gleiche Verhalten wie der Quirksmodus zeigt, ist allerdings jetzt noch nicht geklärt.

        Hier wird's interessant. Welchen Doctype verwendest Du? Vielleicht wirft der nur den IE in den Quirksmode?

        Viele Grüße,
        Alexander