Ein bis zwei Mal im Monat erhalte ich eine E-Mail mit der Frage, wie ich die kleinen Tooltipps umgesetzt habe, die erscheinen, wenn man einen Glossareintrag mit der Maus überfährt, beispielsweise den Begriff CSS. Erst vergangene Woche wurde ich wieder gefragt:
»Ihre Begriffserklärungen kleben sozusagen am Mauszeiger fest. Wenn dieser sich bewegt, dann bewegen sich die Fenster mit. Zudem öffnen sie sich am Rand des Fensters stets nach innen, sodass immer der komplette Inhalt sichtbar ist. Geht das ausschließlich mit XHTML und CSS oder benötige ich dafür JavaScript?«
Dieser Artikel wirft einen kurzen Blick unter die Haube dieser Website und bietet eine Schritt-für-Schritt-Anleitung zum Nachmachen. Zum Einsatz kommen XHTML, das jQuery-Skript jquery.glossary.js und ein wenig CSS.
Die Idee
Im Rahmen der Arbeit an meiner Einführung in XHTML, CSS und Webdesign entstand ein umfangreiches Glossar, also eine Liste von Wörtern mit sprachlichen Erläuterungen. Ein technisches Glossar wie meines erläutert die Terminologie eines technischen Sachgebietes mit sachlichen Definitionen, die den richtigen Gebrauch dieser Fachausdrücke und deren eindeutiges Verständnis sichern sollen. Das Glossar beinhaltet eine Vielzahl von Begriffen, die in der weitgefassten Themenwelt der Webentwicklung beheimatet sind.
Ich bin seit jeher der Ansicht, dass man Dinge und Sachverhalte nur verstehen kann, wenn man ihren Namen und die Namen ihrer Bestandteile kennt. Aus diesem Grund lege ich so viel Wert auf die richtige Anwendung von Fachterminologie und versuche Fachbegriffe zu erklären, wenn ich sie erstmalig verwende.
Dazu bieten sich Hyperlinks an: Das erste Auftreten eines Glossarbegriffs wird zum Hyperlink, und wenn Sie diesem folgen, dann gelangen Sie zur Erklärung des Begriffs. Diese muss nicht lang sein – vielleicht handelt es sich nur um ein oder zwei Sätze. Ich habe mich bemüht, kurze und prägnante Definitionen zu finden. Daher auch die Idee mit dem Tooltipp: Wenn Sie den verlinkten Glossarbegriff mit dem Mauszeiger berühren, erscheint am Mauszeiger ein kleines Fenster mit der Erklärung – ist sie zu lang, wird sie abgeschnitten. Das Fenster orientiert sich an der Position des Mauszeigers und erscheint abhängig von der Position zum Fensterrand mal auf der einen, mal auf der anderen Seite des Mauszeigers.
Eine Spezialbehandlung ist erforderlich, wenn es sich bei Glossarbegriffen um Abkürzungen oder Akronyme handelt: In diesem Fall steht nicht der Glossarbegriff selbst, sondern dessen ausgeschriebene Bedeutung im Titel des Tooltipps, also beispielsweise nicht »CSS«, sondern »Cascading Style Sheets« – siehe den ersten Absatz dieses Artikels.
Glossarbegriffe auszeichnen
Glossarbegriffe sind Links, die zwei Eigenschaften erfüllen: Sie haben die Klasse glossary-term und ein title-Attribut, das die vollständige Begriffserklärung enthält.
<p>WordPress ist seit einigen Jahren <em>das</em> Weblog- und <a class="glossary-term" href="/publikationen-und-vortraege/glossar/c/content -management-system" title="Softwaresystem für das Administrieren von (Web-)Inhalten mit Unterstützung des Erstellungsprozesses basierend auf der Trennung von Inhalten und Struktur. Benutzen die Mechanismen des Dokumenten-Managements.">Content-Management-System</a> für Blogs sowie kleine und mittlere Websites, vor allem in Deutschland.</p>
Der zweite Glossarbegriff im folgenden Beispiel zeigt die Auszeichnung eines Akronyms als Glossarbegriff: Der Anker umschließt das Akronym einfach. Die Auszeichnung von Abkürzungen (abbr) verläuft analog.
<body> <p>Jede <a class="glossary-term" href="/publikationen-und-vortraege/glossar/w/webseite" title="Dokument, das mit einem Benutzeragenten von einem Webserver abgerufen werden kann. Bestandteil einer Website. Besteht zumeist aus strukturiertem Text und Multimediaelementen.">Webseite</a> ist über mindestens einen <a class="glossary-term" href="/publikationen-und-vortraege/glossar/u/uri" title="Zeichenfolge, die zur Identifizierung einer abstrakten oder physikalischen Ressource dient. Wurde mit RFC 1630 im Juni 1992 von Tim Berners-Lee im Rahmen seines Projekts World Wide Web am CERN eingeführt. Aktuell ist RFC 3986 vom Januar 2005. Ein URI ist entweder ein URL, ein URN oder beides."><acronym title="Uniform Resource Identifier" lang="en" xml:lang="en">URI</acronym></a> adressierbar.</p> </body>
Glossar-Tooltipps erzeugen
Die Tooltipps mit den Erklärungen der Glossarbegriffe erzeugt ein jQuery-Skript, das Lars Corneliussen entwickelt hat und bei bitbucket.org hostet. Das Skript tut folgendes:
- Es leert die
title-Attribute der Glossaranker sowie eventuell darin enthalteneracronym- oderabbr-Elemente, damit die Standard-Browsertooltipps unsere Glossar-Tooltipps nicht überlagern. - Es erzeugt die Glossar-Tooltipps als
div-Elemente mit der Klasseglossary-descriptionund fügt sie über$('body').append($div);am Ende desbody-Elements vor dem schließenden</body>ein. Diehide()-Funktion sorgt dafür, dass die Tooltipps zunächst nicht sichtbar sind. - Die Glossar-Tooltipps enthalten eine Überschrift und die Beschreibung. Das Skript befüllt die Überschrift entweder mit dem Glossarbegriff selbst oder, wenn es sich um ein Akronym oder eine Abkürzung handelt, mit dem Inhalt des
title-Attributs desacronym- bzw.abbr-Elements, sofern dieses vorhanden ist. Das ist sinnvoll, da dastitle-Attribut die ausgeschriebene Fassung des Akronyms bzw. der Abkürzung enthält. - Wird der Glossarbegriff mit dem Mauszeiger berührt, blendet das Skript den dazu gehörigen Tooltipp ein und kümmert sich um dessen Positionierung unter Berücksichtigung der Mauszeigerposition und dem Abstand zum Browserfenster.
;(function($) {
var _settings = {
descriptionClass:"glossary-description"
}
$.fn.glossify = function (settings)
{
settings = _settings;
// pregenerate
for( var i = 0; i < this.length; i++)
{
var g = this[i];
var $g = $(g);
g.glossTitle = g.title;
g.title = "";
var $subElement = $g.find('acronym, abbr');
if ($subElement.length) {
caption = $subElement[0].title;
$subElement[0].title = "";
}
else
caption = $g.text();
g.$glossElement = makeGloss(settings, caption, g.glossTitle);
}
this.mouseover(function glossover(ev){
this.$glossElement.show();
followTheMouse(ev, this.$glossElement);
});
this.mouseout(function() {this.$glossElement.hide();});
this.mousemove(followTheMouse);
}
function makeGloss(settings, caption, text)
{
var $div = $('<div><strong/><span/></div>')
.css('position', 'absolute')
.addClass(settings.descriptionClass)
.hide();
$div.find('strong').text(caption);
$div.find('span').text(text);
$('body').append($div);
return $div;
}
function followTheMouse(ev, $el)
{
var $el = $el ? $el : this.$glossElement
// relative mouse position
var rx = ev.clientX;
var ry = ev.clientY;
// absolute mouse position
var x = ev.pageX;
var y = ev.pageY;
var xOffset = 10;
var yOffset = 10;
// ip if not enough space
if ( (rx + $el.width() + xOffset) > $(window).width() )
{
x -= $el.width();
xOffset *= -1;
}
if ( (ry + $el.height() + yOffset) > $(window).height() )
{
y -= $el.height();
yOffset *= -1;
}
$el.css("left", x + xOffset);
$el.css("top", y + yOffset);
}
})(jQuery);
Eingebunden wird das Skript über:
$(function(){
$('a.glossary-term').glossify();
});
Die Änderungen am Document Object Model müssen wir berücksichtigen, wenn es um das Styling der Glossarbegriffe und vor allem der Glossar-Tooltipps geht. Daher sollten wir uns einmal anschauen, wie das Skript das Beispiel aus Listing 2 verändert:
<body>
<p>Jede <a class="glossary-term"
href="/publikationen-und-vortraege/glossar/w/webseite"
title="">Webseite</a> ist über mindestens einen
<a class="glossary-term"
href="/publikationen-und-vortraege/glossar/u/uri"
title=""><acronym title="" lang="en"
xml:lang="en">URI</acronym></a> adressierbar.</p>
<div style="position: absolute; display: none;"
class="glossary-description">
<strong>Webseite</strong>
<span>Dokument, das mit einem Benutzeragenten von
einem Webserver abgerufen werden kann. Bestandteil
einer Website. Besteht zumeist aus strukturiertem
Text und Multimediaelementen.</span>
</div>
<div style="position: absolute; display: none;"
class="glossary-description">
<strong>Uniform Resource Identifier</strong>
<span>Zeichenfolge, die zur Identifizierung einer
abstrakten oder physikalischen Ressource dient.
Wurde mit RFC 1630 im Juni 1992 von Tim Berners-Lee
im Rahmen seines Projekts World Wide Web am CERN
eingeführt. Aktuell ist RFC 3986 vom Januar 2005.
Ein URI ist entweder ein URL, ein URN oder
beides.</span>
</div>
</body>
Tooltipps in Form bringen
Wir haben jetzt das Markup, wir haben die Funktionalität, fehlt noch das Styling. Nur wenige CSS-Regeln sorgen für die richtige Darstellung der Glossarbegriffe und der Tooltipps.
Glossarbegriffe erscheinen, anders als normale Hyperlinks, in Schriftfarbe, einem sehr dunklen Grau. Der Unterstrich fällt weg, dafür spendieren wir den Links unten einen gepunkteten Rahmen. Die zweite Regel sorgt für die Darstellung eines Ost-Pfeils vor den Glossarbegriffen. Die weiteren Regeln kümmern sich um die Breite, Farben, Rahmen und weitere Eigenschaften des Tooltipps.
a.glossary-term {
color: #444;
background-color: transparent;
text-decoration: none;
border-bottom: 1px dotted;
}
a.glossary-term:before {
content: "\2192\00A0";
font-size: 1.1em;
}
/* Glossar-Tooltipp */
.glossary-description {
width: 300px;
color: inherit;
background-color: white;
border: 2px solid #806554;
font-size: 1em;
line-height: 1.5;
z-index: 2;
}
.glossary-description strong,
.glossary-description span {
display: block;
padding: 4px 8px;
}
.glossary-description strong {
color: white;
background: #806554;
}
Umständlich und unpraktisch?
Vielleicht fragen Sie sich: Nette Funktion, aber wer macht sich denn die Mühe, auf seiner gesamten Website Glossarbegriffe auszeichnen und aktuell zu halten? Die Frage ist berechtigt, wahrscheinlich macht das niemand – ich auch nicht.
Mein Weblog betreibe ich mit WordPress, den Großteil der Website hingegen mit onion.net, also alles, was nicht unterhalb von jendryschik.de/weblog liegt. onion.net verfügt über eine großartige Glossar-Erweiterung, die vor der Auslieferung der Website alle Texte parst und die Glossar-Auszeichnungen automatisch ergänzt. Ich schreibe nur die Texte, onion.net kümmert sich um den Rest. Performance-Einbußen gibt es durch das Parsing keine, denn sobald ich einen Text ändere, werden alle Fragmente invalidiert, die diesen Text verwenden, und neu im Cache abgelegt. Das bedeutet in diesem Fall konkret:
- Ändere ich einen Artikel, wird dieser und die Webseite, auf der er verwendet wird, invalidiert. Dabei schaut onion.net, ob ich (neue) Glossarbegriffe verwende und berücksichtigt diese entsprechend, wenn der Text neu geparst und die Webseite neu zusammengesetzt und gecacht wird.
- Ändere ich einen Glossarbegriff, invalidiert onion.net alle Texte, aktualisert sie und alle Webseiten, die die Texte verwenden, und baut den Cache entsprechend neu auf.
Das ist auch der Grund, weshalb im Blog nahezu keine Glossarbegriffe ausgezeichnet sind, auch in diesem Artikel nicht, denn für WordPress habe ich keine entsprechende Funktion implementiert und ich müsste alle Glossarbegriffe redundant per Hand auszeichnen.
Bei der Website der itemis AG haben wir die Funktion noch um eine weitere Komponente ergänzt. Ich kann nicht davon ausgehen, dass alle Online-Redakteure stets daran denken, Akronyme und Abkürzungen als solche zu markieren – ich tue es ja selbst nicht konsequent. Also pflegen wir über den onion.net-Editor, die Redaktionsoberfläche, nicht nur Glossarbegriffe, sondern auch Akronyme und Abkürzungen. onion.net verteilt die passenden abbr-Tags (auf acronym verzichten wir) automatisch. Eine super Sache, die ich für meine Website eigentlich mal übernehmen sollte. ;-)
Kommentare? Anmerkungen?
Ich mag die Integration meines umfangreichen Glossars und finde die Glossar-Tooltipps nützlich, informativ und hübsch. Ich werde häufig darauf angesprochen, viele wollen eine ähnliche Funktion auf ihren Webseiten haben.
Wie gefällt Ihnen die Glossarfunktion? Verweilen Sie mit dem Mauszeiger auf den Links und lesen Sie die Erklärungen?
Hier lesen ja auch Experten verschiedener Disziplinen der Webentwicklung mit, unter anderem Experten für Barrierefreiheit und Skripting bzw. speziell jQuery. Ist die Lösung technisch robust? Wie sieht es mit der Barrierefreiheit aus? Die Erklärungen sind per Klick auf den Glossar-Link erreichbar, es werden also keine unnötigen Barrieren aufgebaut, oder doch? Ist die Entfernung der title-Attribute ein Problem? Wir haben weder beim Markup, noch beim Skript explizit auf Barrierefreiheit geachtet. Könnte WAI-ARIA die Zugänglichkeit der Glossarfunktion entscheidend verbessern?
Ich freue mich auf Ihre Anmerkungen, Hinweise und Tipps und lade dazu ein, die Lösung weiterzuverwenden.

