القاعدة ‎@charset

من موسوعة حسوب
< CSS

القاعدة ‎@charset في CSS تُحدِّد ترميز المحرف المستخدم في صفحة الأنماط، ويجب أن تكون أوّل تعليمة في الملف ولا يسبقها أي محرف، وإذا حُدِّدَت أكثر من قاعدة ‎@charset في الملف نفسه فلن تؤخذ إلا أوّل قاعدة، ولا يمكن أن تُستعمَل هذه القاعدة في الخاصية style على عناصر HTML أو داخل العنصر <style>.

@charset "UTF-8";
@charset "iso-8859-15";

هذه القاعدة مفيدة عند استخدام محارف ليست ضمن محارف ASCII في بعض خاصيات CSS مثل الخاصية content.

هنالك عدِّة طرائق لتعريف ترميز المحارف في صفحة الأنماط، فسيُجرِّب المتصفح الطرائق الآتية بنفس الترتيب (ويتوقف عندما يحصل على نتيجة):

  1. النظر إلى قيمة «علامة ترتيب البايتات» (Unicode byte-order) الموجودة في بداية الملف.
  2. قيمة الخاصية charset في ترويسة Content-Type في بروتوكول HTTP، أو ما يكافئها في البروتوكول الذي يُستخدَم لتخديم صفحة الأنماط.
  3. القاعدة ‎@charset في CSS.
  4. افتراض أنَّ المستند بترميز محارف 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>";

مصادر ومواصفات