Ergebnis 1 bis 9 von 9

Thema: CSS und die üblichen Verdächtigen ...

  1. #1

    CSS und die üblichen Verdächtigen ...

    Es geht mal wieder um die Darstellung von einer CSS formatierten Liste im Browser, unter anderem mal wieder mein Lieblingsbrowser IE .

    Ich bin momentan dabei für mein CMS/(Forum) einen Quellcode-Highlighter zu schreiben. Ich möchte nun das das ganze mit Zeilennummern versehen im Browser ausgegeben wird.
    Dazu habe ich nun Zeile für Zeile in eine sortierte Liste gepackt.
    Das funktioniert auch so weit, wenn nicht die ganzen Browser alle ihre Macke hätten.

    Fangen wir mal an:
    1. Internet Explorer 7 und 6
      Zeigen die Listennummern nicht an -.-.
      Meinen zudem das ganze mit einer verticalen-Scrollleiste ausstatten zu müssen :P.
    2. Firefox, Opera, Safari und IE
      Ziehen den Rahmen der Überschrift nicht bis nach hinten durch =(


    Hat irgendwer ne Idee wie man das beheben kann?^^

    Stört euch nicht an dem Code^^, der ist erstens von PHP erzeugt. Zudem ist es am einfachsten die Leerzeichen über ein geschütztes Leerzeichen auszugeben:


    Hier noch ein paar Screens:


    /EDIT: Argh hatte den Beitrag so aussem Quatier rüber kopiert, ... und vergessen folgendes zu ändern:
    Code:
    /**
    * Internet Explorer bis einschließlich Version 6
    */
    * html div.code dl dd ol li {
        margin-left:40px;
    }
    
    /**
    * Internet Explorer 7
    */
    *:first-child+html div.code dl dd ol li {
        margin-left:40px;
    }
    damit werden nun zumindest die Zeilennummern angezeigt. Bleibt, aber noch folgendes Problem. Im IE 6 werden die Codezeilen nicht bis hinten hin weiß unterlegt.


    Ich werde morgen mal die aktuelle Version aufen Server laden ...

    Geändert von Xardas der Dunkle (22.03.2008 um 14:03 Uhr)

  2. #2
    Du könntest versuchen, der Liste den weißen Hintergrund zu geben.
    Für die Überschrift kannst du zum Beispiel nur die Liste in ein scrollendes <div> reinpacken oder du gibst der Liste oben einen Rahmen. Das hat aber den Nachteil, dass es nicht funktioniert, wenn die Liste kürzer als die Überschrift ist...

  3. #3
    Ich habe das ganze mal auf meinen Server geladen: http://xcms.projects.x-scripter.com/...quellcode.html

    Das mit den geänderten Farben ändert im IE auch nix =(, weil der die <li>'s nicht bis ans Ende durchzieht!

    Geändert von Xardas der Dunkle (22.03.2008 um 18:52 Uhr)

  4. #4
    Dann versuch es halt mit dem scrollenden <div>.

  5. #5
    o_Ô. Was hat die scrollende <div> damit zu tun, das die <li>'s im IE nicht komplett bis nach hinten durchgezogen werden?

    Ich könnte höchtens versuchen in jedes <li> nochmal ein <div> reinzupacken, bezweifle, aber das das viel bringen wird.

    /edit: <div>'s in den <li>'s bringen auch keine Änderung. Zwar, bringen die zumindest den IE7 dazu, alles weiß darzustellen, aber nicht den IE 6. Zudem werden dadurch im FF scrollbars dargestellt, wo eig. keine gebraucht werden^^.

    Geändert von Xardas der Dunkle (22.03.2008 um 23:55 Uhr)

  6. #6
    Zitat Zitat von Xardas der Dunkle Beitrag anzeigen
    o_Ô. Was hat die scrollende <div> damit zu tun, das die <li>'s im IE nicht komplett bis nach hinten durchgezogen werden?

    /edit: <div>'s in den <li>'s bringen auch keine Änderung. Zwar, bringen die zumindest den IE7 dazu, alles weiß darzustellen, aber nicht den IE 6. Zudem werden dadurch im FF scrollbars dargestellt, wo eig. keine gebraucht werden^^.
    overflow kann - zumindest im IE 7 - ein nicht-standardkonformes Konzept namens hasLayout auslösen. Dies bewirkt, dass CSS-Eigenschaften sich anders auf die Darstellung auswirken.

    Du kannst versuchen, dem scrollbaren div position: relative; und/oder zoom:1; zu geben, damit das Element 'Layout' erhält, eventuell hilft das.

    Mehr Informationen zu hasLayout. Im Internet Explorer 8 wird das hasLayout-Konzept verschwinden und eine CSS-konforme Darstellung möglich werden.

  7. #7
    Bringt leider auch nix =(.
    IE 6 zeigt plötzlich nur noch grau o_Ô und der 7ner rührt sich gar nicht.

    Ich glaube ich werde im IE den grauen Rahmen rausnehmen, das ist das einfachste ...

  8. #8
    Zitat Zitat von Xardas der Dunkle Beitrag anzeigen
    o_Ô. Was hat die scrollende <div> damit zu tun, das die <li>'s im IE nicht komplett bis nach hinten durchgezogen werden?

    Ich könnte höchtens versuchen in jedes <li> nochmal ein <div> reinzupacken, bezweifle, aber das das viel bringen wird.

    /edit: <div>'s in den <li>'s bringen auch keine Änderung. Zwar, bringen die zumindest den IE7 dazu, alles weiß darzustellen, aber nicht den IE 6. Zudem werden dadurch im FF scrollbars dargestellt, wo eig. keine gebraucht werden^^.
    Wenn du das <div>, das die gesamt Liste umgibt, nimmst und ihm eine Hintergrundfarbe verpasst, sollte es die Breite der Liste annehmen und damit der ganzen Liste den entsprechenden Hintergrund geben. Eigentlich sollte das auch funktionieren, wenn du der Liste die entsprechende Farbe gibst (also dem <ol> Element)

  9. #9
    Ja, die war uhrsprünglich grau gefärbt, damit der die Zeilennummern grau unterlegen dargstellt werden.
    Die [FONT="Courier New"]<li>[/FONT]'s sind hingen weiß unterlegt, damit der code auf weißen Grund erscheint. In allen Browsern in den ich es getestet habe werden die [FONT="Courier New"]<li>[/FONT]'s auch bis nach hinten durchgezogen, so das der Code auf weißen Grund steht, außer im IE!.
    Und das ist das Problem.
    Ich habe mir jetzt damit beholfen, das der graue Rahmen im IE nicht existiert sieht zumindest vernünftiger aus, als wenn der Code pklötzlich mitten drin auf grauen Hintergrund steht =(.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •