Gunnar Bittersmann: Link mit Stylesheets ändern

Beitrag lesen

Hello out there!

Jedenfalls schadet es offensichtlich nicht, auch nach der letzten _Deklaration_ ein Semikolon anzufügen. […]
Benjamin, der vorerst nichts mehr schreibt, ohne es wirklich 100.01%ig zu wissen.

Gut, dass du den Satz ans Ende gesetzt hattest, nicht an den Anfang. ;-)

Du kannst _nach_ der letzten Deklaration gar kein Semikolon setzen!

Die Regel 'foo { bar: baz; }' enthält 2 Deklarationen: 'bar: baz' und ''.

Hattest du doch gerade in [CSS2 §4.1.8] gelesen: „Eine Deklaration  ist entweder leer oder besteht aus einer Eigenschaft gefolgt von einem Doppelpunkt (:) gefolgt von einem Wert. […] mehrere Deklarationen [können] für denselben Selektor in durch Semikolons (;) voneinander getrennten Gruppen angeordnet werden.“

Du darfst von dort aus auch zu [CSS2 §4.1.7] und [CSS2 §4.1.1] hochscrollen. Dort steht’s:

ruleset     : selector? '{' S* declaration? [ ';' S* declaration? ]* '}' S*;

declaration : property ':' S* value;

Eine Deklaration enhält also kein ';', dieses steht zwischen Deklarationen.

Du kannst also nach der letzten Deklaration kein Semikolon setzen, denn damit würde die vorher letzte zur vorletzen und am Ende stünde eine neue (leere) Deklaration.

Die Regel 'foo { bar: baz; ; }' enthält 3 Deklarationen: 'bar: baz', '' und ''.

Und illegitim ist es auch nicht […] Außerdem vergisst man schnell mal, das fehlende Semikolon zu setzen, wenn man noch _Deklarationen_ anfügen möchte.

Das ohne Zweifel. Deshalb ist die letzte Deklaration jeder Regel in meinen Stylesheets meist leer.

See ya up the road,
Gunnar

--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)