الفرق بين CSS2 و CSS3

فهم التغييرات الرئيسية في CSS3

أكبر الفرق بين CSS2 و CSS3 هو أن CSS3 قد تم تقسيمه إلى أقسام مختلفة ، تسمى وحدات. كل من هذه الوحدات يشق طريقه عبر W3C في مراحل مختلفة من عملية التوصية. جعلت هذه العملية من الأسهل بكثير قبول أجزاء مختلفة من CSS3 وتنفيذها في المتصفح من قبل جهات التصنيع المختلفة.

إذا قارنت هذه العملية بما حدث مع CSS2 ، حيث تم تقديم كل شيء كمستند واحد يحتوي على جميع معلومات أوراق الأنماط المتتالية داخلها ، فستبدأ في رؤية مزايا كسر التوصية إلى أجزاء أصغر فردية. نظرًا لأن كل واحدة من الوحدات تعمل على نحو فردي ، فلدينا مجموعة كبيرة جدًا من دعم المتصفح لوحدات CSS3.

كما هو الحال مع أي مواصفات جديدة ومتغيرة ، تأكد من اختبار صفحات CSS3 الخاصة بك تمامًا في المتصفحات وأنظمة التشغيل بقدر المستطاع. تذكر أن الهدف ليس إنشاء صفحات ويب تبدو متشابهة تمامًا في كل متصفح ، ولكن للتأكد من أن أي أنماط تستخدمها ، بما في ذلك أنماط CSS3 ، تبدو رائعة في المتصفحات التي تدعمها وأنها تتراجع بأمان مع المتصفحات القديمة التي لا.

محددات CSS3 الجديدة

تقدم CSS3 مجموعة من الطرق الجديدة التي يمكنك من خلالها كتابة قواعد CSS مع محددات CSS جديدة ، بالإضافة إلى أداة دمج جديدة ، وبعض العناصر الزائفة الجديدة.

ثلاثة محددات سمة جديدة:

16 فصول زائفة جديدة:

واحد جديد combinator:

خصائص جديدة

قدم CSS3 أيضًا عددًا من خصائص CSS الجديدة. كان العديد من هذه الخصائص إنشاء أنماط مرئية من المحتمل أن ترتبط أكثر ببرنامج رسومات مثل Photoshop. بعض من هذه ، مثل نصف قطرها أو ظل مربع ، كانت موجودة منذ المقدمة إذا CSS3. البعض الآخر ، مثل flexbox أو CSS Grid هي أنماط أحدث لا تزال تعتبر في الغالب الإضافات CSS3.

في CSS3 ، لم يتغير نموذج الصندوق. ولكن هناك مجموعة من خصائص النمط الجديد التي يمكن أن تساعدك على نمط الخلفيات والحدود من الصناديق الخاصة بك.

خلفية متعددة أنا السحراء

باستخدام خلفية الصورة ، وموضع الخلفية ، وأنماط تكرار الخلفية ، يمكنك تحديد صور خلفية متعددة بحيث يتم وضعها فوق بعضها البعض في المربع. الصورة الأولى هي الطبقة الأقرب إلى المستخدم ، مع رسم الصور التالية. إذا كان هناك لون خلفية ، فسيتم طباعته أسفل كل طبقات الصورة.

خصائص نمط الخلفية الجديدة

هناك أيضًا بعض خصائص الخلفية الجديدة في CSS3.

التغييرات على خصائص نمط الخلفية الموجودة

هناك أيضًا بعض التغييرات على خصائص نمط الخلفية الحالية:

خصائص الحدود CSS3

في حدود CSS3 يمكن أن تكون الأنماط التي اعتدنا عليها (صلبة ، مزدوجة ، متقطعة ، إلخ) أو يمكن أن تكون صورة. بالإضافة إلى ذلك ، يوفر CSS3 القدرة على إنشاء زوايا دائرية. تُعد الصور الحدودية شيقة نظرًا لأنك تنشئ صورة من جميع الحدود الأربعة ثم تخبر CSS كيفية تطبيق تلك الصورة على حدودك.

خصائص نمط الحدود الجديدة

هناك بعض خصائص الحدود الجديدة في CSS3:

خصائص CSS3 إضافية ذات صلة بالحدود والخلفيات

عندما يتم كسر مربع في فاصل صفحات ، فاصل عمود فاصل الأسطر (للعناصر المضمّنة) يعرّف الخاصية box-decoration-break كيفية التفاف الصناديق الجديدة مع الحدود والحشو. يمكن تقسيم الخلفيات بين عدة صناديق مكسورة باستخدام هذه الخاصية.

هناك أيضًا خاصية box-shadow يمكن استخدامها لإضافة ظلال إلى عناصر الصندوق.

باستخدام CSS3 ، يمكنك الآن بسهولة إعداد صفحة ويب بأعمدة متعددة بدون جداول أو هياكل علامات div معقدة. ما عليك سوى إخبار المتصفح عن عدد الأعمدة التي يجب أن يحتويها العنصر الأساسي ومدى اتساعها. بالإضافة إلى ذلك ، يمكنك إضافة الحدود (القواعد) ، وألوان الخلفية التي تمتد إلى ارتفاع العمود ، وسوف يتدفق النص الخاص بك من خلال جميع الأعمدة تلقائيًا.

أعمدة CSS3 - تحديد عدد وأعمدة الأعمدة

هناك ثلاث خصائص جديدة تسمح لك بتحديد عدد الأعمدة وعرضها:

CSS3 عمود الفجوات والقواعد

يتم وضع الثغرات والقواعد بين الأعمدة في نفس السيناريو متعدد الأعمدة. الفجوات ستفصل الأعمدة ، لكن القواعد لا تشغل أي مساحة. إذا كانت قاعدة العمود أوسع من الفجوة ، فستتداخل مع الأعمدة المجاورة. هناك خمس خصائص جديدة لقواعد وعمود الفجوات:

فواصل عمود CSS3 وأعمدة الامتداد وأعمدة التعبئة

تستخدم فواصل الأعمدة نفس خيارات CSS2 المستخدمة لتعريف الفواصل في محتوى مقسم إلى صفحات ، ولكن مع ثلاث خصائص جديدة: break-before و break-after و break-inside .

كما هو الحال مع الجداول ، يمكنك تعيين عناصر لامتداد الأعمدة بخاصية span-span. يتيح لك هذا إنشاء عناوين رئيسية تمتد على أعمدة متعددة مثل الصحف.

تحدد أعمدة ملء كمية المحتوى في كل عمود. تحاول الأعمدة المتوازنة وضع نفس المقدار من المحتوى في كل عمود بينما تقوم التدفقات التلقائية بتدفق المحتوى حتى يصبح العمود ممتلئًا ثم ينتقل إلى العمود التالي.

المزيد من الميزات في CSS3 التي تم تضمينها في CSS2

هناك الكثير من الميزات الإضافية في CSS3 غير الموجودة في CSS2 ، بما في ذلك: