Quirkks режимінде DOCTYPE элементін пайдалану

Браузерлерді Quirks режиміне қою үшін Doctype қойыңыз

Егер веб-беттерді бірнеше айдан астам уақыт бойы жасаған болсаңыз , барлық браузерлерде бірдей көрінетін бетті жазудағы қиындықты білесіз. Шындығында бұл мүмкін емес. Көптеген браузерлер тек қана жұмыс істей алатын арнайы мүмкіндіктермен жазылған. Немесе оларда басқа браузерлердің қалай жұмыс істейтінінен өзгеше заттарды өңдеудің арнайы әдістері бар. Мысалға:

Браузерлерді әзірлеушілердің проблемасы ескі браузерлер үшін орнатылған веб-беттермен кері үйлесетін веб-браузерлерді жасау керек. Бұл мәселені шешу үшін браузер жасаушылар браузерлердің жұмыс істеу режимдерін жасайды. Бұл режимдер DOCTYPE элементінің бар немесе жоқтығы және DOCTYPE шақыратыны арқылы анықталады.

DOCTYPE коммутация және «Quirks Mode»

Егер сіз келесі DOCTYPE-ді веб-бетте орналастырсаңыз:

Заманауи браузерлер (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) келесі түрде түсіндіреді:

  1. Дұрыс жазылған DOCTYPE болғандықтан, бұл стандарттар режимін іске қосады.
  2. Бұл HTML 4.01 өтпелі құжат
  3. Стандарттар режимінде болғандықтан, браузерлердің көбісі HTML 4.01 өтпелі мазмұнмен үйлесімді (немесе көбінесе үйлесімді) болады

Егер сіз осы құжатқа DOCTYPE қойсаңыз:

Бұл қазіргі заманғы браузерлерге HTML 4.01 бетін DTD-ге қатаң сәйкестікте көрсету керек екенін білдіреді.

Бұл браузерлер «қатаң» немесе «стандарттар» режиміне өтеді және бетті стандарттарға сәйкес келтіреді. (Осылайша, осы құжат үшін, FONT элементі HTML 4.01 қатаң деп танылғандықтан, тегтер браузер арқылы толық еленбеуі мүмкін.)

Егер сіз DOCTYPE-ді толықтай тастасаңыз, браузерлер автоматты түрде «quirks» режиміне түседі.

Төмендегі кестеде ортақ браузерлердің әртүрлі ортақ DOCTYPE декларациялары ұсынылғанда не істейтіні көрсетілген.

Microsoft корпорациясы оны қатал етеді

Сонымен қатар, Internet Explorer 6-да DOCTYPE декларациясының бірде-біреуін қойсаңыз, олар Quirks режиміне өтеді. Осылайша, осы мысалдардың екеуі де IE 6-ді Quirks режиміне қойып береді, бірақ DOCTYPE декларациясы қатаң стандарттар режимінде екенін айтады:

және XHTML 1.1 DOCTYPE:

Сонымен қатар, егер сіз IE6-дан өткен болсаңыз, онда IE8 және IE9-да қосқан «ерекшелігі» бар: META элементін ауыстыру және веб-сайт қара тізімдемесі. Шын мәнісінде, осы екі шолғыш нұсқасы қазір жетіге дейін (!) Әр түрлі режимдерге ие:

IE 8-де «Үйлесімділік режимі» енгізілді, онда пайдаланушы рендеринг үлгісін IE 7 режиміне ауыстыруды таңдай алады. Осылайша сіз DOCTYPE және META элементтерін пайдаланып орнатқыңыз келген режимді орнатсаңыз да, сіздің бетіңіз бұрынғысынша төмен стандарттарға сай режимге ауысуы мүмкін.

Quirks Mode дегеніміз не?

