JS: If else Entscheidung in JavaScript

HTML ist keine Programmiersprache. Auch wenn dies öfters an manchen Stellen behauptet wird, ist dies falsch. Ein Grund hierfür ist, dass es in HTML keinerlei Kontrollstrukturen gibt. Fallentscheidungen wie beispielsweise eine einfach if/else Fallentscheidung fehlen in JavaScript völlig.
Schauen Sie sich einmal untenstehendes Beispiel an. Wir legen dort eine Variable „alter“ an und fragen per Prompt-Eingabebox das Alter des Users ab. Der User kann hier neben seinem Alter in Jahren auch Buchstaben und anderes eingeben. Dies muss für Anwendungen unterbunden werden. In unserem Beispiel setzen wir einfach voraus, dass das korrekte Alter in Jahren eingegeben wird. Die Variable „alter“ wird nun mit einer einfachen if/else-Entscheidung geprüft. Beachten Sie bitte, dass jeder Block in geschweiften Klammern („{}“) stehen muss. Klammerfehler gehören zu den häufigsten Tippfehler beim Programmieren.
Dem if folgend wird die eigentliche Fallprüfung in runden Klammern vorgenommen. In unserem Beispiel „alter >= 18“. Wenn der Wert der Variable alter größer oder gleich 18 ist, wird der direkt folgende Block ausgeführt. Die Prüfung „alter >17“ würde zum gleichen Ergebnis führen.
Wie Sie auch aus unserem Beispiel sehen können, hat unser Beispiel keinerlei Code innerhalb des Body-Container. Und dennoch wird eine Ausgabe im Browser-Fenster erscheinen. Dies erzeugen wir mit „document.write“. Damit schreiben wir Text in das Dokument. Diese Methode wird sehr häufig bei einfachen Beispielen angewendet. In größeren Projekten führt diese Methode oftmals zu Problemen.

<script type="text/javascript">

var alter = prompt("Bitte gebe Dein Alter ein","");
if (alter >= 18)
{
 document.write("Du bist volljährig!");
}
else
{
document.write("Du bist noch minderjährig!");
}
</script>

Der „else“-Zweig ist bei einer If-Abfrage nicht zwingend notwendig. So reicht es je nach Programmfluss völlig aus, Abfragen per „If“ zu regeln. Ein einzelner „else“-Zweig macht keinen Sinn und führt zu einem Fehler.

JS: Eine Zufallszahl erzeugen

Nichts ist zufällig. Schon gar nichts in der EDV. So auch jede Zufallszahl. Sie basiert immer auf Berechnung. Nur für uns erscheint die Zahl zufällig. Wie „zufällig“, das entscheidet der Programmcode, mit dem die Zahl erzeugt wird.

Für den ersten Versuch können wir ine erste Zufallszahl einfach über die Zeit erzeugen:

<script type="text/javascript">

function zufallszahl()
{
   var d = new Date()
   var t = d.getTime()
   t = Math.round(t/10) 
   alert(t);
}
</script>

In der Funktion „zufallszahl“ legen wir in der Variablen „d“ ein Datumsobjekt an und geben der Variablen t aus dem Datumsobjekt die aktuelle Zeit. Dann dividieren wir das Ergebnis durch 10 und rundes es. Und nun haben wir eine Zufallszahl. Diese ist zwar nicht wirklich zufällig, aber für die meisten Anwendungen genügt sie.

Es geht natürlich noch einfacher: var zufall = Math.random()
über das Objekt „Math“ können Sie sich eine Zufallszahl erzeugen lassen. Intern macht Ihr Browser auch nichts viel anders, wie wir oben. Über das aktuelle Datum, Zeitstempel und und und wird im Objekt Math eine Zufallszahl erzeugt. Allerdings nur eine Zufallszahl auf „0“ und „1“. Für Fallentscheidungen reicht dies. Doch wenn Sie eine Zufallszahl zwischen 0 und n benötigen, müssen Sie selbst dafür sorgen. Über die folgende Funktion geht dies sehr einfach.

function Zufallszahl(n)
{
   return Math.floor((n+1)*Math.random())
}

Der Funktion übergeben Sie einfach den größten Wert „n“ und die Funktion liefert Ihnen eine Ganzzahl zwischen 0 und n zurück. Ein Anwendungsbeispiel gefällig? Sehen Sie hier:

