أولا أهنئكم بقدوم شهر رمضان المبارك ، الله يوفقنا وإياكم لصيامة وقيامه ..
بسم الله الرحمن الرحيم ، يمكنك باستخدام أنماط الCSS صناعة واجهة موقعك وتجزئتها حسب ماتريد دون استخدام الطريقة الكلاسيكة (الجداول). وفوق هذا كله سرعه تحميل الصفحة. ولمعرفة المزيد حول : لماذا واجهة الCSS أفضل من استخدام الجداول ؟ واختصرها في عملية قراءة الجدول بطيئة ، انعدام المرونه في الجداول ، سهوله التحكم بمظهر الواجه أسهل في الCSS ، الجداول من الصعب بناءها للتوافق مع عدة أحجام للشاشات و من مزايا الCSS هو استخدام أكثر من نمط لعدة أغراض فعند طباعه الصفحة تستطيع استخدام نمط خاص للطباعة وهكذا.
الواجهة التي سنحاول شرح طريقة عملها هي على هذا الشكل :
أولا ً : تهيئة الصفحة وتجميع أفكارك وترتيبها
في هذه الخطوه كتبنا بعض التنسيقات المبدئية من لون النص ونوع الخط .كود:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" /> <title> واجهتي الأولى </title> <style type="text/css"> body { font-family:Tahoma, 'Lucida Grande', Verdana, Arial, Sans-Serif; font-size:.8em; direction:rtl; color:#999; } h1, h2, h3 { font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif; font-weight: bold; } </style> </head> <body> </body> </html>
ثانيا ً : البدء بكتابة العناصر واعطاءها مسميات id حتى يمكننا تسيقها بالCSS
نضع هذا داخل الbody :
العنصر الأول هو باسم wrap وهو العنصر الذي يضم بقية العناصر وتستطيع بعدها التحكم في عرض الواجهة إذا أردت .كود:<div id="wrap"> <div id="header"> <h1>رأس الصفحة</h1> </div> <div id="right"> <h1>الجزء الأيمن</h1> </div> <div id="left"> <h1>الجزء الأيسر</h1> </div> <div id="center"> <h1>المحتوى الرئيسي</h1> </div> <div id="footer"> <h1>ذيل الصفحة</h1> </div> </div>
وبقية العناصر أظنها واضحة.
ثالثاً : تنسيق العناصر وإعطاءها بعض الشكليات الجمالية
مابين وسمين style أضف التالي:
ستحصل على شكل مشابه لهذا :كود:#header { padding:1em; background-color:#f9f9f9; border-bottom:.1em #E2E2E2 solid; } #footer { border-top:.1em #E2E2E2 solid; background-color:#f9f9f9; padding:0 2em; } #right,#left,#center { padding:1em; } #center { border-left:.1em #E2E2E2 solid; border-right:.1em #E2E2E2 solid; }
تلاحظ العناصر ظاهرة بشكل مفرد وسنحاول في الخطوة القادمة -وهي الخطوة الرئيسية- ضبط محاذاتها .
رابعاً : ضبط الFloating للعناصر
أضف
ستحصل على نتيجة جيدة لكن حدود العنصر الرئيسي ظاهره على نهاية الصفحة وهذا بسبب ان العنصر رئيسي أخذ عرض كامل للمكان المتواجد فيه ، والحل بإضافة هامش أيمن وأيسركود:#right { float:right; width:14em; } #left { float:left; width:14em; }
المشكلة الاخرى هي عند تصفحك الواجهة بالانترنت إكسبلورر ستلاحظ "الجزء الأيمن" مكانها اعلى بقليل من "المحتوى الرئيسي" والحل هنا إضافة display:inline-block; للعنصر الرئيسيكود:#center { border-left:.1em #E2E2E2 solid; border-right:.1em #E2E2E2 solid; margin:0 16em; /* أضفنا هذا السطر*/ }
حسناً هل انتهينا ؟كود:#center { border-left:.1em #E2E2E2 solid; border-right:.1em #E2E2E2 solid; margin:0 16em; display:inline-block; /* أضفنا هذا السطر*/
لا لم ننتهي بعد بقي أن نذكر بعض المشاكل التي قد تواجهك ، ضع محتوى تجريبي للعنصر الايمن وليكن هكذا :
ستلاحظ ذيل الصفحة لايتأثر بالمحتوى الذي أدخلته وينزل الى أسفل وحل ذلك بجعله يلغي أي عنصر يأتي بجانبه .كود:<div id="right"> <h1>الجزء الأيمن</h1> الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، الجزء الأيمن ، </div>
الان أدخل محتوى تجريبي بداخل المحتوى الرئيسي وليكن هكذا :كود:#footer { border-top:.1em #E2E2E2 solid; background-color:#f9f9f9; padding:0 2em; clear:both; /* أضفنا هذا السطر*/ }
سنحاول أدخال نصوص مشابهة للشكل التالي :كود:<div id="center"> <h1>المحتوى الرئيسي</h1> المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , </div>
من المفترض ان هذه العناصر تعمل بشكل جيد لكن بحكم المحاذاة الحاصلة من العنصر الأيمن والأيسر فان الfloat داخل العنصر center لن يعمل بشكل جيد ولابد من وضع هذه العناصر في عنصر له خاصية overflow:hidden; display:inline-blockكود:<div style="float:left; color:red">جملة ملاصقة للجانب الايسر</div> <div style="float:right; color:blue">جملة ملاصقة للجانب الايمن</div> <div style="float:right; color:#993399; clear:both;">جملة فاصلة بينهم</div>
يكون الكود بالشكل النهائي:
مثال للناتج النهائيكود:<div id="center"> <h1>المحتوى الرئيسي</h1> <div style="overflow:hidden; display:inline-block"> <div style="float:left; color:red">جملة ملاصقة للجانب الايسر</div> <div style="float:right; color:blue">جملة ملاصقة للجانب الايمن</div> <div style="float:right; color:#993399; clear:both;">جملة فاصلة بينهم</div> </div> المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , المحتوى الرئيسي , </div>
والله أعلم.





رد مع اقتباس

