5 وحدات CSS من الممكن انك لم تعرفهم من قبل
شبكة الانترنت هى شبكة واسعة الافق وكل يوم فى توسع وهذا يؤدى الى اشياء جديدة ومشاكل جديدة وايضا حلول جديدةلهذا يجب علينا ان نتعلم كل شئ عن الادوات التى معنا حتى الادوات التى لا نحتاجها بالتاكيد سوف ياتى يوم وستحتاجها وفى هذا الموضوع سوف اخبركم على بعض الادوات الموجوده فى CSS التى قد لا تعرفونها وهذه الادوات هيا وحدات قياس pixel و الـ em فلتتابعوا معنا :
1 : Rem
هى وحدة قياس em التي تعرف بأنها قيمة الـ
font-size
(حجم الخط) الحالي للعنصر.على سبيل المثال، إذا قمت بتعيين حجم الخط للعنصر body، فإن قيمة
em
لأي عنصر داخل الـ body سوف تكون مساوية لقيمة حجم الخط تلكfont-size
للعنصر div لتكون 1.2em
وهو ما يعني 1.2 ضعف حجم الخط الموروث، الذي هو في هذه الحالة 14px. فتكون قيمة حجم الخط الناتج هي 16.8pxلكن، ماذا يحدث عندما نحدد حجم الخط باستعمال em للعناصر المتداخلة مع بعضها البعض؟ في المثال التالي سنطبق نفس كود CSS الوارد في المثال السابق. كل div سوف يرث حجم خطه من العنصر الأعلى منه مباشرة parent مما سينتج عنه زيادة تدريجية في حجم الخط.
rem
حرف "r" في rem
يشير إلى "root" أي الجذر. وتساوي قيمة font-size للعنصر الأساسي وهو ما يمثله غالباً عنصر الـ l
htm
16.8px
2: مناسب للتصاميم القائمة على الأعمدة (Grids)
الـ rem ليست فقط مفيدة لتحديد حجم الخط. فعلى سبيل المثال، يمكنك إنشاء نظام أعمدة متكامل (grid system) أو مكتبة ستايل UI بالأعتماد على font-size الخاص بعنصر html الجذري وذلك بإستخدام وحدة القياسrem
والإستعانة بتدرج مقياس الـ em
في أماكن محددة. وهو ما سوف يتيح لك نظاماً لحجم الخط يمكن توقعه و تنويعه.
3: الـ vh و الـ vw
تقنيات تصاميم الأنترنت التجاوبية (responsive web design) تعتمد بشكل كبير على قواعد النسب المئوية. مع ذلك، فإن النسب المئوية ليست دائما الحل الأنجح لكل المشاكل. فمثلاً عرض العنصر في CSS يعتمد على عرض العنصر الأعلى منه مباشرة. ماذا لو أردت إستخدام عرض أو ارتفاع الحجم الكلي لصفحة المتصفح أو مايعرف بإطار العرض (viewport) بدلاً من العرض الخاص بالعنصر الأعلى (parent)؟ هذا بالضبط ما تتيحه لك وحدتي الـ
vh
و الـ vw
vh
تساوي 1/100 من إرتفاع إطار العرض (viewport). على سبيل المثال، إذا كان ارتفاع المتصفح هو 900px
، فإن 1vh
سوف يساوي 9px. بنفس الطريقة إذا كان عرض الـ viewport يساوي 750px
، فإن 1vw
سوف يساوي 7.5px
.vw
. وبالتالي فأن الحجم سوف يتغير على حسب عرض المتصفح.4:الـ vmin و الـ vmax
vh
و الـ vw
دائماً بعرض وإرتفاع viewport فإن vmin
و vmax
يرتبطان بالحد الأقصى أو الآدنى للعرض والإرتفاع و يعتمد هذا على أيهما الأكبر والأصغر. على سبيل المثال، إذا كانت أبعاد المتصفح محددة بقيمة 1100px عرض و 700px طول ، فإن 1vmin
سوف يساوي 7px و 1vmax
سوف يساوي 11px أما إذا كان العرض محدداً بقيمة 800px و الطول 1080px فإن الـ vmin
سوف تساوي 8px بينما سيكون الـ vmax
مساوياً لـ 10.8px
.تخيل أنك احتجت إلى عنصر يكون دائماً مرئياً على الشاشة. فإن استعمال ارتفاع وعرض محددين بقيمة
vmin
تحت 100 سوف يتيح لك ذلك. على سبيل المثال، إذا أردنا إنشاء عنصر مربع يكون ملامساً بشكل دائم لجانبي الشاشة على الأقل ، بإمكاننا القيام بذلك على النحو التالي:vmax
.5: الـ ex و الـ ch
ex
و ch
شبيهتان بالـ em
و rem
حيث تعتمدان على الخط الحالي وحجمه. لكن، وعلى عكس الـ em
و الـ rem
، فإن هاتين الوحدتين تعتمدان كذلك على نوع الخط font-family
، حيث يتم تحديدهما بناءً على مقاييس خاصة بالخط نفسه. تُعرف وحدة الـ
ch
أو الـ character كونها "وحدة قياس متقدمة" لحساب عرض خانة الحرف 0
. لكن المفهوم الآساسي لها يتلخص في أنه ولدى تعيين خط أحادى المسافة (monospace)، يتم حساب العرض بناءً على عدد ما من الأحرف، مثلاً width: 40ch;
يمكنه دائماً استيعاب سلسلة من 40 حرف من ذلك الخط تحديداً. بينما تتلخص الاستعمالات التقليدية لهذه القاعدة بشكل خاص في التصاميم بلغة برايل (لفاقدي البصر)، إلا أن الامكانيات للابتكار هنا تتخطى بكل تأكيد هذه الاستعمالات البسيطة.ex
بـ "طول الحرف x للخط المستخدم أو ما يعادل نصف em
واحدة". الـ x-height
لخطٍ ما هو إرتفاع حرف الـ x الصغيرة من ذلك الخط. عادةً ما يكون ذلك في علامة المنتصف لذلك الخط.sup
و الذي يدل على الحرف المكتوب فوق الخط (superscript)، يمكن دفعه للآعلى في السطر باستخدام position relative و قيمة bottom تساوي 1ex. وبنفس الطريقة يمكننا سحب عنصر subscript للآسفل. تستخدم المتصفحات خاصية الـ vertical-align
بشكل تلقائي للتعامل مع عناصر superscript و subscript، ولكن إذا أردت أن تتحكم في الخط بشكل أكثر دقة فيمكنك التعامل مع هذه العناصر كالتالي:ex
موجودة منذ إصدار CSS1، إلا أنه وعلى الرغم من ذلك فأنك لن تجد أي دعم قوي لوحدة ch
. للحصول على مزيد من التفاصيل بخصوص دعم الوحدات، الرجاء الإطلاع على CSS units and values من مدونة إريك مايروالان قد انتهينا
يجب عليك متابعة التطور والتوسع المستمرين في عالم الـ CSS فهو أمر في غاية الأهمية حتى تظل على معرفة وافية بجميع الآدوات التي في جعبتك. فقد تواجهك مشكلةٌ معينة تتطلب حلاً غير متوقع باستخدام إحدى هذه الوحدات أو غيرها من وحدات الغير معروفة
ليست هناك تعليقات:
إرسال تعليق