Quirks режимі барлық қызықты көрсетілімдермен және сәйкессіз браузерлермен жұмыс істеуге көмектесу үшін жасалды және веб-дизайнерлер сол заттармен күресу үшін қолданды. Браузер өндірушілерінің алаңдаушылығы, егер браузерлерді толық спецификацияларға сәйкестендіретін болса, веб-дизайнерлер артта қалады.

DOCTYPE коммутация және «Quirks Mode» параметрлерін орнату арқылы бұл веб-дизайнерлерге браузерлердің өздерінің HTML файлдарын қалай беруін қалайтынын таңдауға мүмкіндік берді.

Quirks режимінің әсері

Көптеген браузерлер Quirks режимінде бірнеше әсерлері бар:

Сондай-ақ, «Стандарттар режимі дерлік» параметрінде айырмашылық бар:

DOCTYPE қалай таңдауға болады

Мен DOCTYPE тізіміндегі мақалада егжей-тегжейлі айтып беремін, бірақ төмендегілердің кейбір жалпы ережелері берілген:

  1. Алдымен стандарттар режимін таңдаңыз. Және қолданыстағы стандарт HTML5 болып табылады:
    HTML5 DOCTYPE-ні пайдаланудан аулақ болудың нақты себебі болмаса, онда сіз оны пайдалануыңыз керек.
  2. Маңызды элементтерді растау қажет болса немесе қандай да бір себептермен жаңа мүмкіндіктерден аулақ болу керек болса, қатаң HTML 4.01 нұсқасына өтіңіз:
  3. Егер кестеде кескіндерді кесіп тастасаңыз және оларды түзеткіңіз келмесе, Transitional HTML 4.01 нұсқасына өтіңіз:
  4. Бессмысқалдар режимінде беттерді әдейі жазуға болмайды. Әрқашан DOCTYPE пайдаланыңыз. Бұл сізге болашақта даму уақытында үнемдеуге мүмкіндік береді және шынымен де пайдасы жоқ. IE6 тез танымал болып келеді және осы браузерді жобалау арқылы (ол шын мәнінде Quirks режимінде жобалау болып табылады) сіз өзіңізді, оқырмандарыңызды және сіздің беттеріңізді шектейсіз. Егер IE 6 немесе 7-ге жазуға тура келсе, онда қазіргі браузерлерді күлкілі режимге мәжбүрлеудің орнына оларды қолдау үшін шартты түсініктемелерді қолданыңыз.

DOCTYPE пайдалану неге

DOCTYPE түрінің бұл түрін білетін болсаңыз, сіздің веб-беттеріңізге DOCTYPE арқылы тікелей әсер етуіңіз мүмкін, ол браузер сіздің бетіңізден күтуге болатындығын көрсетеді. Сондай-ақ, сіз DOCTYPE пайдалануды бастағаннан кейін сіз жарамды болу үшін жақынырақ HTML жазуыңыз керек (оны әлі де растауыңыз керек). Сондай-ақ, жарамды XHTML жазу арқылы браузер жасаушыларға стандартты стандартты браузерлерді құруды ұсынамыз.

Браузер нұсқалары және Quirks режимі

DOCTYPE Android
Chrome
Firefox
IE 8+
iOS
Opera 7.5+
Safari
IE 6
IE 7
Opera 7
Netscape 6
Жоқ Quirks режимі Quirks режимі Quirks режимі
HTML 3.2
Quirks режимі Quirks режимі Quirks режимі
HTML 4.01
Өтпелі Стандарттар режимі * Стандарттар режимі * Стандарттар режимі
Өтпелі Quirks режимі Quirks режимі Quirks режимі
Қатаң Стандарттар режимі Стандарттар режимі * Стандарттар режимі
Қатаң Стандарттар режимі Стандарттар режимі * Стандарттар режимі
HTML5
Стандарттар режимі Стандарттар режимі * Quirks режимі
* Осы DOCTYPE арқылы браузерлер стандарттарға сай келеді, бірақ кейбір мәселелері бар - тексеруге міндетті. Бұл сондай-ақ «дерлік стандарттар режимі» деп аталады.