القاعدة @charset
القاعدة @charset
في CSS تُحدِّد ترميز المحرف المستخدم في صفحة الأنماط، ويجب أن تكون أوّل تعليمة في الملف ولا يسبقها أي محرف، وإذا حُدِّدَت أكثر من قاعدة @charset
في الملف نفسه فلن تؤخذ إلا أوّل قاعدة، ولا يمكن أن تُستعمَل هذه القاعدة في الخاصية style
على عناصر HTML أو داخل العنصر <style>
.
@charset "UTF-8";
@charset "iso-8859-15";
هذه القاعدة مفيدة عند استخدام محارف ليست ضمن محارف ASCII في بعض خاصيات CSS مثل الخاصية content
.
هنالك عدِّة طرائق لتعريف ترميز المحارف في صفحة الأنماط، فسيُجرِّب المتصفح الطرائق الآتية بنفس الترتيب (ويتوقف عندما يحصل على نتيجة):
- النظر إلى قيمة «علامة ترتيب البايتات» (Unicode byte-order) الموجودة في بداية الملف.
- قيمة الخاصية
charset
في ترويسةContent-Type
في بروتوكول HTTP، أو ما يكافئها في البروتوكول الذي يُستخدَم لتخديم صفحة الأنماط. - القاعدة
@charset
في CSS. - افتراض أنَّ المستند بترميز محارف UTF-8.
أمثلة
مثال صحيح عن استخدام هذه القاعدة:
@charset "UTF-8";
أمثلة خطأ عن هذه القاعدة، لاحظ أنَّ أوّل قاعدة تستعمل علامات اقتباس مفردة، والقاعدة الثانية فيها أكثر من فراغ قبل اسم الترميز، والقاعدة الثالثة فيها فراغ واحد قبل اسم القاعدة، والقاعدة الرابعة لا تحتوي على علامات اقتباس بالمطلق، أما آخر قاعدة فلم تنتهِ بفاصلة منقوطة:
@charset 'iso-8859-15';
@charset "UTF-8";
@charset "UTF-8";
@charset UTF-8;
@charset "UTF-8"
دعم المتصفحات
الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 2.0 | 1.5 | 5.5 | 9.0 | 4.0 |
على النقيض من متصفح IE، لا يدعم متصفح Edge هذه القاعدة.
البنية العامة
<charset>
سلسلة نصية <string>
تُشير إلى ترميز المحارف الذي يجب استخدامه في صفحة الأنماط، ويجب أن يكون مُعرَّفًا في IANA-registry، ويجب أن يحاط بعلامَتي اقتباس مزدوجتين، ويكون قبله فراغ واحد فقط، ويليه مباشرةً فاصلة منقوطة.
البنية الرسمية
@charset "<charset>";
مصادر ومواصفات
- مواصفة CSS Level 2 (Revision 1).