<script type="text/javascript">
function Zufallszahl(n)
{
   alert (Math.floor((n+1)*Math.random()));
}
</script>

<a href="javascript:Zufallszahl(10)">Zufall zwischen 0 und 10</a>
<a href="javascript:Zufallszahl(50)">Zufall zwischen 0 und 50</a>

Wie Sie sehen, ist eine Zufalslzahl in JavaScript sehr schnell und einfach erzeugt.

JS: Rundung auf zwei Nachkommastellen

Da die JavaScript über „Math“ keine Nachkommastellen kennt und das Ergebnis kaufmännisch auf die nächste Ganzzahl rundet, liegt es nahe, eine Funktion zu schreiben, die einem das Ergebnis kaufmännisch rundet. Bei der Gelegenheit sorgen wir auch für zwei Nullen, wenn nur eine Ganzzahl übergeben wird.

Zum Beispiel: Wir legen zwei Funktionen an. Die erste Funktion „kaufm_rundung“ ist die eigentliche Berechnung der kaufmännischen Rundung. Ihr wird die Variable x übergeben. Intern legt sie die Variable e an und rundet das x auf zwei Nachkommastellen. Dann sorgt sie noch für Nullen als Nachkommastellen, so dass beispielweise aus „3“ eine „3.00“ wird. Das Ergebnis gibt die Funktion per return zurück.
Daher ist noch eine weitere Funktion notwendig. Diese heißt hier einfach „tester“. Dieser wird die Variable „v“ aus einer Form im Body übergeben. Im Body befindet sich eine Textbox und ein Button. Beim Klick auf den Button übergeben wir den Wert der Textbox an die Funktion. Wieder in der Funktion „tester“ hat dann „v“ den Wert der Textbox. Wir legen der Einfachheit halber eine Variable „ergebnis“ an. Dieser geben wir das Ergebnis der Funktion „kaufm_rundung“ und geben das Ergebnis per Alert aus.
Das wirklich neue hier ist die Möglichkeit, das Ergebnis einer Funktion an eine Variable direkt zu übergeben („var ergebnis = kaufm_rundung(v);“). Somit aufrufbar kann die Funktion „kaufm_rundung“ von beliebigen Funktionen aufgerufen werden und das Ergebnis jederzeit weiter verarbeitet werden.
Ebenfalls neu ist die Möglichkeit, Werte („Value“) von Textboxen an eine Funktion zu übergeben. Dies wird mit „testform.kaufmaennische_rundung.value“ erreicht. Sie sprechen also den Wert der Textbox über den Namen der umgebenden Form, dann der Name der Textbox und dann das Attribut „value“ an.

function kaufm_rundung(x) 
{
  //Lege Variable e an, sorge für zwei Nachkommastellen und parse das Ergebnis als String
   var e = (Math.round(x * 100) / 100).toString();

   //Prüfe die Nachkommastellen
   e += (e.indexOf('.') == -1)? 
   return e.substring(0, e.indexOf('.') + 3);
}

function tester(v)
{
   //Der Variable v wird mit dem Klick auf den Button Berechne der Wert der Textbox zugewiesen
   //Nun ruf die Funktion kauf_rundung auf speicher das Ergebnis in der Variable ergebnis
   var ergebnis = kaufm_rundung(v);
   //Gib das Ergebnis aus
   alert (ergebnis);
}
</script>

<form enctype="application/x-www-form-urlencoded" method="get">Kaufmännische Rundung 
<input name="kaufmaennische_rundung" size="20" type="text" value="50.123456" />
<input onclick="tester(testform.kaufmaennische_rundung.value);" type="submit" value="Berechne" />
</form>

JS: Mit Variablen rechnen und runden

Da Mathematik kein Hexenwerk ist, sind auch Berechnungen in JavaScript kein Problem. In dem untenstehendem Beispiel berechnen wir den Klassiker der Mathematik: a + b = c. Im ersten Teil per Addition. Dann wird a und b mit neuen Werten belegt und dividiert. Hier werden Sie sehen, dass die Division ein unschönes Ergebnis bringt, da das Ergebnis nicht gerundet wird. Dies erreichen wir mit „Math.Round“. Allerdings rundet diese Funktion immer kaufmännisch auf die nächste Ganzzahl.

