Doctype следует считать обязательным для всех сайтов.Отсутствие такового приведет к переходу IE в режим причуд.Это плохо.
Это имело место в течение очень долгого времени (с момента выхода IE6), поэтому любому, кто еще не использует Doctype, действительно не следует писать HTML для собственной безопасности!;-) Поэтому я не думаю, что вам следует беспокоиться о том, как ваш код выглядит без doctype.
Однако я хотел бы отметить, что фигуры CSS, которые вы рисуете, хотя и очень умные, должнысчитаться хаком.Есть несколько гораздо лучших способов получить произвольные формы в браузере, чем этот.
Кроме того, обратите внимание, что большинство фигур на странице, на которую вы ссылаетесь, не будут работать в IE8 или более ранних версиях.(круг и овал используют CSS border-radius
, а многие другие используют transform
, ни один из которых не поддерживается в IE8, и довольно многие из них используют CSS-селекторы :before
и :after
, которые есть в IE8, ноне IE7).Даже там, где HTML + CSS может достичь этих результатов, он определенно не предназначен для такого рода вещей.На самом деле, даже в Firefox 3.6 на странице, на которую вы ссылаетесь, я вижу некоторые глюки рендеринга.
Если вы хотите рисовать фигуры на своей странице с помощью кода, лучше использовать соответствующую библиотеку для рисования, а непытаясь взломать HTML + CSS, чтобы выполнить ваши прихоти.
Я бы порекомендовал такую библиотеку, как Raphael .Эта библиотека может рисовать произвольные фигуры в браузере, используя язык векторной графики SVG.Он даже работает в более старых версиях IE (где он использует аналогичный язык, называемый VML), поэтому у вас есть практически полная кросс-браузерная поддержка.Он также поддерживает анимацию и другие эффекты, что было бы совершенно невозможно при использовании форм CSS, которые вы используете в данный момент.