Кіріспе

Кодтау әдісі CSS-ге шабу - браузерге, нұсқа нөміріне немесе мүмкіндіктеріне байланысты CSS таңбалауын жасыру немесе көрсету үшін қолданылатын кодтау әдісі. Браузерлер CSS мінез-құлқының әртүрлі түсіндірмелері мен W3C стандарттарын қолдаудың әртүрлі деңгейлеріне ие. Кейде CSS-ті кейде үйлесімді рендерингке ие емес бірнеше браузерлерде біркелкі орналасу көрінісіне жету үшін пайдаланады. Бұл хактардың көпшілігі браузерлердің заманауи нұсқаларында жұмыс істемейді, ал басқа әдістер, мысалы, мүмкіндіктерді қолдауды анықтау, кең таралған.

Жарамсыз немесе талаптарға сәйкес келмейтін CSS

CSS-ті әртүрлі браузерлер түсіндірудегі ерекшеліктерге байланысты, CSS-тің көпшілігі тек белгілі бір браузерлер ғана түсіндіретін жарамсыз CSS ережелерін жазуды немесе белгілі бір браузерлердегі қателерге сүйенуді қамтиды. Бұған мысал ретінде Internet Explorer 6 бағдарламасына бағыт-бағдар беру үшін ережелерді асты сызылған сызықпен (кеңдігімен) алдын ала жазуды қарастырамыз. Басқа браузерлер сызықты елемейтін болады, оны бір браузерге арналған кодты жазуға пайдалануға мүмкіндік береді. CSS-тің ұқсас хактері синтаксистік қателерді, мысалы жұлдызшаларды, бос орындар мен CSS-тің қасиеттер атаулары бойынша түсініктемелерін енгізуді қамтиды. Сонымен қатар, Internet Explorer 6 және 7-де ! маңызды декларациясы таңбалау белгісінен кейінгі кез келген жолмен танылады, мысалы !ie.

Қолдауы жоқ CSS

Жаңа CSS ережелері қазіргі стандарттарға сәйкес дұрыс болса да, оларды ескі браузерлер " жарамсыз " деп елемеді. Ескі ережелерді жаңа ережелерге көшіріп, ескі ережелерді жою немесе өзгерту арқылы ескі браузерлерде белгілі бір ережелерді ғана іске қосуға болады.

Сыншылар

Хактерді пайдаланып кодты жасыру браузерлер жаңартылған кезде парақтардың дұрыс көрсетілмеуіне әкеледі. Бұл хактар жаңа браузерлерде күтпеген мінез-құлыққа әкелуі мүмкін, олар оларды бұрынғыларына қарағанда басқаша түсіндіруі мүмкін. Internet Explorer 6 және 7 қолданылмай қалғаннан бері CSS хакерлері де азайды. Қазіргі заманғы ерекшеліктерді мақсат ету әдістері әлсіз және қатеге ұшырайды.

Браузер префикстері

Әр танымал браузерлік рендерингтік қозғалтқыштардың әрқайсысының тәжірибелік қасиеттері үшін өз өндіруші префиксі бар. Алайда, тірі кодтағы осы қасиеттердің көбеюіне байланысты, браузер өндірушілері осы практикадан ерекшелік жалаушаларына ауыса бастады.

Шектеу

Жеткізуші префикстері әзірленіп жатқан мүмкіндіктер үшін жасалған, яғни синтаксис тіпті соңғы болмауы мүмкін. Сонымен қатар, әр браузердің функцияны іске асыруы үшін ереже қосу көптеген браузерлерді қолдағыңыз келгенде жақсы масштабтамайды. Нәтижесінде, негізгі браузер өндірушілері @supports функциясы сияқты басқа әдістердің пайдасына өндіруші префикстерінен алыстап жатыр.

JavaScript функцияларын анықтау

Бірнеше JavaScript кітапханалары бар, олар қандай мүмкіндіктер бар екенін анықтауға арналған, сондықтан CSS ережелерін оларды мақсат ету үшін жазуға болады. Modernizr сияқты кітапханалар html элементіне сыныптарды қосады, бұл CSS ережелеріне мүмкіндік береді.