• Home
  • Blog
  • Agentur Klatsch

Style Angaben onclick ändern

Für eine Änderung der Style Angaben mittels onClick gibt es verschiedene Ansätze.
Beispielsweise mittels der Methoden:
getElementById() | getElementsByName() | getElementsByTagName()
vgl.: https://de.selfhtml.org/javascript/objekte/document.htm

getElementById() ist eigentlich selbsterklärend:
document.getElementById('meineID').style.background='#ffffff'
Hier bekommt die ID #meineID die Hintergrundfarbe weiss. Die ggf. ursprünglichen vorhandenen Style Angaben werden nicht mehr verwendet.
Das funktioniert bei den anderen Methoden genauso.

Etwas kniffliger wird es wenn man css Klassen (class=““)  ändern möchte.
Dafür kann man querySelectorAll verwenden. Da Klassen mehrfach vorkommen können, benötigen wir etwas mehr Code:
for (var i = 0; i < document.querySelectorAll(".foo").length; i++) {
document.querySelectorAll(".foo")[i].style.fontSize = "150%"; }

Hier bekommen alle Elemente der Klasse .foo eine Font Grösse von 150%.
Mehrfach Verwendung mittels Komma trennen.

Sollen nur auf das erste vorkommende Element zugegriffen werden, kann die Methode querySelector() benutzt werden:
document.querySelector(".foo").style.fontSize = "150%";

Beispiel:
Es sollen gleichzeitig die Selektoren h1, p und die Klasse foo einen Schriftgrad von 150% erhalten, das Element oder der Container mit der ID #meineId 650 Pixel breit werden und die Hintergrundfarbe weiss bekommen:
Aufruf: <a href=“javascript:gross ()“>Gross machen</a>
function gross () {
for (var i = 0; i < document.querySelectorAll("h1, p, .foo").length; i++) {
document.querySelectorAll("h1, p, .foo")[i].style.fontSize = "150%"; }
document.getElementById('meineID').style.width='650px';
document.getElementById('meineID').style.background='#ffffff'
}

ACHTUNG:
Selektoren, welche einen Bindestrich enthalten, werden in dieser Schreibweise nicht verarbeitet und in der Regel zusammengeschrieben:
fontSize, marginLeft, etc….  vgl.:
https://www.w3schools.com/cssref/pr_margin-left.asp
https://www.w3schools.com/jsref/prop_style_marginleft.asp

Gut versteckt, aber trotzdem gefunden 🙂

Über die Funktion „Sonderzeichen einfügen“ (der Button mit dem Omega):

ein geschütztes Leerzeichen in WordPress einfügen

Dann öffnet sich ein neues Fenster, es ist direkt das erste Zeichen oben links (hier grau: no-break space).

Sonderzeichen einfügen in WordPress

Bei der Beschäftigung mit HTML5 und Browser übergreifender Gestaltung, sind wir auf das Projekt HTML5 Boilerplate gestossen. Das Entwicklerteam hat interessante Ansätze für ein fertiges Template veröffentlicht.
(https://html5boilerplate.com/ oder deutsch: https://de.html5boilerplate.com/)
Die wichtigsten Punkte sind zusätzlich in ausführlichen Screencasts erklärt (englisch).

Einige Dinge lassen sich daraus auch direkt, ohne weitere Einarbeitung, verwenden:

Conditional Stylesheets / Comments oder CSS hacks?

Das ewige Problem mit korrektem CSS für alle Browser.
CSS Hacks für spezielle Browser innerhalb des Stylesheets sind in der Regel nicht valide.

Separate Stylesheets mittels Conditional Comments bedeuten zusätzliche HTTP Requests zum download und das Rendern der Seite wartet bis sie vollständig geladen sind.
In Zeiten, in denen Google die Ladezeiten einer Webseite als Qualitätsfaktor wertet, nicht unwichtig.
Abgesehen davon bedeuten zusätzliche Stylesheets natürlich mehr Aufwand.

Lösung:

Conditional Comments für eine extra Klasse des html Tags.
<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]> <html class="ie7"> <![endif]-->
<!--[if IE 8 ]> <html class="ie8"> <![endif]-->
<!--[if IE 9 ]> <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->

Damit kann man Browser spezifisches CSS direkt in das Haupt-Stylesheet schreiben:
.div { color: black; }
.ie8 .div { color: green; } /* IE8 */
.ie7 .div { color: blue; } /* IE7 */
.ie6 .div { color: red; } /* IE6 and IE5 */

