JSSS, JavaScript-based Style Sheets
В своё время, когда браузер фирмы Netscape был лидером на рынке, в нём была поддержка интересной, на мой взгляд, технологии, которая уже при рождении была незаслуженно забыта — «JavaScript-based Style Sheets» (JSSS). Сейчас эту технологию, насколько я знаю, не поддерживает ни один из существующих браузеров, а в те времена я использовал её, чтобы разделить стили для Netscape и Internet Explorer, а сейчас это представляет интерес не больше, чем Gopher.
Итак, в чём суть? Суть та же самая, что и в CSS, разница лишь в представлении. Несколько примеров, думаю, достаточно наглядно покажут суть:
<style type="text/javascript"><!--
// H1 { color: blue }
tags.H1.color = "blue";
// BODY { color: black; background: white }
with(tags.BODY) {
color = "black";
bgColor = "white";
}
// H1 EM .reddish { color: red }
contextual(tags.H1, tags.EM, classes.reddish.all).color = "red";
/* UL LI { color: red }
UL UL LI { color: blue } */
with(tags) {
contextual(UL, LI).color = "red";
contextual(UL, UL, LI).color = "blue";
}
// P:first-line { font-style: small-caps }
tags.P.firstLine.fontStyle = "small-caps";
// P:first-letter { font-size: 200% }
tags.P.firstLetter.fontSize *= 2; // 200%
--></style>
Теперь самое интересное, вычисляемые значения и функции:
<style type="text/javascript"><!--
tags.IMG.width = .50 * document.width;
evaluate_style() {
if (visual.colorDepth < 2) {
bgColor = "white";
color = "blue";
} else {
bgColor = "black";
color = "white";
}
}
tag.BODY.apply = evaluate_style()
tag.ids.headertable.apply = evaluate_style()
--></style>
А кто сейчас мешает доступаться к аттрибуту style любого элемента?
document.getElementsbyTagName(’img’).style = {color: ’blue’,...}
Комментарий для blog.fxposter.org:
Никто не мешает. Это другая таблица стилей. Не CSS, она используется вместо CSS.