2010-10-07 8 views
5

Chciałbym móc używać obiektów vml na renderowanie strony w trybie standardów zamiast w trybie dziwactwa. Znalazłem fragmenty odpowiedzi rozrzucone wokół, ale nie mogę tego rozgryźć. Raphael jakoś to odsuwa, ale nie mogę tego odwrócić, aby dowiedzieć się, co się dzieje. Każdy podstawowy przykład pracy byłby świetny.Jak sprawić, aby VML działał w trybie standardów?

Odpowiedz

7

Myślę, że to wymyśliłem. Krok 1 importuje przestrzeń nazw vml za pomocą javascript.

document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML"); 

Otrzymałem kilka losowych próbek vml do pracy w trybie dziwactwa, ale nie w standardach. Kluczowe jest to, że elementy wymagają jednostki do pomiarów, w których tryb dziwactwa zakłada px, jeśli jednostka nie jest dostarczona. Również kształty muszą być stylizowane na position:absolute;, chociaż linie najwyraźniej nie potrzebują tej części.

Oto próbka z 2 owaliami. Oba owale będą renderować w trybie dziwactwa, ale niebieski owal nie będzie wyświetlany w trybie standardowym.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head></head> 
<body> 
    <script> 
     document.namespaces.add('v', 'urn:schemas-microsoft-com:vml', "#default#VML"); 
    </script> 
    <v:oval style="width: 100; height: 50" fillcolor="blue"></v:oval> 
    <v:oval style="position: absolute; width: 100px; height: 50px" fillcolor="green"></v:oval> 
</body> 
</html> 
0

Dlaczego po prostu nie użyjesz Raphaela zamiast używać surowego VML? Faceci z Raphael wykonali świetną robotę tworząc standardową bibliotekę, która działa niemal wszędzie - wykorzystując swoją ciężką pracę.

+0

Mam istniejący projekt z dużą ilością vml działa w trybie dziwactwa. Chciałbym wiedzieć, co trzeba zrobić, aby zmienić tryb strony zamiast wymieniać cały vml na wywołania raphael. – lincolnk

Powiązane problemy