Entwickler-Ecke
Wünsche, Anregungen & Kritik - Zeilennummern im Delphi Code verschoben
Martok - So 04.04.10 02:35
Ein beliebter Bug, mit dem auch GeSHi zu kämpfen hat.
Ursache ist, dass in <pre> Zeilen, die kursive Zeichen enthalten 1 px höher sind als solche ohne, wenn man Größenangaben in em oder % verwendet.
Das DF hat da einen "Hack", der Kursive genau ein Pixel kleiner macht. Der ist aber buggy 8)
Die Class .codecompilerdirective hält sich für Kursiv und gibt deswegen font-size: 12px an. Das müssten 13px werden.
TUFKAPL, übernehmen Sie! ;)
JonS - So 04.04.10 10:05
Man könnte doch einfach statt ner umrandenen div ne liste nehmen, dann müsste es doch gehen (nicht ausprobiert).
wfg Jon S.
ALF - So 04.04.10 11:58
mh..., bei mir nicht, im IE8 !?
EDIT: lol, bezog sich ja auf Firefox!
Gruss Alf
Regan - So 04.04.10 13:10
Selbiges Verhalten im Opera Mobile 10.
Wobei bei mir beide Beiträge buggy sind ;) . Aber Christian keine Sorge: nur für mich brauchst du das Forum nicht anpassen. Ich wollte es bloß erwähnen.
Martok - So 04.04.10 14:16
JonS hat folgendes geschrieben : |
Man könnte doch einfach statt ner umrandenen div ne liste nehmen, dann müsste es doch gehen (nicht ausprobiert). |
Aber man kann den Code nicht mehr rauskopieren.
Hat schon so seine Richtigkeit...
BenBE - So 04.04.10 15:06
Im GeSHi bin ichinzwischen dazu übergegangen eine Tabelle mit zwei Spalten zu nehmen. Im FF und zahlreichen anderen Browsern kann man dann den Code durch Festhalten der Strg+Shift-Taste markieren und entsprechend kopieren.
JonS - So 04.04.10 16:09
Ne alternative wäre folgendes:
JavaScript-Highlighter [
http://code.google.com/p/syntaxhighlighter/]
Muss der Benutzer zwar JavaScript auf ON haben, sonst wird nichts gehighlightet, aber für ein Web-Projekt von mir verwend ich den. Hat auch noch gute Anpassungsmöglichkeiten und bringt Copy und View as Plaintext von Haus aus mit :)
wfg Jon S.
BenBE - So 04.04.10 17:16
Das ändert aber nix dran, dass der auch nur das umsetzen kann, was HTML kann. Den Fehler mit den Höhenangaben gibt's dort genauso.
Außerdem: Wozu JS-Highlighter einsetzen, wenn es Serverseitig wesentlich besser geht?
JonS - So 04.04.10 17:23
Naja, dort gibt es das Problem soweit ich bisher bemerkt habe NICHT. Man kann den Code direkt in die Zwischenablage kopieren oder auch den Code in einem neuen Fenster plain (also ohne Highlighting oder Zeilennummern) ansehen.
Man könnte es ja einfach nach der Serverseitigen Bearbeitung noch einschieben -->
JavaScript = ON: JS-Highlighter
JavaScript = OFF: Normale Geshi-Highlighting
wfg Jon S.
Heiko - So 04.04.10 20:25
JonS hat folgendes geschrieben : |
Man könnte es ja einfach nach der Serverseitigen Bearbeitung noch einschieben -->
JavaScript = ON: JS-Highlighter
JavaScript = OFF: Normale Geshi-Highlighting |
Man oh man, JS macht auch nix anderes als HTML/CSS-Code zu erzeugen. Von daher hat das nix mit dem Problem zu tuen.
Die simple Lösung ist einfacvh, bei
pre.sourcecode line-height auf 14px zu setzen (oder 13px, je nachdem was man eher mag ;) )
Martok - So 04.04.10 20:30
Heiko hat folgendes geschrieben : |
Die simple Lösung ist einfacvh, bei pre.sourcecode line-height auf 14px zu setzen (oder 13px, je nachdem was man eher mag ;) ) |
Äh, Leute? Der genaue, aufs DF passende Bugfix kam heute Nacht schon von mir.
Der Rest der Diskussion hier gehört in den Mozilla Bugtracker...
Yogu - Mi 07.04.10 11:12
Moin,
ich habe gerade eine CSS3-Version des Syntax-Highlighters geschrieben. Der Vorteil dabei ist, dass die Zeilennummern nun gar nicht mehr in HTML stehen, sondern per CSS vom Browser generiert werden. Sie können auch gar nicht von den Sourcezeilen verschoben sein, da jede Zeilennummer direkt mit der Zeile verknüpft ist.
Es funktioniert im Firefox 3.6, Internet Explorer 8, Opera 9, Safari 4 und Google Chrome 3 einwandfrei. Wäre das eine Überlegung wert?
Edit: Der gesamte Quelltext steht in einem
<div class="code"> ... </div>, und jede einzelne Zeile gehört in ein
<div> ... </div>. An HTML ist das alles.
Grüße,
Yogu
Edit: Mir ist gerade aufgefallen, dass zweistellige Zeilennummern im gleichen Codeblock mehr Platz brauchen als einstellige. Um das zu umgehen können folgende CSS-Regeln zusätzlich verwendet werden:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| .code div { clear:both; }
.code div:before { display: block; float: left; width: 3em; } |
So passen bis zu vierstellige Nummern rein.
Dude566 - Mi 07.04.10 13:22
Hey
Yogu,
ich habe gerade mit (X)HTML & CSS angefangen und habe mich schon gefragt wie ich wohl so eine Codebox für meine eigene Homepage machen könnte.
Vielen Dank für die Anregung!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!