<script type="text/javascript">
function Berechne()
{
    //Lese diverse Werte ein und speicher sie in Variablen
   var a = 1;
   var b = 2;

   //Berechne die Addition uns speicher sie in der Variable c
   var c = a + b;   
   alert("Die Addition von a und b ergibt: " + c);

   //Belege a und b mit neuen Werten und berechne c neu
   a = 7;
   b = 3;
   c = a/b;
   alert("Die Division von a und b ergibt: " + c);

   //Runde c kaufmännisch auf die nächste Ganzzahl
   c = Math.round(a/b);
   alert("Gerundet ergibt die Division: " + c);
}
</script>

Und wie rundet man mit JavaScript auf zwei (oder mehr) Nachkommastellen?
JavaScript kann dies „von Haus aus“ leider nicht. Wir müssen uns also selbst behelfen. Doch dies ist nicht sehr schwer. Dazu muss das Komma erst um die Anzahl der Nachkommastellen nach rechts verschoben werden. Dann kann gerundet werden und dann erfolgt die Verschiebung des Kommas wieder nach links. Kompliziert? Nein. Umständlich? ja, leider. Doch wenn man sich einmal das folgende Beispiel verinnerlicht hat, ist die Rundung in Zukunft kein Problem mehr. Das folgende Beispiel rundet auf vier Stellen nach dem Komma („10000“). Sie möchten zwei Dezimalstellen nach dem Komma? Sicher kennen Sie die Lösung …

<script type="text/javascript">
function Berechne()
{
   //Belege a und b mit neuen Werten und berechne c neu
   var a = 7;
   var b = 3;
   var c = a/b;

   alert("Gerundet auf vier Nachkommastellen: " + Math.round(c * 10000) / 10000);
}
</script>

JS: Mit Variablen rechnen

Neben der Speicherung von Text bieten Variablen die Möglichkeit, auch mit ihnen zu rechnen. Die elementaren Grundrechenarten (+,-,*,/) sind sehr einfach anzuwenden. Beachten Sie bitte, dass JavaScript die Regel „Punkt vor Strich“ beachtet. Sie sollten dennoch nicht mit Klammern geizen um sicherzustellen, dass Ihre Rechnung korrekt durchgeführt wird.

Im untenstehenden Beispiel führen wir eine Benzin-Verbrauchsrechnung durch. Wir fragen per Prompt ab, wie viel Kilometer gefahren wurde und speichern diesen Wert ind er Variable „kilometer“. Gleiches machen wir mit der Variable „liter“. Mit diesen zwei Variablen können wir den Durchschnittsverbrauch berechnen, den wir per Alert wieder ausgeben. Wie Sie vielleicht feststellen, wurde eine Klammer um die Division von „liter“ und „kilometer“ gesetzt. Diese Klammer ist in diesem Fall unnötig. Viele Programmierer neigen jedoch dazu, bei Berechnungen Teilrechnungen immer in Klammer zu setzen. So kann sichergestellt werden, dass auch nachträgliche änderungen an der (dann komplexeren) Rechnung nicht zu unerwünschten Ergebnissen führt.
Im zweiten Teil unseres kleinen Skriptes berechnen wir aus dem Durchschnittsverbrauch die Reichweite. Hier legen wir die Variable „ausgabe“ an und geben diese per Alert aus. Dann wird diese Variable neu belegt. Da sie bereits angelegt wurde, kann das „var“ vor „ausgabe“ entfallen. Der bisher gespeicherte Wert der Variable wird einfach überschrieben.

<script type="text/javascript">
function Berechne()
{
    //Lese diverse Werte ein und speicher sie in Variablen
    var kilometer = prompt("Wieviel Kilometer sind sie gefahren?","");
    var liter = prompt("Wieviel Liter haben sie gesamt verbraucht","");
    
    //Berechne hier den Durchschnittsverbrauch
    var durchschnitt = (liter/kilometer)*100;
    alert("Sie hatten einen Durchschnittsverbrauch von " + durchschnitt + " Litern");
    
    //Berechne Reichweite mit 50 Litern
    var ausgabe = 50/durchschnitt*100;
    alert("Mit 50 Litern Bezin kommen Sie " + ausgabe + " Kilometer weit");
	
	//Berechne Reichweite mit 80 Litern
    ausgabe = 80/durchschnitt*100;
    alert("Mit 80 Litern Benzin kommen Sie " + ausgabe + " Kilometer weit"); 
}
</script>

JS: Erste Variablen-Versuche