Morgen!
Ein schöner Beitag. Die Tooltips sehen optisch super aus und finde ich klasse, da sie die Seite imenz erweitern.
Allerdings gibt es da auch, aus meiner Sicht, ein paar Fakten die nicht so toll sind:
1. JQuery. Ich kann einfach kein Fan davon werden. Zumal man nichteinmal weis, was da wirklich alles in der Biblothek enthalten ist. Eventuell werden ja irgendwelche Daten übermittelt? Wer kann das schon sagen? Ebenfalls finde ich das Prinzip "ich lade ersteinmal ~50KB (jaja über google eingebunden.. ;) )und 1000000 JS-Funktionen, um einen onMouseover-Effekt zu erzeugen" nicht logisch.
2. In einem Textbrowser haben wir garkeine Tooltips und das Wort "CSS" ist nur ein Link zum Glossareintrag.
3. in einem Vorlesebrowser ist es das selbige wie im Textbrowser
4. Google versteht JS. Allerdings wenn google ankommt, hat das a-Tag keinen title mehr und es gibt kein abbr mehr. Also verschlechtert man die Seite sozusagen.
Ich finde Tooltips und Begriffserklärungen super, aber ich bin mir nicht sicher ob das der richtige Weg ist.
Gruß
Chris
Hallo Chris,
ich nutze jQuery auf dieser Website auch an anderen Stellen, nicht nur für die Einbindung der Tooltipps. Deine Vorbehalte jQuery gegenüber kann ich nicht teilen. Das Framework ist schon in Ordnung! :-)
Textbrowser, Screenreader und Suchmaschinen haben keinen Zugriff auf die Inhalte der Tooltipps, das ist richtig, aber ich finde das nicht schlimm. Die Erklärung ist doch nur einen Mausklick entfernt! Und gerade in Bezug auf Suchmaschinen finde ich es sinnvoll, dass die Texte nicht zugänglich sind: Google soll die Begriffserklärung auf der entsprechenden Glossarseite indizieren, nicht auf jeder einzelnen Seite, die den Glossar-Begriff enthält.
JQuery, das leidige Thema… ich finds überflüssig und irgendwie auch unsicher. Allein schon wenn ich immer höre "ist doch über google eingebunden und der User hat das sicherlich schon im Cache"…jap…und google bekommt noch mehr Daten über dich, wo du hinsurfst und was du anklickst..perfekt für das persönlich maßgeschneidete angebote WWW (Vllt nennt man es ja irgendwann HWW - Home Wide Web - Weil google & Co. mehr über dich wissen wie du über dich selbst :-) ).
Bzgl. deiner Argumentation für goolge, da stimme ich zu. Für Textbrowser eventuell auch noch, aber Vorlesebrowser ist es echt nervig, wenn man eine Seite anfängt zu lesen und zu 10 weiteren muss um die Begriffe im Artikel zu verstehen. Das ist so ein Wikipedia-Prinzip. :-)
@detlef ein paar Einträge weiter unten
es funktioniert auch ohne JavaScript, eben nur nicht so schön. Ob man jetzt ins Glossar geht - und dann interessiert dich das brennend was der Begriff bedeutet - oder den Tooltip liest, oder den title das a-Tags…es kommt immer das gleiche raus.
Du musst es ja nicht verwenden, speziell nicht, wenn es doch so ein leidiges Thema ist. :-)
Tatsache ist: jQuery (oder: Frameworks im Allgemeinen) macht Javascript um ein Vielfaches zugänglicher und simpler. Der versierte Javascript-Guru mag bestimmte Dinge schneller und kompakter hinkriegen, aber für den Gelegenheitsskripter ist jQuery ein Segen.
Deine Sicherheitsbedenken finde ich geradezu grotesk. Das ist ein weit verbreitetes Open-Source-Projekt -- stell Dir den Aufschrei vor, wenn es so wäre. Wenn Du wissen willst, was enthalten ist, studiere halt den Quellcode, dafür ist er offen.
@Chris Nun JQuery gibt es ja auch zum Downloaden in der nicht komprimierten Variante, da siehst du jede Zeile Javascript und dort ist nichts an bösen JS Code versteckt. Ich sehe in JQuery keinerlei Sicherheitsrisiken, wenn du es nicht von Google nehmen möchtest dann kannst du es ja selberhosten.
Was verwendest du ? Plain Javascript ? Dann viel Spass mit den Browserweichen.
vielen dank für die beschreibung!
ich bin der "auslösende frager".
ich finde das klasse und werde das demnächst mal testen, selbst auch so umzusetzen.
1. sehr gut finde ich, dass das fensterlein dem mauszeiger folgt. *neidischbin* :o)
2. sehr gut, nein, noch besser finde ich, dass das fensterlein immer zum sichtbaren bereich hin öffnet und dadurch nicht am rand abgeschnitten wird. *neidischbin* :o)
3. schade finde ich, dass man bei abgeschaltetem javascript diese infofenster nicht zu sehen bekommt. aber dafür sind dann wenigstens die normalen title-tag-anzeigen sichtbar.
5. so ganz ohne javascript funktioniert sowas also nicht. jedenfalls habe ich im netz nirgends etwas derartiges NUR mit css gefunden. ???
6. auf meiner neuen version meiner website http://www.windeldienst-leipzig.de/ (ist noch nicht online - wird wohl erst zur kommenden woche fertig…) binde ich solche tooltips mittels der -tags ein (alle einzeln und manuell, aber meine site ist statisch und (noch) nicht so umfangreich), was auch semantisch korrekter sein dürfte, da es hier ja um "definitionen"=erklärungen von begriffen geht.
das problem mit dem fensterrand habe ich provisorisch aber gut funktionierend so gelöst, dass ich die breite der tooltips so vorgebe, dass sie auch am rand nicht abgeschnitten werden. leider besteht evtl. unten die gefahr, wenn der platz zu kanpp ist, aber das kann man vernachlässigen, wenn der footer hoch genug ist und der untere -rand…
zusätzlich habe ich die titelzeile separat mittels eingebundenem separat formatiert.
an einigen stellen habe ich auch bilder statt text eingebunden (bilder sagen manchmal mehr als worte).
7. was mich noch brennend interessiert und ich noch nicht geschafft habe: die info-fensterchen so zu konstruieren, dass sie selbst separate kleine mini-webseiten sind, also mit bildern, mit eingebunden weiterführenden links usw…
ich habe dazu informationen und anleitungen gefunden, aber alles auch nur MIT javascript…
das technische hauptproblem hierbei ist, wenn man es ohne javascript machen will, dass man ein <a>-tag nicht innerhalb eines <a>-tags notieren darf.
wenn jemand DAFÜR eine lösung ohne javascript hätte, wäre das klasse.
vg
detlef
Hallo Detlef,
man sollte nicht vergessen, dass es sich bei den Glossar-Tooltipps nur um ein »nützliches Gimmick« handelt, eine Vorwegnahme der Hilfestellung, die jedem Nutzer per Mausklick zugänglich ist, egal ob mit aktiviertem JavaScript oder ohne. Insofern entgeht einem Nutzer nichts, der JavaScript deaktiviert hat.
Was hast du eigentlich gegen den Einsatz von JavaScript?
Offenbar hat WordPress Teile deines Kommentars verschluckt. Wie genau baust du deine Tooltipps ein? Über welches Element? (Quelltext bitte maskieren!)
öhm…schulligung
ich binde meine hinweisfensterchen über
dl-elemente ein, was semantisch korrekter ist (definition = erläuterung/erklärung).gegen javascript direkt habe ich selbst nicht unbedingt was, aber man liest überall, dass doch scheinbar viele nutzer das aus sicherheitsgründen abschalten und man deshalb (wichtiges) so programmieren soll, dass es auch dann funktioniert.
bei mir sind das ja nur hinweise direkt bei den jeweiligen stellen und für die navigation. eine extra-seite mit glossar habe ich (noch) nicht.
gruß
detlef
Ich finde den Ansatz über Definitionslisten nicht schlecht. Anstatt
<div class="glossary-description"><strong>Begriff</strong>
<span>Erläuterung</span>
</div>
könnte man natürlich auch wie folgt auszeichnen:
<dl class="glossary-description"><dt>Begriff</dt>
<dd>Erläuterung</dd>
</dl>
Allerdings würde so jede Definitionsliste aus nur einem Eintrag bestehen, also nur aus einem Paar von Definitionsterm und Beschreibung. Das ist nicht das, was ich mir unter einer Liste vorstelle.
nein, nicht definitionslisten, sondern es gibt einen tag <dfn>, der für definitionen von begriffen zuständig ist.
eine definitionsliste ist etwas anderes.
das dfn-tag ist eher verwandt mit <abbr> oder <acr>
Okay, jetzt verstehe ich. Denk aber bitte daran, dass mit
dfnnicht die Definition, sondern der zu definierende Term ausgezeichnet wird.öhm…
achso?
ich dachte, damit wird der begriff definiert, dem das dfn angegliedert wird:
<a href="adresse zum glosser oder einfach nur #" title="blablub">zu definierender begriff<dfn>definition des begriffes mit allerlei text nach wahl</dfn></a>
die originalen tooltips werden dann zwar temporär überlagernd angezeigt, aber das ist nicht so schlimm, wenn man das definitionsfenster entsprechend per css gestaltet.
eine vorab-zum-gucken-version ist hier zu finden:
http://www.augenblickpunkt.de/windeldienst_neu
jQuery ist eine solche Arbeitserleichterung, dass ich es mittlerweile bei fast jeder Seite mit eingebunden habe. Flexible Formulare an richtiger Stelle eingebunden und direktes Feedback per AJAX und schlichte Animationen mit denen das Arbeiten auch für den Anwender mehr Spaß macht sind 100%ige Vorteile.
Grundsätzlich habe ich das Framework direkt auf der jeweiligen Webpräsenz hochgeladen, um Latenzen, Ausfälle und eventuelle Manipulationen auszuschliessen. Ein Freund von Hosting auf Fremdservern bin ich auch nicht.
Der Code ist offen und sauber. Du (jQuery-Kritiker) musst ja nicht den komprimierten Code verwenden, sondern kannst dir alles ansehen und ggfs. selbst komprimieren, um Performance zu sparen.
Ja, ich kann alle diese schönen Dinge auch von Hand programmieren und das habe ich auch hier und da mal gemacht, aber schneller und einfacher ohne ein Framework wie mit jQuery geht's einfach nicht.
Zuerst hatte ich mootools und scriptaculous verwendet und war schon sehr zufrieden. Doch nachdem ich mich in jQuery eingearbeitet habe, werde ich sicherlich erstmal kein anderes mehr verwenden. Dafür ist der Komfort für mich als Entwickler und für den Kunden als Seitenbesucher zu groß.
Fazit: Probieren geht über studieren.
Dein Artikel ist echt toll, sehr gut erklärt. Ich werde es versuchen umzusetzen, da ich so was schon dringend suche.
Viele Grüße Mika