Как узнать действующее значение стиля
При помощи объекта style можно узнать только явно заданные значения стилей, однако в большинстве случев необходимо знать не явно заданные а действующие значения стилей.
В Internet Explorer для этого можно воспользоваться свойстом currentStyle
var elem1 = document.getElementById("elemId");
alert(elem1.display);
(см. http://msdn.microsoft.com/en-us/library/ms535231%28v=VS.85%29.aspx) в браузерах на Mozilla можно использовать window.getComputedStyle(el)
var elem1 = document.getElementById("elemId");
var style = window.getComputedStyle(elem1, null);
alert(style.getPropertyValue("display"))
(см. https://developer.mozilla.org/en/DOM%3awindow.getComputedStyle)
Насчет HTML и Opera не уверен, но думаю там также как и у Mozilla.
Векторный графический редактор на JavaScript
На сайте ztools.org создал небольшой векторный графический редактор. Реализованы пока всего три вида объектов - линия, овал и прямоугольник. Редактор сам по себе примитивный и сделан исключительно с целью демонстрации возможностей библиотеки ztools а также для отладки работы с векторной графикой.
Что самое приятное, так это то, что код редактора, без учета библиотечных файлов содержит всего около четыреста строк.
Для прорисовки векторной графики в IE используется VML а в остальных браузерах SVG. В идеале, хочется сделать что то вроде библиотеки Raphael Дмитрия Барановского, но Raphael это вещь в себе, хотя и совершенно волшебная, мне же хочется сделать библиотеку для работы с векторной графикой на базе ztools. С его объектно-ориентированными возможностями можно будет создавать вещи нереализуемые при помощи классического HTML/CSS
Вертикальный текст в HTML
Как я уже писал, в HTML совершенно нет возможности размещать текст по-вертикали. Правда, сильно ограниченные возможности присутствуют в Internet Explorer, правда, у этого способа я обнаружил один баг — при предварительном просмотре печати текст оказывается зеркально отраженным, видимо, второй фильтр не применяется.
Хотелось бы найти универсальный способ отображать вертикальный текст по-вертикали во всех браузерах и по возможности без глюков. Как говорится если нельзя, но очень хочется, то можно.
Создал небольшой скрипт для отображения текста по-вертикали. Код получился сравнительно небольшим. Скрипт использует VML под IE и SVG под остальными браузерами.
Внешний вид полностью настраивается при помощи CSS и Javascript. Здесь можно скачать архив, а здесь увидеть как это работает в живую.
Выложенный пример тестировался на IE6-IE7, Firefox2, Google Crome, Opera и Safary.
Примеры использования VML и SVG
Сейчас в интернете накопилось огромное количество примеров использования SVG и VML однако, в большинстве случаев это именно XML файлы для отображения которых их нужно скормить браузеру либо как файл с расширением .svg либо как .vml. В некоторых примерах имеет место XHTML файл у которого уже прописаны namespace и всякая дополнительная бутафория. Меня же в данном случае интересует как взять ОБЫЧНЫЙ html файл и добавить к нему векторную картинку. Причем добавить непосредственно к уже существующему HTML коду чтобы HTML и VML или SVG отображались вместе.
В конце концов путем расковыривания кода Барановского и анализа существующих примеров сделал два примера которые меня устроили:
пример создания SVG - в FF и Safari должен показаться заполненный круг
пример создания VML - в IE должен показаться овал и линия