Wenn Sie Daten zwischenspeichern müssen oder bei der Erstellung von Programmen noch nicht die Werte kennen, mit denen Sie rechnen möchten, müssen Sie diese in Variablen speichern. Variablen kommen in allen Programmiersprachen eine erhebliche Bedeutung zu. Sie gehören zu den grundlegenden Dingen in einer Sprache. Stellen Sie sich eine Variable als eine Schublade (= Speicherplatz) in einem großen Schrank (= Speicher) vor. Sie können dort Daten ablegen und jederzeit wieder darauf zugreifen
In JavaScript wird eine Variable einfach mit „var Variablenname“ angelegt. Diese können bei der Anlegung gleich initialisiert werden. Mit „var testvar = 1“ haben Sie der Variable „testvar“ sofort den Wert „1“ zugewiesen.

<script type="text/javascript">

function StarteFunktion()
{
    //Lese diverse Datumswerte ein und speicher sie in Variablen
    var datum = new Date();
    var tag = datum.getDate();
    var monat = datum.getMonth();
    var jahr = datum.getYear();
    
    //öffne eine Eingabebox, speicher diese in der Variablen name und gib per alert den Wert aus
    var name = prompt("Wie lautet Ihr Vorname?","");
    alert("Ihr Name ist: " + name);
    
    //Gib die oben gespeicherten Datumswerte mit einem Punkt separiert aus
    alert("Heute ist der " + tag + "." + monat + "." + jahr);
    
    //erhöhe den Tag um 1 (tag = tag + 1)
    tag ++;
    
    //Gib den Wert aus. ACHTUNG: Die Variable rechnet mathematisch und beachtet NICHT die Datumregeln!
    alert("Morgen ist der " + tag + "." + monat + "." + jahr);
}
</script>

Wie Sie in diesem Beispiel sehen können, weisen wir bei Skriptstart der Variable „name“ über einen Prompt-Box einen Text (Vornamen) zu. Diese geben wir gleich wieder per alert aus.
Den Variablen tag, monat und jahr wird vom System der Wert zugewiesen. JS kann auf solch grundlegenden Systemvariablen zugreifen. Im Beispiel erhöhen wir mit „tag ++“ den Wert der Variable um 1. Diese C-Schreibweise funktioniert auch in JavaScript. Beachten Sie bitte, dass Sie damit auch den 32. Tag eines Monats erreichen können. Es findet keine Prüfung statt, ob dieser Tag auch per Kalender möglich ist!

HTML: Farbcodes RGB/Name für HTML und css

Farben können prinzipiell in zwei Arten angegeben werden: in RGB (Red/Green/Blue) oder unter Angabe des Farbnamens in englischer Schreibweise.

Bei der Angabe in RGB ist folgendes zu beachten: Die Angabe erfolgt in hexadezimaler Form. Das bedeutet, dass jede Farbe von Rot, Grün und Blau durch einen Hex-Wert angegeben wird. Die Mischung aus den drei Grundfarben durch die Angabe der jeweiligen Farbanteile ergibt die Farbe. Eine Farbe sieht beispielsweise so aus: #123456. Mit dem Gatter („#“) beginnt die Farbdefinition. Es folgen in den ersten zwei Stellen („12“) der Anteil von Rot. Stelle drei und vier sind die Werte für den Grünanteil und Stelle fünf und sechs für den Blauanteil. So können Sie rund 16,7 Millionen Farben definieren. Ob das sinnvoll ist, sollten Sie selbst entscheiden.
Zu beachten ist, dass nur 16 Standardfarben definiert sind:
Blau    blue     #0000FF
Dunkeltürkies        teal    #008080
Gelb    yellow    #FFFF00
Grau    gray    #808080
Grün    green    #008000
Hellblau    aqua    #00FFFF
Hellgrün    lime    #00FF00
Lila    purple    #800080
Marineblau    navy    #000080
Olivgrün    olive    #808000
Pink    pink    #FF00FF
Rostbraun    maroon    #800000
Rot    red    #FF0000
Schwarz    black    #000000
Silber    silver    #C0C0C0
Weiß    white    #FFFFFF

