MosaPedia:Formatierung/HTML und CSS

Aus MosaPedia

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Einsatz von HTML und CSS - warum? wann? wie?)
(HTML-Elemente (Tags): +)
 
(Der Versionsvergleich bezieht 1 dazwischenliegende Version mit ein.)
Zeile 40: Zeile 40:
HTML-Kommentare können Zeilenumbrüche zur Strukturierung des Quelltextes kapseln
HTML-Kommentare können Zeilenumbrüche zur Strukturierung des Quelltextes kapseln
-
=== HTML-Tags ===
+
=== HTML-Elemente (Tags) ===
-
* Erlaubte (unterstützte) Tags: werden unverändert gelassen, ggf. syntaktisch korrigiert (XHTML)
+
HTML-''Elemente'' bestehen aus einem einleitenden ''tag'' (z.B. <code>&lt;small></code>), einem abschließenden ''tag'' (z.B. <code>&lt;/small></code>) und dem Text dazwischen, also etwa: <code>&lt;small>kleiner Text&lt;/small></code>. Welche ''tags'' es gibt, ist in den HTML-Standards definiert. Im Wikitext ist nur ca. die Hälfte der in HTML gültigen Elemente bzw. Tags ''erlaubt'', nur ein kleinerer Teil davon wird regelmäßig benötigt.
-
br  
+
 
-
s u small (Disk.seiten)
+
Die verschiedenen HTML-Tags lassen sich aus der Sicht des Wiki-Systems bzw. seines Benutzers wie folgt einteilen:
-
* Verbotene Tags: werden "entschärft"
+
# Erlaubte (also vom Wiki-Parser unterstützte) Tags: Diese werden bei der Übersetzung des Wikitextes in HTML unverändert gelassen.<br
-
a, script; (table th tr td?)
+
  />(Dabei wird die korrekte Schachtelung überprüft, und ggf. wird die Eingabe syntaktisch korrigiert: aus <code>&lt;br></code> wird <code>&lt;br /></code>, usw.)
-
ebenso ungültige (falsch geschachtelte)
+
#* Beispiele sind <code>&lt;br></code>, <code>&lt;small></code>, <code>&lt;u></code>, <code>&lt;div></code>, ...
-
* Pseudo-Tags: noinclude etc; Parser-Erweiterungen: math poem ref references etc.
+
#* Für einige gibt es eine alternative Wiki-Schreibweise: z.B. <code><nowiki>''...''</nowiki></code> oder <code><nowiki><i>...</i></nowiki></code>
-
* Tags mit modifizierter Bedeutung: pre
+
# Verbotene Tags: Hierbei handelt es sich (a) um solche, für die im Wiki ein etwas abweichender Mechanismus existiert , und (b) um solche, die für in das System eingebettete Dokumente nicht benötigt werden (z.B. <code><nowiki><html></nowiki></code>, <code><nowiki><body></nowiki></code>) oder die (c) das System durcheinanderbringen könnten (z.B. <code><nowiki><script></nowiki></code>).
 +
#* Ungültige (falsch geschachtelte, falsch geschriebene oder unbekannte) Tags werden ebenso behandelt.
 +
#* Verbotene und ungültige Tags werden vom Parser "entschärft" und in reinen Text verwandelt, indem die spitzen Klammern durch ihre grafischen Äquivalente ersetzt werden.
 +
#* Beispiele sind (a) <code><a></code> und <code><img></code> (für Links und Bilder steht u.a. <code><nowiki>[[...]]</nowiki></code> zur Verfügung); (b) <html>, <head>, <body> usw (das "Grundgerüst" wird vom Wiki hinzugefügt); (c) <code><script></code>, <code><applet></code> usw.
 +
# Die Wiki-Software fügt eine Anzahl von Elementen hinzu, die wie HTML aussehen und wie HTML-Tags benutzt werden, aber in HTML unbekannt sind.
 +
#* In die Wikimedia-Software fest eingebaut sind Sprachelemente wie <code><nowiki><gallery></nowiki></code>; <code>&lt;nowiki&gt;</code> (Abschalten aller Wiki- und HTML-Formatierungen) sowie <code><nowiki><onlyinclude></nowiki></code>, <code><nowiki><noinclude></nowiki></code> und <code><nowiki><includeonly></nowiki></code> (Steuern der Vorlageneinbindung).
 +
#* In der MosaPedia sind zusätzlich die Erweiterungen <code><nowiki><imagemap></nowiki></code>, <code><nowiki><poem></nowiki></code>, <code><nowiki><pre></nowiki></code>, <code><nowiki><ref></nowiki></code> und <code><nowiki><references></nowiki></code> installiert.
 +
#* In der MosaPedia noch nicht installiert, aber in der Wikipedia: u.a. <code><nowiki> <math> <categorytree> <syntaxhighlight> </nowiki></code>
 +
# Tags mit modifizierter Bedeutung: <nowiki><pre></nowiki>
 +
 
 +
==== Wichtige HTML-Formatierungen ====
 +
Für den "Hausgebrauch" sollen im folgenden einige häufig verwendete (und natürlich "erlaubte") HTML-Tags beschrieben werden.
 +
