تعلم CSS بسهولة (2)

مدرج تحت قسم: دروس
10 فبراير 2007

بداية، أرجو من كل مهتم بهذه الدروس أن يقوم أولاً بتنزيل الملف:
ملف مرفق للـ css

والذي يحوي هذه الملفات:

  • layout1.gif – صورة مصغرة لما يجب أن تكون عليه النتيجة النهائية للدرس.
  • index.htm – ملف html والذي سيعرض الصفحة التي صممناها.
  • layout.css – ملف css والذي سنضع فيه تفاصيل التصميم.

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

والآن لننظر إلى ملف layout.css.

body {
margin: 0px;
direction: rtl;
}

في السطر الأول، حددنا الجزء المسمى body، وفي أوامر html هو المكان الأساسي للصفحة، أو هو الصفحة البيضاء التي تظهر لك في المتصفح، ثم فتحنا قوساً معقوفاً وفي داخل القوس هناك أولاً خاصية margin وهي تعني المساحة الفارغة بين جزء body والمتصفح، وبما أننا لا نريد أي مساحة فارغة فقد حددنا قيمة 0px للخاصية وبعد ذلك وضعنا فاصلة منقوطة وهذه الفاصلة ضرورية ويجب وضعها بعد كل قيمة، ثم هناك خاصية direction والتي تعني اتجاه الصفحة، وبما أننا عرب ومواقعنا عربية، فيجب أن يكون الاتجاه من اليمين إلى اليسار أي rtl (هذا مختصر لجملة right to left)، ثم بعد ذلك وضعنا أيضاً فاصلة منقوطة ثم أغلقنا القوس، وهكذا حددنا الخصائص التي نريد للجزء body.

تتكون أوامر CSS من ثلاث أجزاء:

selector {property: value;}

selector وهو الجزء الذي تريد تطبيق الخصائص عليه، فيمكن أن تختار أي وسوم للغة HTML، مثل body لجسم الصفحة، أو p للفقرات أو a للروابط، ثم تضع الخصائص (property) التي تريد التحكم بها، ولكل خاصية هناك قيمة (value)، هذه هي أوامر CSS وهي كما ترون بسيطة سهلة.

لنعد إلى ملفنا، ستلاحظ أن الملف يحوي على أمر جديد وهو علامة # وبعدها كلمة topbar وبالتأكيد ليس هناك أمر html بهذا الاسم، فما هو هذا الأمر؟ حسناً علامة # تعني أننا سنحدد معرفاً والمعرفات تستطيع أن تسميها كما تشاء، فقمت بتسميته topbar، وفيه عدة خصائص جديدة تحتاج إلى شرح بسيط:

top: وهي تعني المسافة الفاصلة ما بين رأس الصفحة والمعرف الذي أسميناه هنا topbar، وقد حددنا هذه القيمة هنا بصفر بكسل 0px ويعني ذلك أن topbar سيكون ملاصقاً تماماً لرأس الصفحة.

right: تشبه top تماماً مع فارق أنها تحدد المسافة الفاصلة بين يمين الصفحة والمعرف.

width: عرض المعرف وقد حددناه هنا بالقيمة 100% أي أن المعرف سيكون بعرض الصفحة كاملة.

height: ارتفاع المعرف وقد حددنا ارتفاع المعرف topbar بخمسين بكسل 50px.

backgorund-color: هذه سهلة! خاصية تحديد لون المعرف، وقد حددناه بلون أزرق #4682B4.

position: هذه شرحها صعب قليلاً، وهي تعني أن المساحة الذي أنشأناه topbar سيكون موقعهت بالضبط محدد بمسافة من أعلى ويمين الصفحة، ولذلك حددنا لهت القيمة absolute والتي تعني أن topbar ستكون في مكانها المحدد والذي لن يتأثر بوجود أي عناصر أخرى قد تتداخل معه (تستطيع أن تضع عدة مساحات فوق بعضها البعض وتحدد لكل مساحة موقعها المحدد) أعلم أن هذه صعبة الشرح علي لكن فهمها يجب أن يكون بالممارسة العملية وربما أنا لا أعرف كيف أشرحها.

حسناً، هذه مساحة أو صندوق topbar قد تم تعريف، وإذا رأيت في الصورة الموجودة في الملف المضغوط ستجد أن هناك مساحة زرقاء أعلى الصفحة، هذه هي مساحة topbar، وفي ملف css هناك معرف topnav والذي يقع أسفل المساحة topbar وفيه عدة أوامر سبق أن شرحناها، لكن هناك أمر جديد وهو border-bottom، وهو يعني أن مساحة topnav لها إطار سفلي فقط، حددنا له عرض واحد بكسل 1px، وشكله solid أي أنه سيظهر على شكل خط متواصل، ولو وضعنا مثلاًً القيمة dotted لوجدت أن الإطار السفلي سيظهر على شكل نقط، ثم حددنا له لوناً رمادياً #DCDCDC.