Wer sich ein wenig mit Farben in HTML auskennt wird sicherlich anmerken, dass es mehr als die oben aufgeführten Farbnamen gibt. Beispielsweise ist „whitesmoke“ oder „gainsboro“ eine weitere sehr beliebte Farbe. Doch diese Farben sind nicht standardisiert. Somit können je nach Browser und Rechner(-system) sehr unterschiedliche Abzeigevarianten auftreten.
Wenn Sie einen Farbnamen angeben, mit dem der Browser des Unsers nichts anfangen kann, ignoriert er die Farbgebung und zeigt stattdessen die Defaultfarbe an. Auch ist es möglich, dass ein Browser eine Farbe nicht darstellen kann, obwohl Sie ihm diese explizit per Hex-Wert übermittelt haben. In einem solchen Fall haben Sie keine weiteren Möglichkeiten. Der Browser wird die der übermittelten Wunschfarbe am nächsten kommenden Farbe anzeigen.

HTML: Attribute der Meta-Tags

Es gibt eine ganze Reihe von Meta-Informationen, die in Webseiten Verwendung finden.
Geben Sie dem Browser wichtige Informationen über den von Ihnen verwendeten Zeichensatz mit. Dies ist eine sehr wichtige Information.

<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

Oder

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Ein Autor kann sich in dieser Meta-Definition verewigen. Früher fand diese Definition Niederschlag in Suchmaschinen.

<meta name="Author" content="sirmark.de" />

Diverse HTML-Generatoren verewigen sich ebenfalls im HTML-Code. Diese Information kann vom Ersteller ohne weiteres gelöscht werden.

<meta name="GENERATOR" content="Microsoft FrontPage 4.0">

Hier kann der Ersteller eine kurze Beschreibung seiner Seite angeben. Früher wurde dieser Text in den Suchergebnissen einer Suchmaschine angezeigt.

<meta name="description" content="Dies ist die kurze Beschreibung dieser Webseite" />

Die Beschreibung kann auch hier erfolgen. Oftmals setzen Webmaster beide Möglichkeiten („description“ und „abstract“) ein, um möglichst viel Informationen für die Suchmaschinen unterzubringen.

Ebenfalls früher dienten die Keywords als Vorlage für Suchbegriffe für Suchmaschinen. Schon lange klassifizieren die Suchmaschinen ihre eigenen Suchbegriffe für eine Seite, denn mit der Platzierung von beliebten Keywords versuchten Webmaster Suchmaschinennutzer auf ihre Seite zu ziehen. Sie sollten Suchbegriffe angeben, die auch wirklich mit ihrer Seite zu tun haben.

<meta name="keywords" content="keyword1,keyword2,keyword3" />

Diese Meta-Informationen dienten früher ebenfalls den Suchmaschinen zur Klassifizierung. Gerade die „Date“-Angabe wurde früher dynamisch mit PHP o.ä. mit einem aktuelles Datum generiert um der Suchmaschinen vorzugaugeln, dass es sich um „frischen Content“ handelt. Inzwischen zeigen sich die Suchmaschinen davon unbeeindruckt.

HTML: Aufbau einer HTML-Seite

Ein Browser kann Text ohne weiteres anzeigen. Laden Sie hierzu einfach mal eine Textdatei in Ihren Browser. Je nach Art können Sie dies unter „Datei/Laden“ erledigen. Nichts spannendes, oder?
HTML-Seiten sind über Ihre Endung „.htm“ oder „.html“ definiert. Des Weiteren dient ein Grundgerüst zur Erkennung einer HTML-Seite. Sie startet also mit dem Tag und endet mit . Innerhalb des HTML-Tags gibt es zwei weitere Bereiche: Den Header und den Body.
Somit sieht die einfachste HTML-Seite so aus:

<html>
<head>
</head>
<body>
</body>
</html>

Wenn Sie dies in eine Datei („beispiel.htm“) schreiben und diese Datei in einem Browser aufrufen werden Sie sehen, dass Sie nichts sehen. Außer eine leere Seite.
Was Sie aber sehen sind grundlegende Dinge: Jeder Befehl (Tag) wird innerhalb einer spitzen Klammer auf („<“) und einer spitzen Klammer zu („>“) geschrieben. Jeder Tag (es gibt nur wenige Ausnahmen) hat immer sein Ende, das mit „“, also einem „/“ endet. Sie sehen das an und , und sowie und .

Innerhalb eines Containers können Verschachtelungen vorkommen. Auf keinen Fall dürfen jedoch diese grundlegenden drei Container ineinander weiter verschachtelt werden oder nicht geschlossen werden.

Innerhalb des Headers folgen noch weitere Tags. Einer ist der Titel (englisch: „Title“).

<title>Meine Seite</title>

Schreiben Sie also in Ihrem HTML-Grundgerüst nach dem BODY-Tag:

