Reference articles on history, science, culture and more
Encyclopedia

JavaScript Style Sheets

Stylesheet language proposed by Netscape

JavaScript Style Sheets (JSSS) is an obsolete stylesheet language technology proposed by Netscape Communications in 1996 to provide facilities for defining the presentation of webpages. It was an alternative to the Cascading Style Sheets (CSS) technology.

Although Netscape submitted it to the World Wide Web Consortium (W3C), the technology was never accepted as a formal standard and it never gained acceptance in the web browser market. Only Netscape Communicator 4 implemented JSSS, with rival Internet Explorer choosing not to implement the technology. Soon after Netscape Communicator's release in 1997, Netscape stopped promoting JSSS, instead focusing on the rival CSS standard, which was also supported by Internet Explorer and had a much wider industry acceptance.

The follow-up to Netscape Communicator, Netscape 6 (released in 2000), dropped support for JSSS. It now remains little more than a historical footnote, with web developers generally unaware of its previous existence. The proposal did not become a W3C standard.

01Syntax

Using JavaScript code as a stylesheet, JSSS styles individual element by modifying properties of a document.tags object. For example, the CSS:

h1 { font-size: 20pt; }

is equivalent to the JSSS:

document.tags.H1.fontSize = "20pt";

JSSS element names are case sensitive.

JSSS lacks the various CSS selector features, supporting only simple tag name, class and id selectors. On the other hand, since it is written using a complete programming language, stylesheets can include highly complex dynamic calculations and conditional processing. (In practice, however, this can be achieved using JavaScript to modify the stylesheets applicable to the document at runtime.) Because of this JSSS was often used in the creation of dynamic web pages.

Example

The following example shows part of the source code of an HTML document:

<style type="text/javascript"> tags.H1.color = "red"; tags.p.fontSize = "20pt"; with (tags.H3) { color = "green"; } with (tags.H2) { color = "red"; fontSize = "16pt"; marginTop = "4cm"; } </style>

Similar to Cascading Style Sheets, JSSS could be used in a <style> tag. This example shows two different methods to select tags.

02Browser support

Javascript Style Sheets were only supported by Netscape 4.x (4.0-4.8) but no later versions. No other web browser has ever implemented JSSS.

Watch videos about JavaScript Style SheetsExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article JavaScript Style Sheets, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.