ثم بعد ذلك قمنا بإنشاء معرف ثالث وأسميناه sidenav، وهو الجزء الأيمن وحددنا له لوناً رمادياً وإطاراً أيسراً وآخر سفلي، وهكذا نكون قد انتهينا من ملف layout.css، نذهب الآن لملف index.htm، وهو بسيط جداً لا شيء جديد فيه، الأمر link شرحناه في الدرس السابق، والآن الجديد هو ما يقع بين وسمي body:

<div id="topbar"></div>
<div id="topnav"></div>
<div id="sidenav"></div>

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

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

منقول بتصرف من منتديات سوالف سوفت

وقد كتبها: سردال

سردال = عبدالله المهيري، فيمكنكم المناقشة والاستفسار هنا وستجدون منه الرد.

مواضيع السلسلة

للكاتب مقالات مختارة

  • Share/Bookmark

التعقيبات

  1. المشروع - تطوير المواقع » تعلم CSS بسهولة (1)

التعليقات (12) على ”تعلم CSS بسهولة (2)“

  1. الأمر direction=rtl يجب ألا يستخدم، هذا تصحيح للدرس، من المفترض أن نستخدم أمر dir=”rtl” في html لكي نجعل اتجاه الصفحة يتوافق مع اللغة العربية، من اليمين إلى اليسار.

  2. إذاً فما رأيك؟
    هل أحذف هذا الجزء من الدرس؟
    لأن درسك يتحدث عن الـcss.. فطالما أن هذا يجب استخدامه في html .. فنحذفه
    ما رأيك؟

    بالحديث عن هذا..
    لماذا علينا أن نستخدم أوامر الـHTML في الأمور الأساسية وعدم اللجوء إلى الـcss
    مثلاً في direction.. لماذا لا نستخدمه في css ؟
    هل لأنه لو فتح أحدهم الموقع وهو لايستخدم css .. فسيعاني من مشكلة الاتجاه لأن الاتجاه تم تحديده من الـCSS ؟
    هل هذا هو السبب؟

  3. عبدالله خالد

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

    لدي استفسار:
    هل من الممكن شرح هذا السطر:
    position: absolute;
    وما الخيارات الأخرى له

    أخوك

  4. شكرا جزيلا لك على الشرح
    بس صراحة ما فهمت شي علشان انا لسا جديد في هذا العالم الغريب :D

  5. مقالات مختارة: لا تحذف شيئاً، تعليقي هو لتصحيح الخطأ، اتجاه النص هو جزء من المحتوى وليس التصميم، لو أن شخصاً ما يستخدم متصفحاً لا يدعم CSS فلن يظهر له النص بالاتجاه الصحيح.

    عبدالله خالد: الخاصية position تعني موقع أي عنصر من عناصر الصفحة، في الغالب هذا الخاصية تطبق على أوامر div في html والتي تحدد أقسام الصفحة، لها أربع قيم منها absolute والتي تجعل موقع العنصر في مكان محدد تحدده حسب قيم خصائص أخرى مثل top وright وleft، ولن يتأثر موقع العنصر بأي عناصر أحرى في الصفحة، القيمة الثانية هي relative وهي لا تختلف كثيراً عن القيمة الأولى إلا في كون العنصر سيتأثر بمواقع العناصر الاخرى في الصفحة، هناك قيمة fixed والتي تجعل العنصر ثابتاً في مكان ما في الصفحة حتى لو قمت بتحريك الصفحة إلى الأعلى والأسفل، سيظل في مكانه.

    إقرأ المزيد في هذا الرابط:
    http://www.w3schools.com/css/pr_class_position.asp

  6. جزاكم الله خيرا على المعلومات الجميله والرائعه

    اخوكم مسلم

    http://www.forsannet.com

  7. kingfire

    جزاك الله خير
    درس مفيد جداً

  8. موقع تعليمى ممتاز

  9. جزاك الله خيرا على المعلومه الجيدة اخوك محمد

  10. Thecode

    ممتاز و الله أني تعلمت الكثير من هذا الدرس بارك الله فيك أخوي و جزاك عنا ألف خير

    [ملاحظة : أعتقد أن المتعلم هنا يجب الأ يقل مستواه في لغة HTML عن 25 %]

    لك شكري و تقديري أخوي .

  11. أشكرك أخي على هذا الدرس
    لمن يريد المزيد حول كيفيه إستخدام الستايل هناك دورة في منتديات الفريق العربي على هذا الرابط
    http://www.arabteam2000-forum.com/index.php?showtopic=206040&hl=

  12. طالب علم

    الله يعطيكم العافيه شرح كامل ما شاء الله

أضف تعليقك




يمكنك استخدام الوسوم التالية في التعليق: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


* حقول مطلوبة