Quelle Paul Irish: https://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

WICHTIG für den Internet Explorer:

Die Zeichenkodierung Deklaration (zB <meta charset = „UTF-8″ > ) sollte innerhalb der ersten 1024 Bytes des HTML-Dokuments platziert werden. Mit dieser Technik könnte diese Grenze überschritten werden. Also muss die nach oben.

Verschiedene Quellen berichten, dass beim IE Conditional Comments diesen in den Kompatibilitätsmodus versetzen.

Ist das nicht gewünscht, muss man serverseitig den header auf X-UA-Compatible setzen, denn die Verwendung von Conditional Comments vor <meta http-equiv=“X-UA-Compatible“> bringt den IE dazu, nachfolgendes <meta> zu ignorieren.

Quelle: https://mathiasbynens.be/notes/safe-css-hacks

Print Stylesheet integrieren

Anstatt in einem separaten direkt im gleichen Stylesheet integriert, um einen zusätzlichen HTTP-Aufruf zu vermeiden:
@media print {
deine Anweisungen zum Druck
...
}

Lösung für Firefox 4.0
Seit dem Upgrade auf Firefox 4.0 funktioniert das  Delicious bookmark add-on nicht mehr. Es wird automatisch beim Upgrade deaktiviert.
Es gibt bisher ( = heute ) kein neues add-on, aber eine Lösung dafür.

Funktionierende Lösung:
Im Firefox das Menü:
Hilfe => Information zur Fehlerbehebung
öffnen und dann:
Profilordner => Beinhaltete Ordner anzeigen

Firefox Fehlerbehebung

In dem dann geöffneten, neuen Fenster im Verzeichnis
extensions\{2fa4ed95-0317-4c6a-a74c-5f3e3912c1f9}
die Datei install.rdf öffnen und die Zeile
em:maxVersion=“4.0b3pre“ />

ändern in
em:maxVersion=“4.0″ />

firefox profilordner

Firefox neustarten und das Delicious bookmark add-on ist wieder aktiviert und einsatzbereit.

Wenn man das Gefühl hat, dass manche Schriften im Firefox unscharf dargestellt werden, diese aber im Internet Explorer deutlich besser aussehen, kann das an den Windows Anzeige-Einstellungen liegen.

Das liegt (meistens) daran, dass im IE für die Darstellung standardmäßig „cleartype“ verwendet wird.

Windows XP

Um die gleiche Darstellung auch im FF zu verwenden, müssen die
Anzeige-Eigenschaften => Darstellung => Effekte
ebenfalls auf „cleartype“ gestellt werden.

Windows Anzeige-Eigenschaften


Windows Vista und Windows 7

Die Systemsteuerung öffnen und im Suchfeld oben links nach „cleartype“ suchen.

Dort kann dann ClearType aktiviert oder deaktiviert werden.

Wer möchte, kann optional über den „Weiter“ Button noch die Lesbarkeit von Schriften speziell auf seine Bildschirm individuell anpassen. Das kann durchaus sinnvoll sein.

Informationen zu ClearType von Microsoft:
https://windows.microsoft.com/de-DE/windows-vista/ClearType-frequently-asked-questions


Besonderheit Windows 7 und Firefox Beta 4.0

Laut MozillaZine gibt es ein Problem mit einigen DLLs, welches mit einem optionalen Windows Update behoben werden kann.

Informationen zum Update von Microsoft:
https://support.microsoft.com/?kbid=2454826

Zeiterfassung mit Windows Editor

Zeiterfassung mit Windows NotepadDer Windows Editor
( Start / Programme / Zubehör / Editor )
verfügt über eine nette Zusatzfunktion, um Einträge mit Datum und Uhrzeit zu versehen.
Die Taste F5 fügt automatisch die aktuelle Zeit ein.
Wunderbar für kleine Projektdokumentationen, Zeiterfassung, elektronisches Tagebuch oder schnell mal etwas zu protokollieren.

Gefunden im Hilfe Index vom Editor.

Diese Funktion lässt sich sogar automatisieren indem man oben in die erste Zeile .LOG (Grossbuchstaben) schreibt.

Hilfe Funktion Windows Editor

Leider funktioniert diese nette Funktion nicht in Windows 2000 und Windows 7.