2010-05-20 14 views
5

Ich style ein Formular, das bereits markiert wurde (einige Markup-Änderungen vorgenommen), und ich arbeite normalerweise in Firefox zu stylen, so dass ich Firebug und die Web-Entwickler-Toolbar verwenden kann.Webkit-Browser, die CSS anders darstellen als Mozilla Firefox ... Warum?

Bei diesem Projekt habe ich festgestellt, dass meine Stile für einen bestimmten Bereich (mehrere Elemente) in den webkitbasierten Browsern Chrome und Safari sehr unterschiedlich angezeigt werden als in Firefox (wir werden nicht einmal in den Internet Explorer gelangen) Abstellgleis mit dem Firefox-Display).

Ich kann nicht herausfinden, warum die Stile so unterschiedlich angezeigt werden. Normalerweise gibt es eine Regel, die ich vernachlässige, dass Firefox einfach als selbstverständlich betrachtet wird, und die anderen brauchen es spezifiziert. Aber hier verstehe ich nicht, warum es so aussieht. Insbesondere beziehe ich mich auf den unteren Bereich des Formulars, in dem Benutzer ihre Kontaktinformationen eingeben und dann das Formular absenden können. Ich werde Screenshots als Referenz zur Diskrepanz hinzufügen.

Hier ist die URL so fühlen Sie sich frei, es auf eigene Faust zu überprüfen. Bitte beachten Sie, dass dies eine bereits veröffentlichte Produktionsseite ist. Wenn Sie das Formular also ausprobieren, werden Sie in die Kontaktdatenbank von CURE aufgenommen.

http://www.helpcurenow.org/survey2010

Hier die Screenshots:

Firefox (so wie ich es die Absicht, zu sehen) alt text http://static.helpcurenow.org/images/test/firefox.jpg

Chrome und dann Safari - seltsame Wechseltaste alt text http://static.helpcurenow.org/images/test/chrome.jpg alt text http://static.helpcurenow.org/images/test/safari.jpg

einreichen

Als Bonus, wenn jemand mir helfen will herauszufinden, warum in der Welt IE7 will nicht den Hintergrund hinter der que zeigen Nur Stirungen und wie ich das beheben könnte, wäre ich sehr verpflichtet!

Vielen Dank.

+0

Chrome und Safari auch eine Firebug-wie Tool namens Web Inspector angeben. Klicken Sie einfach mit der rechten Maustaste auf die Schaltfläche und wählen Sie "Element prüfen". In Safari (und vielleicht auch in Chrome) müssen Sie Developer Tools in einem der Menüs, IIRC, aktivieren. –

Antwort

8

Ihre <ol> ist nicht geschlossen, was Webkit platziert die Senden-Schaltfläche innerhalb der <fieldset> in einem Versuch, Ihren Code zu beheben.

+2

Es gibt auch andere Probleme: http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fwww. helpcurenow.org% 2Fsite% 2Fc.nvI1IeNYJyE% 2Fb.6041513% 2Fk.6073% 2FAnswer_7_Questions_to_Help_CURE_Now% 2Fapps% 2Fka% 2Fct% 2Fcontactcustom.asp –

+0

@Mark Korpel: viele dieser Fehler sind bei der Überprüfung tatsächlich nur HTML-Code in Strings, die validiert werden, als wären sie echte Domknoten. Zugegeben, es gibt mehr Fehler, aber ich bin ziemlich überzeugt, dass dieses das beobachtete Verhalten verursacht, da eine DOM-Inspektion in Chrome zeigt, dass es den Button wirklich innerhalb des Fieldsets hält, obwohl ein ' 'ist im Quelltext vorhanden, vor der Schaltfläche –

+0

AH! - Danke David. Guter Fang. –

0

Haben Sie browser reset css verwendet. Verschiedene Browser haben verschiedene Standardstile für verschiedene Elemente, das Zurücksetzen CSS setzt alle diese Standardstile zurück, so dass die Dinge in allen Browsern ähnlich aussehen.

+0

yup - es ist tatsächlich dort in der Datei main.css. –

1

FF und Webkit Browser haben ein paar Unterschiede, ich habe sie auch vor allem mit Formularen begegnet!

Ich löste es, indem ich mein CSS spaltete, um die zwei Browser mit dem CSS Browser Selector-Skript anzusprechen. Hat Wunder gewirkt, einfach ein paar Dinge anders für Webkit eingestellt und die ganze Sache repariert.

Haben Sie ein Live-Beispiel oder einen Quellcode zum Hochladen, damit wir Ihnen auch bei Ihren IE7-Problemen helfen können?

Hoffe, dass hilft.

Edit:

<ol> 

      <li class="contact-info"> 
       <label class="field-required" for="first_name">First Name</label> 
       <input type="text" size="35" maxlength="250" name="first_name" value="" id="first_name" /> 
      </li> 

      <li class="contact-info"> 
       <label class="field-required" for="last_name">Last Name</label> 
       <input type="text" size="35" maxlength="250" name="last_name" value="" id="last_name" /> 
      </li> 

      <li class="contact-info"> 
       <label class="field-required" for="email_address">Email Address</label> 
       <input type="text" size="35" maxlength="100" name="email_address" value="" id="email_address" /> 
      </li> 

     </fieldset> 

     <!--TransactionFields section end--> 
     <script language="JavaScript" type="text/javascript"> 
     ... 
     </script> 

     <div class="button-row"> 
      <input type="button" name="SubmitButton" id="SubmitButton" value="Submit" onclick="SubmitForm425952(form);" class='HtmlButton' /> 
     </div> 

    </form> 
    <!--form javascript--> 
    <script language="JavaScript"> 
    ... 
    </script> 

NO OL 


</div></td></tr> 
</table> 


    </div> 
    <!--End Featured Content--> 

Ihre <ol> wurde nach dem zweiten Skript-Tag nicht geschlossen.

+0

Es gibt ein Live-Beispiel unter http://www.helpcurenow.org/survey2010 –

1

Möglicherweise haben Sie -moz spezifische CSS-Regeln vergessen.

Zum Beispiel - verwenden Box-Sizing Sie müssen -moz-box-Sizing

Verwandte Themen