Wenn Sie diese dann speichern und die Seite in Ihrem Browser aufrufen werden Sie Ihren Titel in der Titelleiste des Browsers wiederfinden.

Nach dem TITLE-Tag folgen gewöhnlich noch diverse Meta-Definitionen. Meta-Definitionen dienen dem Browser oder Suchmaschinen sozusagen als Anleitung oder der Suchmaschine als Indexhilfe.

So verhilft die Meta-Information „Content-Type“ einem Browser, sich auf den in der Webseite verwendeten Zeichensatz einzustellen

Wenn Sie im HTML-Code einer Webseite folgende Meta-Informationen sehen, wissen Sie, welchen Generator der Ersteller benutzt hat.

<meta name="GENERATOR" content="Microsoft FrontPage 4.0">

Sie finden aber auch beispielsweise folgendes:

Damit wird eine Suchmaschine angewiesen, den gesamten Inhalt der Webseite sowie der Unterseiten in ihren Index aufzunehmen.

CSS: Wertigkeiten und Inline-Referenz

Sie kennen sicherlich diese Möglichkeit, definiert im Body der HTML-Seite, den Standard-Text der Webseite zu bestimmen:

Erscheint dieser Text in rot?

 

<body text=”#FFFFFF” >
 </body>

 

Erscheint der Text rot? Nein, denn hier wird im Body text=“#FFFFFF“ angegeben. Und der Code „#FFFFFF“ ist weiß. Mit einer Textdefinition im Body-Tag erreichen Sie, dass der gesamte Text auf der Webseite betroffen ist.

<p><font color="#FF0000">Erscheint der Text in Rot?</font></p>

Erscheint der Text in Rot?

<p><span style="color:red;">Erscheint dieser Text in rot?</span></p>

Erscheint dieser Text in rot?

Das Gleiche erreichen Sie mit folgendem Beispiel, jedoch auf Basis von CSS:

body {
  color:red;
}

Erscheint dieser Text in rot?

In diesem Fall erscheint der Text in rot. Was würde passieren, wenn wir beides kombinieren? Wenn wir also im Body die Farbe Weiss für den Text definieren, innerhalb von CSS jedoch rot?

body { color:red; }

Erscheint dieser Text in rot?

Die Ergebnisse können von Browser zu Browser unterschiedlich sein. Normalerweise müsste der Text jedoch in Rot erscheinen, da die CCS-Eigenschaft eine höhere Priorität geniest. Was passiert, wenn Sie einem Element trotz aller Definitionen einen direkten Style verpassen? Diese Vorgehensweise, auch Inline-Referenz genannt, würde folgendermaßen aussehen:

body { color:red; }
<span style="color: green;">Erscheint dieser Text in rot?</span>

Erscheint dieser Text in rot?

Erscheint dieser Text in rot? Überrascht Sie das Ergebnis? Eine Inline-Referenz geniest die höchste Priorität.

Aber Achtung: Solche Konflikte können in der Praxis zu großen Problemen führen und sind der Grund für stundenlanges Fehlersuchen.


UPDATE Inline-Referenz: ANZEIGEART display

Sie können via CSS über „display“ festlegen, ob ein Element angezeigt werden soll, oder nicht. Das einfachste Beispiel sehen sie wie folgt:

<p>Diese Zeile ist wird angezeit</p>
 <p style="display:none">Diese Zeile nicht</p>
 <p>Diese Zeile ist wird angezeigt</p>
 <p style="display:none">Diese Zeile nicht</p>

 

Mit „Inline“ können Sie jedoch noch weitere interessante Effekte erzeugen:

 

<h1 style="display:inline">Diese Überschrift erzeugt keinen Absatz</h1> Dieser Text gehört nicht mehr zu H1, es erfolgt jedoch keine Zeilenumbruch beim Wechsel zu H1
 <p>Hier folgt der neue Absatz</p>
 <h1 style="display:inline">Diese Überschrift erzeugt keinen Absatz</h1> Dieser Text gehört nicht mehr zu H1, es erfolgt jedoch keine Zeilenumbruch beim Wechsel zu H1
 <p>Hier folgt der neue Absatz</p>

Diese Überschrift erzeugt keinen Absatz

Dieser Text gehört nicht mehr zu H1, es erfolgt jedoch keine Zeilenumbruch beim Wechsel zu H1

Hier folgt der neue Absatz