Eine ähnliche, aber etwas anders zusammengestellte Liste findet sich unter [http://www.mediawiki.org/wiki/Help:Formatting].
 +
Eine Liste aller erlaubten Tags findet sich weiter unten, ausführlich unter [http://en.wikipedia.org/wiki/Help:HTML_in_wikitext].
 +
 
 +
Einige der hier aufgeführten Formatierungen sollten in Artikeln nur in Ausnahmefällen verwendet werden, auf Diskussions-, Projektseiten usw. werden sie jedoch häufig benötigt. (Zu den stilistischen Konventionen siehe [[#...?]]).
 +
{| {{Prettytable}}
 +
|-
 +
!
 +
! Wikitext
 +
! Ergebnis
 +
|-
 +
| Zeilenumbruch ''(br=break)''
 +
| <pre width="45">
 +
vorher...<br>...nachher
 +
 
 +
# So.<br> Sagte er; aber
 +
# muss man feststellen, dass hier
 +
nicht alles passt.
 +
</pre>
 +
|
 +
vorher...<br>...nachher
 +
 
 +
# So.<br>Sagte er; aber
 +
# muss man feststellen, dass hier
 +
nicht alles passt.
 +
|-
 +
| Kleinere Schrift ''(small)''<br>Größere Schrift ''(big)''
 +
| <pre width="45">
 +
Das ist so!
 +
<small>Meinst du wirklich?</small>
 +
<big>Ja!</big>
 +
Ja, gut, OK.
 +
</pre>
 +
|
 +
Das ist so!
 +
<small>Meinst du wirklich?</small>
 +
<big>Ja!</big>
 +
Ja, gut, OK.
 +
|-
 +
| Unterstreichen ''(u=underline)''<br>Eingefügter Text ''(ins=inserted)''
 +
| <pre width="45">
 +
<u>Unterstrichen</u><br>
 +
<ins>Eingefügt</ins>
 +
</pre>
 +
|
 +
<u>Unterstrichen</u><br />
 +
<ins>Eingefügt</ins>
 +
|-
 +
| Durchstreichen ''(s=strikethrough)''<br>Löschmarkierung ''(del=deleted)''
 +
| <pre width="45">
 +
<s>Durchgestrichen</s><br />
 +
<del>Gelöscht</del>
 +
</pre>
 +
|
 +
<s>Durchgestrichen</s><br />
 +
<del>Gelöscht</del>
 +
|-
 +
| Schrift fester Zeichenbreite ''(tt=teletype)''<br>Quelltext oder Programmcode ''(code)''
 +
| <pre width="45">
 +
<tt>Schreibmaschine</tt><br />
 +
<code>Quellcode</code>
 +
</pre>
 +
|
 +
<tt>Schreibmaschine</tt><br />
 +
<code>Quellcode</code>
 +
|-
 +
| Kommentare
 +
| <pre width="45">
 +
<!-- Bitte stehen lassen -->
 +
Kommentare sind nur beim Bearbeiten sichtbar.
 +
</pre>
 +
|
 +
<!-- Bitte stehen lassen -->
 +
Kommentare sind nur beim Bearbeiten sichtbar.
 +
|-
 +
| Vorformatierter Text ''(pre=preformatted)''
 +
 
 +
'''Achtung:''' <nowiki><pre></nowiki> hat im Wikicode eine<br>
 +
andere Wirkung als in "reinem" HTML.
 +
| <pre width="45">
 +
<pre>
 +
Voll '''fett''' und ''schräg'' ist das hier.
 +
&lt;/pre>
 +
 
 +
<pre width="22" style="background:#ffe;
 +
                      border: 1px solid">
 +
[[Datei:Beispiel.jpg]]
 +
  [[421]], [[422]]
 +
* <small>Zwerg</small>
 +
* 1690&amp;ndash;1695
 +
&lt;/pre>
 +
</pre>
 +
|
 +
<pre>
 +
Voll '''fett''' und ''schräg'' ist das hier.
 +
</pre>
 +
 
 +
<pre width="22" style="background:#ffe; border: 1px solid">
 +
[[Datei:Beispiel.jpg]]
 +
  [[421]], [[422]]
 +
* <small>Zwerg</small>
 +
* 1690&ndash;1695
 +
</pre>
 +
|-
 +
| colspan="3" |
 +
<div style="clear:both; class="NavFrame">
 +
<div class="NavHead" style="text-align:left">Bemerkungen</div>
 +
<div class="NavContent" style="text-align:left">
 +
 
 +
;<nowiki><br></nowiki>
 +
: Zum Unterschied zwischen <code>&lt;br></code> und <code>&lt;br /></code>, und zu weiteren Anwendungen (<code>&lt;br clear="both" /></code>) siehe [[#...?]].</small>
 +
 
 +
;<nowiki><u>, <s>, <tt> vs. <ins>, <del>, <code></nowiki>
 +
: <nowiki><u>, <s> und <lt></nowiki> sind ''typografische'' (auf das Aussehen bezogene), <nowiki><ins>, <del> und <code></nowiki> sind ''semantische'' (auf die Bedeutung bezogene) Textauszeichnungen. Beide haben ''hier'' jeweils dieselbe Wirkung (oder auch nicht, das hängt ggf. vom Browser ab).
 +
 
 +
;<nowiki><!-- ... --></nowiki>
 +
:Kommentare werden bereits vom Wiki-Parser entfernt, sind also schon im HTML-Text nicht mehr vorhanden.
 +
:(Wenn der Wiki-Parser die Kommentare stehen lassen würde, so würden sie erst bei der Anzeige vom Browser unterdrückt werden. In diesem Falle wären sie z.B. für Suchmaschinen, die den HTML-Text "durchforsten", sichtbar.)
 +
 
 +
;<nowiki><pre></nowiki>
 +
: In "reinem" HTML funktioniert <code>&lt;pre></code> ähnlich wie "eingerückter Text" oder <nowiki><poem></nowiki> im Wikicode: Der Text zwischen <code>&lt;pre></code> und <code>&lt;/pre></code> wird Zeichen für Zeichen in <code>&lt;tt></code>-Schrift wiedergegeben, einschließlich aller Leerzeichen und Zeilenumbrüche.
 +
 
 +
: Achtung: Im Wikitext (also hier) hat <code>&lt;pre></code> '''abweichend vom HTML-Lehrbuch''' zusätzlich die Wirkung von <code>&lt;nowiki></code>: Alle Wiki- und HTML-Formatierungen werden unterdrückt, nur HTML-Zeichencodes (<code>&...;</code>) werden noch interpretiert.
 +
 
 +
: (Aus diesem Grunde taucht <code>&lt;pre></code> unter den installierten [[Spezial:Version#Installierte_Erweiterungen|Parser-Erweiterungen]] auf, obwohl es in HTML ein gleichnamiges Element gibt.)
 +
 
 +
: "Eingerückter Wikitext" und der Text zwischen <code>&lt;pre>...&lt;/pre></code> werden mittels Rahmen und Hintergrund hervorgehoben. Diese Hervorhebung ist eine CSS-Eigenschaft; bei <code>&lt;pre></code> kann sie durch CSS-Attribute (<code>&lt;pre style="..."></code>, siehe [[#...?]]) variiert oder auch ganz unterdrückt werden.
 +
 
 +
{| {{Prettytable}}
 +
|-
 +
| Zur Demonstration das obige Beispiel ohne <nowiki><pre></nowiki>
 +
|
 +
<pre>
 +
 
 +
Voll '''fett''' und ''schräg'' ist das hier.
 +
 
 +
</pre>
 +
 
 +
<pre>
 +
 
 +
[[Datei:Beispiel.jpg]]
 +
  [[421]], [[422]]
 +
* <small>Zwerg</small>
 +
* 1690&amp;ndash;1695
 +
 
 +
</pre>
 +
|
 +
Voll '''fett''' und ''schräg'' ist das hier.
 +
 
 +
[[Datei:Beispiel.jpg]]
 +
  [[421]], [[422]]
 +
* <small>Zwerg</small>
 +
* 1690&ndash;1695
 +
|}
 +
 
 +
</div><!-- NavContent -->
 +
</div><!-- NavFrame  -->
 +
|}
 +
 
 +
==== HTML alternativ zum Wikitext ====
 +
Für einige Formatierungen stehen sowohl Wiki-Syntax als auch eine HTML-Variante mit identischer oder ähnlicher Wirkung zur Verfügung.
 +
 
 +
<div style="fontsize:90%; margin:1em">
 +
In der Regel ist wegen der Kürze und der besseren Lesbarkeit die Wiki-Variante vorzuziehen.<br>
 +
In einigen Fällen ist die HTML-Variante klarer (d.h. besser zu verstehen), oder nur diese führt zum richtigen Ergebnis, wie das folgende Beispiel zeigt:
 +
{|
 +
|-
 +
| <pre width="80">
 +
... stellte in '''s-Gravenhage'' sein neues Album ''Ma compil''' vor.<br>
 +
Bei der Präsentation der neuen CD ''Ma compil''' in '''s-Gravenhage'' ...
 +
</pre>
 +
|
 +
... stellte in '''s-Gravenhage'' sein neues Album ''Ma compil''' vor.<br>
 +
Bei der Präsentation der neuen CD ''Ma compil''' in '''s-Gravenhage'' ...
 +
|-
 +
| <pre width="80">
 +
... stellte in <i>'s-Gravenhage</i> sein neues Album <i>Ma compil'</i> vor.<br>
 +
Bei der Präsentation der neuen CD <i>Ma compil'</i> in <i>'s-Gravenhage</i> ...
 +
</pre>
 +
|
 +
... stellte in <i>'s-Gravenhage</i> sein neues Album <i>Ma compil'</i> vor.<br>
 +
Bei der Präsentation der neuen CD <i>Ma compil'</i> in <i>'s-Gravenhage</i> ...
 +
|}
 +
</div>
 +
 
 +
=====Übersicht=====
 +
{| {{Prettytable}}
 +
|-
 +
!
 +
! Wikitext
 +
! HTML
 +
! Ergebnis
 +
! Austauschbar
 +
|-
 +
| Kursiv
 +
| <pre width=25>''Kursiv''</pre>
 +
| <pre width=25><i>Kursiv</i></pre>
 +
| ''Kursiv''
 +
| Ja
 +
|-
 +
| Fett
 +
| <pre width=25>'''Fett'''</pre>
 +
| <pre width=25><b>Fett</b></pre>
 +
| '''Fett'''
 +
| Ja
 +
|-
 +
| Überschriften
 +
| <pre width=25>==Überschrift2==</pre>
 +
| <pre width=25><h2>Überschrift2</h2></pre>
 +
|
 +
<!--==Überschrift2==-->
 +
<h2>Überschrift2</h2>
 +
| Bedingt<br>(siehe "Bemerkungen")
 +
|-
 +
| Absatz<br>''(Wikitext: Leerzeile)''
 +
| <pre width=25>
 +
... gewesen ist.
 +
 
 +
Jahre später...
 +
</pre>
 +
| <pre width=25>
 +
<p>... gewesen ist.</p>
 +
<p>Jahre später...</p>
 +
</pre>
 +
|
 +
<!--... gewesen ist.
 +
 
 +
Jahre später...-->
 +
<p>... gewesen ist.</p>
 +
<p>Jahre später...</p>
 +
| Ja
 +
|-
 +
| Tabellen
 +
| <pre width=25>
 +
{| {{ Prettytable }}
 +
|+ Ne Tabelle
 +
|-
 +
! Kopf !! Zeile
 +
|-
 +
| Inhalt || Zelle
 +
|}
 +
</pre>
 +
|
 +
<pre width="25">
 +
<table {{Prettytable}} >
 +
    <caption>Ne
 +
        Tabelle</caption>
 +
    </caption>
 +
    <tr>
 +
        <th>Kopf </th>
 +
        <th>Zeile</th>
 +
    </tr>
 +
    <tr>
 +
        <td>Inhalt</td>
 +
        <td>Zelle </td>
 +
    </tr>
 +
</table>
 +
</pre>
 +
|
 +
<table {{Prettytable}} >
 +
    <caption>Ne
 +
        Tabelle</caption>
 +
    <tr>
 +
        <th>Kopf  </th>
 +
        <th>Zeile </th>
 +
    </tr>
 +
    <tr>
 +
        <td>Inhalt</td>
 +
        <td>Zelle </td>
 +
    </tr>
 +
</table>
 +
| Ja<br>(Elemente nur zum Teil<br>miteinander "mischbar",<br>siehe "Bemerkungen")
 +
|-
 +
| Listen
 +
| * # ; :
 +
| ul ol li dl dd
 +
|
 +
| Ja(?)
 +
|-
 +
| colspan="5" |
 +
<div style="clear:both; class="NavFrame">
 +
<div class="NavHead" style="text-align:left">Bemerkungen</div>
 +
<div class="NavContent" style="text-align:left">
 +
; Überschriften
 +
: Es gibt verschiedene Überschriften-Ebenen: im Wiki = == === ==== usw.; in HTML <nowiki><h1>...<h6></nowiki>.
 +
: Beide Varianten erzeugen automatisch einen Eintrag im Inhaltsverzeichnis.
 +
: Die Wiki-Variante erzeugt zusätzlich einen "Bearbeiten"-Link für den jeweiligen Abschnitt.
 +
 
 +
;Absätze: Leerzeilen, <nowiki><p></nowiki>
 +
: Leerzeilen im Wikicode, die von "normalem Text" umgeben sind, erzeugen <nowiki></p><p></nowiki>
 +
: ''Wofür könnte explizites HTML-<nowiki><p></nowiki> gebraucht werden?''
 +
 
 +
;Tabellen
 +
: <nowiki><table>, <th>, <tr>, <td> und <caption></nowiki> sind erlaubt (kommen auch in Wikitables vor)
 +
: <nowiki><thead>, <tbody> <tfoot>, <colgroup> und <col></nowiki> sind verboten
 +
 
 +
: Die Wiki-Variante spart Schreibarbeit
 +
: Die Wiki-Variante ist toleranter gegenüber Schreibfehlern (?)
 +
: In der Wiki-Variante ''müssen'' <nowiki>{|, |-, !, |, |}</nowiki> jeweils am Zeilenanfang stehen (bis auf ...)
 +
: In der HTML-Variante können die Elemente beliebig eingerückt werden, um die Struktur zu verdeutlichen
 +
: Fazit: Die Wiki-Variante ist für einfache Tabellen zu bevorzugen; komplizierte Strukturen (z.B. Tabellen in Tabellen) sind in der HTML-Version besser zu überblicken.
 +
 
 +
: Wiki-Syntax und HTML-Syntax können eingeschränkt vermischt werden (solange außen <nowiki><table>...</table> und nicht {| ... |} </nowiki> verwendet wird?):
 +
<pre width="25">
 +
<table {{Prettytable}} >
 +
|+ Ne Tabelle
 +
    <tr>
 +
        <th>Kopf </th>
 +
        <th>Zeile</th>
 +
    </tr>
 +
|-
 +
| Hier || steht
 +
    <tr>
 +
        <td>viel</td>
 +
        <td>drin</td>
 +
    </tr>
 +
</table>
 +
</pre>
 +
<table {{Prettytable}} >
 +
|+ Ne Tabelle
 +
    <tr>
 +
        <th>Kopf </th>
 +
        <th>Zeile</th>
 +
    </tr>
 +
|-
 +
| Hier || steht
 +
    <tr>
 +
        <td>viel</td>
 +
        <td>drin</td>
 +
    </tr>
 +
</table>
 +
 
 +
</div><!-- NavContent -->
 +
</div><!-- NavFrame  -->
 +
|}
 +
 
 +
;div und span
 +
 
 +
 
 +
==== Positivliste: Erlaubte Tags ====
 +
Die folgenden HTML-Tags sind im Wikitext erlaubt,
 +
d.h. sie werden vom Wiki-Parser als gültig erkannt:<br>
 +
(Zusammenstellung aus http://en.wikipedia.org/wiki/Help:HTML_in_wikitext; ohne Anspruch auf Vollständigkeit)
 +
<pre width="60" style="margin-left:1em">
 +
<!-- ... -->  <del>          <ol>          <strong>
 +
<abbr>        <div>          <p>            <sub>
 +
<b>            <dl>          <pre> *       <sup>
 +
<big>          <dt>          <rb>          <table>
 +
<blockquote>  <em>          <rp>          <td>
 +
<br>          <font>        <rt>          <th>
 +
<caption>      <h1> - <h6>    <ruby>        <tr>
 +
<center>      <hr>          <s>            <tt>
 +
<cite>        <i>            <small>        <u>
 +
<code>        <ins>          <span>        <ul>
 +
<dd>          <li>          <strike>      <var>
 +
</pre>
 +
<code>*</code>: Modifizierte Bedeutung durch Parser Extension
 +
 
 +
==== Negativliste: Nicht erlaubte Tags ====
 +
Verbotene Tags werden vom Wiki-Parser deaktiviert: So wird z.B. <code>&lt;script&gt;</code> im Wikicode zu <code>&amp;lt;script&amp;gt;</code> im HTML umgewandelt und im Browser wiederum als &lt;script&gt; angezeigt. Unbekannte, falsch geschriebene oder an der falschen Stelle gesetzte Tags werden ebenso behandelt.
 +
 
 +
Die folgenden HTML-Tags sind im Wikitext nicht erlaubt, d.h. sie werden vom Wiki-Parser "unschädlich gemacht":
 +
<pre width="60" style="margin-left:1em">
 +
<a>            <dfn>          <kbd>          <param>
 +
<acronym>      <dir>          <label>        <q>
 +
<address>      <fieldset>    <legend>      <samp>
 +
<applet>      <form>        <link>        <script>
 +
<area>        <frame>        <map>          <select>
 +
<base>        <frameset>    <menu>        <style>
 +
<basefont>    <head>        <meta>        <tbody>
 +
<bdo>          <html>        <noframes>    <textarea>
 +
<body>        <iframe>      <noscript>    <tfoot>
 +
<button>      <img>          <object>      <thead>
 +
<col>          <input>        <optgroup>    <title>
 +
<colgroup>    <isindex>      <option>
 +
</pre>
 +
Die Liste erhebt keinen Anspruch auf Vollständigkeit. So gibt es in älteren HTML-Standards (und damit evtl. auch in Lehr- und Nachschlagewerken) zahlreiche weitere HTML-Tags, die hier nicht berücksichtigt sind.
 +
 
 +
<div style="clear:both; class="NavFrame">
 +
<div class="NavHead" style="text-align:left"><div>Beschreibung einiger im Wikitext nicht erlaubter HTML-Tags</div></div>
 +
<div class="NavContent" style="text-align:left">
 +
;HTML-Grundgerüst
 +
:  <code><nowiki><head>, <body>, <title>, <base>, <meta></nowiki></code>
 +
;Frames
 +
: <nowiki><frameset>, <frame>, <noframes></nowiki>
 +
: Dito
 +
;Links, Einbindung von Bildern
 +
:  <code><a>: <a href="..."> <a name="...">; <img></code>
 +
:  stattdessen <code><nowiki>[[...]]</nowiki></code>, <code><nowiki>[http://...]</nowiki></code>, <code><nowiki>http://...</nowiki></code>, <code><nowiki>[[Datei:...]]</nowiki></code> <code><nowiki><div id="..."></nowiki></code> benutzen
 +
HTML, CSS(?)
 +
;Einbindung von Bildern
 +
: <code><img src="..."></code> stattdessen Wikisyntax benutzen <nowiki>[[Datei:Beispiel.jpg|...]]</nowiki>
 +
;Tabellen
 +
: nur <code><nowiki><table>, <th>, <tr>, <td>, <caption></nowiki></code> sind erlaubt (kommen in Wikitables vor)
 +
: <code><thead>, <tbody>, <tfoot>, <colgroup> und <col></code> sind verboten (Äquivalente kommen in Wikitables nicht vor)
 +
;Skripte
 +
: <code><script></code> (PHP, JavaScript usw.)
 +
;Ähnlich 
 +
: <code><applet> <button> <menu> <object></code> usw. (Bedeutung?)
 +
</div>
 +
</div>
=== HTML-Symbole ===
=== HTML-Symbole ===

Aktuelle Version vom 23:02, 4. Feb. 2011

Image:Construction.jpg An diesem Artikel oder Abschnitt arbeitet gerade Kobold. Um Bearbeitungskonflikte zu vermeiden, warte bitte mit dem Ändern, bis diese Markierung entfernt ist, oder kontaktiere Kobold.

HTML (Hypertext Markup Language) und CSS (Cascading style sheets) sind zusammen die Sprache, in der Webseiten über das Internet übertragen werden.

In der MosaPedia werden Artikel nicht als HTML, sondern als Wikitext geschrieben. Die Wikimedia-Software übersetzt den Wikitext in HTML-Code, der auf dem Server zwischengespeichert, zum Rechner des Benutzers übertragen und dort vom Browser angezeigt wird. Wikitext ermöglicht in den am häufigsten vorkommenden Fällen eine etwas einfachere (d.h. einfach zu handhabende) Textgestaltung, deckt aber nicht die gesamte Bandbreite der Anforderungen ab. Für die etwas komplizierteren Fälle wird dann HTML eingesetzt. Da der Wikitext ohnehin zu HTML übersetzt wird, ist dies unproblematisch: der HTML-Text bleibt einfach so, wie er ist.

Über HTML und CSS gibt es eine Vielzahl von Lehr- und Nachschlagewerken, deren Inhalt hier nicht wiedergegeben werden muss (im Folgenden nur einige Grundgedanken). Beim Einsatz in der Wikimedia-Software gibt es aber einige Details zu beachten, die nicht in den HTML-Büchern stehen:

  • Der erlaubte Sprachumfang ist eingeschränkt, dafür fügt die Wikimedia-Software einige Tags hinzu, die wie HTML aussehen, und ändert die Wirkung einiger Befehle
  • Konventionen zu beachten

Inhaltsverzeichnis

[Bearbeiten] HTML

Tags, entities

[Bearbeiten] Wann HTML benutzen?

pro: Viele Effekte lassen sich nur durch HTML erreichen pro: HTML ist (zerbrechlichen, ggf. schwer verständlichen) "Tricksereien" vorzuziehen con: HTML im Quelltext schreckt unerfahrene Benutzer ab (Syntax und Wirkung sollte offensichtlich sein)

HTML sparsam einsetzen, und/oder einheitlich formatieren komplexe Layouts in Wiki-Vorlagen kapseln Dito für CSS.

[Bearbeiten] Konventionen

Wikipedia... hier geringfügig anders in der MosaPedia häufig < br clear="both" /> (s.u.)

Kommentare < !-- --> werden vom Parser entfernt, können für Hinweise an den nächsten Bearbeiter etc. sinnvoll sein:

<!-- Bitte hier noch ... ergänzen -->
== Cappuccino im Mosaik ==
=== Die Abrafaxe als Genießer ===

<!-- 11/77 --> 
[[Califax]] lässt sich von ...

<!-- 420 --> 
In London begegnet [[Brabax]] ...
[[Datei:Creck375.jpg|thumb|x200|[[375]]]] <!-- ausnahmsweise thumb, damit auf einheitliche Größe skaliert werden kann -->

HTML-Kommentare können Zeilenumbrüche zur Strukturierung des Quelltextes kapseln

[Bearbeiten] HTML-Elemente (Tags)

HTML-Elemente bestehen aus einem einleitenden tag (z.B. <small>), einem abschließenden tag (z.B. </small>) und dem Text dazwischen, also etwa: <small>kleiner Text</small>. Welche tags es gibt, ist in den HTML-Standards definiert. Im Wikitext ist nur ca. die Hälfte der in HTML gültigen Elemente bzw. Tags erlaubt, nur ein kleinerer Teil davon wird regelmäßig benötigt.

Die verschiedenen HTML-Tags lassen sich aus der Sicht des Wiki-Systems bzw. seines Benutzers wie folgt einteilen:

  1. Erlaubte (also vom Wiki-Parser unterstützte) Tags: Diese werden bei der Übersetzung des Wikitextes in HTML unverändert gelassen.
    (Dabei wird die korrekte Schachtelung überprüft, und ggf. wird die Eingabe syntaktisch korrigiert: aus <br> wird <br />, usw.)
    • Beispiele sind <br>, <small>, <u>, <div>, ...
    • Für einige gibt es eine alternative Wiki-Schreibweise: z.B. ''...'' oder <i>...</i>
  2. Verbotene Tags: Hierbei handelt es sich (a) um solche, für die im Wiki ein etwas abweichender Mechanismus existiert , und (b) um solche, die für in das System eingebettete Dokumente nicht benötigt werden (z.B. <html>, <body>) oder die (c) das System durcheinanderbringen könnten (z.B. <script>).
    • Ungültige (falsch geschachtelte, falsch geschriebene oder unbekannte) Tags werden ebenso behandelt.
    • Verbotene und ungültige Tags werden vom Parser "entschärft" und in reinen Text verwandelt, indem die spitzen Klammern durch ihre grafischen Äquivalente ersetzt werden.
    • Beispiele sind (a) <a> und <img> (für Links und Bilder steht u.a. [[...]] zur Verfügung); (b) <html>, <head>, <body> usw (das "Grundgerüst" wird vom Wiki hinzugefügt); (c) <script>, <applet> usw.
  3. Die Wiki-Software fügt eine Anzahl von Elementen hinzu, die wie HTML aussehen und wie HTML-Tags benutzt werden, aber in HTML unbekannt sind.
    • In die Wikimedia-Software fest eingebaut sind Sprachelemente wie <gallery>; <nowiki> (Abschalten aller Wiki- und HTML-Formatierungen) sowie <onlyinclude>, <noinclude> und <includeonly> (Steuern der Vorlageneinbindung).
    • In der MosaPedia sind zusätzlich die Erweiterungen <imagemap>, <poem>, <pre>, <ref> und <references> installiert.
    • In der MosaPedia noch nicht installiert, aber in der Wikipedia: u.a. <math> <categorytree> <syntaxhighlight>
  4. Tags mit modifizierter Bedeutung: <pre>

[Bearbeiten] Wichtige HTML-Formatierungen

Für den "Hausgebrauch" sollen im folgenden einige häufig verwendete (und natürlich "erlaubte") HTML-Tags beschrieben werden. Eine ähnliche, aber etwas anders zusammengestellte Liste findet sich unter [1]. Eine Liste aller erlaubten Tags findet sich weiter unten, ausführlich unter [2].

Einige der hier aufgeführten Formatierungen sollten in Artikeln nur in Ausnahmefällen verwendet werden, auf Diskussions-, Projektseiten usw. werden sie jedoch häufig benötigt. (Zu den stilistischen Konventionen siehe #...?).

Wikitext Ergebnis
Zeilenumbruch (br=break)
vorher...<br>...nachher

# So.<br> Sagte er; aber
# muss man feststellen, dass hier
nicht alles passt.

vorher...
...nachher

  1. So.
    Sagte er; aber
  2. muss man feststellen, dass hier

nicht alles passt.

Kleinere Schrift (small)
Größere Schrift (big)
Das ist so!
<small>Meinst du wirklich?</small>
<big>Ja!</big>
Ja, gut, OK.

Das ist so! Meinst du wirklich? Ja! Ja, gut, OK.

Unterstreichen (u=underline)
Eingefügter Text (ins=inserted)
<u>Unterstrichen</u><br>
<ins>Eingefügt</ins>

Unterstrichen
Eingefügt

Durchstreichen (s=strikethrough)
Löschmarkierung (del=deleted)
<s>Durchgestrichen</s><br />
<del>Gelöscht</del>

Durchgestrichen
Gelöscht

Schrift fester Zeichenbreite (tt=teletype)
Quelltext oder Programmcode (code)
<tt>Schreibmaschine</tt><br />
<code>Quellcode</code>

Schreibmaschine
Quellcode

Kommentare
<!-- Bitte stehen lassen -->
Kommentare sind nur beim Bearbeiten sichtbar.

Kommentare sind nur beim Bearbeiten sichtbar.

Vorformatierter Text (pre=preformatted)

Achtung: <pre> hat im Wikicode eine
andere Wirkung als in "reinem" HTML.

<pre>
Voll '''fett''' und ''schräg'' ist das hier.
</pre>

<pre width="22" style="background:#ffe; 
                       border: 1px solid">
[[Datei:Beispiel.jpg]]
  [[421]], [[422]]
* <small>Zwerg</small>
* 1690&ndash;1695
</pre>
Voll '''fett''' und ''schräg'' ist das hier.
[[Datei:Beispiel.jpg]]
  [[421]], [[422]]
* <small>Zwerg</small>
* 1690–1695

[Bearbeiten] HTML alternativ zum Wikitext

Für einige Formatierungen stehen sowohl Wiki-Syntax als auch eine HTML-Variante mit identischer oder ähnlicher Wirkung zur Verfügung.

In der Regel ist wegen der Kürze und der besseren Lesbarkeit die Wiki-Variante vorzuziehen.
In einigen Fällen ist die HTML-Variante klarer (d.h. besser zu verstehen), oder nur diese führt zum richtigen Ergebnis, wie das folgende Beispiel zeigt:

... stellte in '''s-Gravenhage'' sein neues Album ''Ma compil''' vor.<br>
Bei der Präsentation der neuen CD ''Ma compil''' in '''s-Gravenhage'' ...

... stellte in s-Gravenhage sein neues Album Ma compil vor.
Bei der Präsentation der neuen CD Ma compil in s-Gravenhage ...

... stellte in <i>'s-Gravenhage</i> sein neues Album <i>Ma compil'</i> vor.<br>
Bei der Präsentation der neuen CD <i>Ma compil'</i> in <i>'s-Gravenhage</i> ...

... stellte in 's-Gravenhage sein neues Album Ma compil' vor.
Bei der Präsentation der neuen CD Ma compil' in 's-Gravenhage ...

[Bearbeiten] Übersicht
Wikitext HTML Ergebnis Austauschbar
Kursiv
''Kursiv''
<i>Kursiv</i>
Kursiv Ja
Fett
'''Fett'''
<b>Fett</b>
Fett Ja
Überschriften
==Überschrift2==
<h2>Überschrift2</h2>

Überschrift2

Bedingt
(siehe "Bemerkungen")
Absatz
(Wikitext: Leerzeile)
... gewesen ist.

Jahre später...
<p>... gewesen ist.</p>
<p>Jahre später...</p>

... gewesen ist.

Jahre später...

Ja
Tabellen
{| {{ Prettytable }}
|+ Ne Tabelle
|-
! Kopf !! Zeile
|-
| Inhalt || Zelle
|}
<table {{Prettytable}} >
    <caption>Ne
        Tabelle</caption>
    </caption>
    <tr>
        <th>Kopf </th>
        <th>Zeile</th>
    </tr>
    <tr>
        <td>Inhalt</td>
        <td>Zelle </td>
    </tr>
</table>
Ne Tabelle
Kopf Zeile
Inhalt Zelle
Ja
(Elemente nur zum Teil
miteinander "mischbar",
siehe "Bemerkungen")
Listen * # ; : ul ol li dl dd Ja(?)
div und span


[Bearbeiten] Positivliste: Erlaubte Tags

Die folgenden HTML-Tags sind im Wikitext erlaubt, d.h. sie werden vom Wiki-Parser als gültig erkannt:
(Zusammenstellung aus http://en.wikipedia.org/wiki/Help:HTML_in_wikitext; ohne Anspruch auf Vollständigkeit)

<!-- ... -->   <del>          <ol>           <strong>
<abbr>         <div>          <p>            <sub>
<b>            <dl>           <pre> *        <sup>
<big>          <dt>           <rb>           <table>
<blockquote>   <em>           <rp>           <td>
<br>           <font>         <rt>           <th>
<caption>      <h1> - <h6>    <ruby>         <tr>
<center>       <hr>           <s>            <tt>
<cite>         <i>            <small>        <u>
<code>         <ins>          <span>         <ul>
<dd>           <li>           <strike>       <var>

*: Modifizierte Bedeutung durch Parser Extension

[Bearbeiten] Negativliste: Nicht erlaubte Tags

Verbotene Tags werden vom Wiki-Parser deaktiviert: So wird z.B. <script> im Wikicode zu &lt;script&gt; im HTML umgewandelt und im Browser wiederum als <script> angezeigt. Unbekannte, falsch geschriebene oder an der falschen Stelle gesetzte Tags werden ebenso behandelt.

Die folgenden HTML-Tags sind im Wikitext nicht erlaubt, d.h. sie werden vom Wiki-Parser "unschädlich gemacht":

<a>            <dfn>          <kbd>          <param>
<acronym>      <dir>          <label>        <q>
<address>      <fieldset>     <legend>       <samp>
<applet>       <form>         <link>         <script>
<area>         <frame>        <map>          <select>
<base>         <frameset>     <menu>         <style>
<basefont>     <head>         <meta>         <tbody>
<bdo>          <html>         <noframes>     <textarea>
<body>         <iframe>       <noscript>     <tfoot>
<button>       <img>          <object>       <thead>
<col>          <input>        <optgroup>     <title>
<colgroup>     <isindex>      <option>

Die Liste erhebt keinen Anspruch auf Vollständigkeit. So gibt es in älteren HTML-Standards (und damit evtl. auch in Lehr- und Nachschlagewerken) zahlreiche weitere HTML-Tags, die hier nicht berücksichtigt sind.

[Bearbeiten] HTML-Symbole

  • Liste Zeichenreferenz
  • Editierleiste?
  • Wikipedia-Konvention: (Sonder)Zeichen im Quelltext sind besser lesbar als HTML-Entities (müssen aber vom Zeichensatz des Bearbeiters unterstützt werden, und am Bildschirm klar unterschieden werden können -- s. Leerzeichen).

[Bearbeiten] HTML-Dialekte

  • Transitional, Strict etc - Deprecated attributes, "quoting" etc.
  • XHTML - Balancierte Schachtelung
<br clear=both>
<br clear="both">
<br style="clear:both">
<br clear=both />
<br style="clear:both" />

Beobachtung: der Parser fügt das / ein.

[Bearbeiten] Leerzeichen, Leerzeilen; Einrückungen, Abstände

Leerzeichen und Zeilenumbrüche werden in HTML geringfügig anders als im Wikitext interpretiert:

  • Mehrere Leerzeichen sind so viel wie ein Leerzeichen, ebenso wie im Wikitext
  • In HTML wirken Zeilenumbrüche genauso wie Leerzeichen, in Wikicode haben Zeilenumbrüche spezielle Bedeutung.
  • Im Inneren von Tags können (wirkungslose, erlaubte) Zeilenumbrüche zur Strukturierung des Quelltextes gesetzt werden
  • In Attributwerten <... name="wert" ...> gilt das Gesagte nicht

Es gibt verschiedene Arten von Leerzeichen, diese können nur durch HTML erzeugt werden. nbsp thinsp ensp emsp pro: optische Wirkung con: Quelltext schlechter lesbar

[Bearbeiten] CSS

[Bearbeiten] Wofür?

[Bearbeiten] Wo?

  • in Tabellen
  • in HTML-Tags
  • script-Tag nicht erlaubt
  • CSS-Files readonly
  • Skins

[Bearbeiten] Styles

background border margin padding align float clear

[Bearbeiten] Classes

thumb tright, ... NavFrame (+JavaScript code)

Persönliche Werkzeuge