الصفحة الرئيسية
الصفحة الرئيسيه المرجع الكامل كتب وبرامج مجانية المنتدي  مواقع هامه

أساسيات الأطر

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

فهرس الصفحة

[ الإطارات | FRAMESET | COLS | ROWS | NOFRAMES ]

الإطارات

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

كما شاهدت، فإن الصفحة مكونة من ثلاثة أقسام: علوي وأيسر وأيمن… والحقيقة أن كل قسم منها هو عبارة عن ملف Html كامل ومستقل بحد ذاته. وهي مجرد صفحات عادية لا تختلف أبداً عن تلك التي تعلمت إنشاءها في الدروس السابقة، ولا علاقة لكل منها بالصفحات الأخرى من حيث التركيب والتعريف.
أما كيف تم جمعها معا لتظهر بالشكل الذي شاهدته؟ فهنا بيت القصيد. فبالإضافة إلى الصفحات والملفات الإعتيادية يوجد دائماً ملف أساسي يتم إنشاؤه خصيصا لتعريف صفحة الإطارات وتجميعها وتحديد خصائصها. أي أن المعادلة تتلخص بـِ:
 

هام جدا مكونات صفحة الإطارات = عدد ملفات الصفحة نفسها + صفحة الملف الأساسي الذي يجمعها
 
أي أنني في المثال السابق إحتجت فعلياً إلى أربعة ملفات لتكوين الصفحة.

FRAMESET

وقبل أن نبدأ… لنقم بالتحضير للأمثلة التي سترد في هذا الدرس. لذلك قم بإنشاء ثلاثة أو أربعة ملفات بسيطة لكي تستخدمها في تطبيق الأمثلة أو استخدم ملفاتك القديمة التي قمت بالتدرب عليها في الدروس السابقة. أنا قمت بإنشاء ملفات على النمط التالي (وهي التي استخدمتها في المثال) وأسميتها Contents.htm , Banner.htm, MasterFrame.htm

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

<FRAMESET> ... <‎/FRAMESET>

بدلاً من الوسوم <BODY> ... <‎/BODY>

إذن الملف الرئيسي للإطارات لا يتضمن تعريفا باستخدام BODY

<HTML>
<HEAD>
<TITLE>Master Frame<‎/TITLE>
<‎/HEAD>
 <FRAMESET>
<‎/FRAMESET>
 <‎/HTML>

نأتي الآن إلى الخصائص:

COLS

والخاصية الأولى التي تستخدم مع هذه الوسوم هي COLS وهي تعرّف عدد وأحجام الإطارات العمودية للصفحة. وتُحدد الأحجام بطريقتين (هل عرفتهما؟) نعم… إنهما الطريقة المباشرة (بالبيكسل) والطريقة النسبية...أو كلاهما معا. لكن إنتبه! فهذه الشيفرة غير مكتملة وكتابتها بهذا الشكل فقط لن يؤدي إلى أي نتيجة ولا إلى ظهور أي إطارات حيث ينقصها وسوم أخرى خاصة بمصدر الملفات الظاهرة داخل الإطارات

والآن إليك هذه الأمثلة التي توضح مفهوم الأعمدة

<FRAMESET COLS="50%,50%">‎
<‎/FRAMESET>

يحدد إطارين عموديين حجم كل منهما 50% من حجم الشاشة

<FRAMESET COLS="20%,50%,30%">‎
<‎/FRAMESET>

يحدد ثلاثة إطارات أحجامها 20% و 50% و 30% على التوالي من حجم الشاشة

<FRAMESET COLS="200,300,*">‎
<‎/FRAMESET>

يحدد ثلاثة إطارات عمودية الأول حجمه 200 بيكسل، والثاني 300 بيكسل، أما الثالث * أي انه غير محدد بحجم معين ولكنه سيكون بالحجم المتبقي من الشاشة (طالما أننا لا نعرف استبانة الشاشة التي يستخدمها زائر الموقع)

<FRAMESET COLS="200,*,15%,20%">‎
<‎/FRAMESET>

يحدد أربعة إطارات حجم الأول هو 200 بيكسل، والثالث 15% من حجم الشاشة، والرابع 20% من حجم الشاشة أما الثاني فسيكون حجمه بما تبقى من الشاشة.

<FRAMESET COLS="150,*,2*">‎
<‎/FRAMESET>

يحدد ثلاثة إطارات الأول حجمه 150 بيكسل.... أما المساحة المتبقية فتقسم على أساس أن الإطار الثالث حجمه هو ضعفي (*2) حجم الإطار الثاني (*)

و إليك هذا المثال علي الإفتراض الأخير

ROWS

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

يحدد إطارين أفقيين ارتفاع كل منهما 50% من ارتفاع الشاشة

<FRAMESET ROWS="50%,50%">‎
<‎/FRAMESET>

يحدد ثلاثة إطارات أفقية ارتفاعاتها 20% و 50% و 30% على التوالي من ارتفاع الشاشة

<FRAMESET ROWS="20%,50%,30%">‎
<‎/FRAMESET>

يحدد ثلاثة إطارات أفقية الأول ارتفاعه 50 بيكسل، والثاني 120 بيكسل، والثالث سيكون بالإرتفاع المتبقي من الشاشة

<FRAMESET ROWS="50,120,*">‎
<‎/FRAMESET>

يحدد أربعة إطارات أفقية ارتفاع الأول هو 50 بيكسل، والثالث 15% من ارتفاع الشاشة، والرابع 20% من ارتفاع الشاشة أما الثاني فسيكون ارتفاعه بما تبقى من ارتفاع الشاشة.

‎<FRAMESET ROWS="50,*,15%,20%">‎
<‎/FRAMESET>

يحدد إطارين الثاني ارتفاعه ضعفي ارتفاع الأول

<FRAMESET ROWS="*,2*">‎
<‎/FRAMESET>

و إليك هذا المثال علي الإفتراض الأخير

لم ننته بعد من ذكر كل الخصائص المتعلقة بالوسوم <FRAMESET> فلا زال هناك الكثير. ولكن من الضروري أن نقوم الآن بالإنتقال إلى وسم آخر للإطارات لأنه مرتبط إرتباطاً وثيقاً بالوسوم السابقة وخصائصها المذكورة أعلاه، وهي <FRAME> فما هو عمل هذا الوسم؟

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

<IMG SRC="أسم الصورة">‎

وفي حالة الإطارات فإننا نستخدم الوسم <FRAME> وهو وسم مفرد أي ليس له وسم نهاية تماماً مثل <IMG>. وفيه نقوم بتحديد مصدر وخصائص كل ملف نريد إظهاره داخل أحد الإطارات. ويتم استخدام هذا الوسم مرات بنفس عدد الإطارات المذكورة داخل <FRAMESET>. وسوف أقوم مباشرة باستخدام الخاصية SRC لتحديد مصدر الملف.

دعنا نقوم الآن بإتمام الشيفرة لبعض الأمثلة المذكورة أعلاه. ونبدأ بالمثال الأول:

<FRAMESET COLS="50%,50%">‎
    ‎<FRAME SRC="frame1.html">‎
    ‎<FRAME SRC="frame2.html">‎
<‎/FRAMESET>

الآن ... والآن فقط أصبح لديك صفحة إطارات محترمة.

مثال آخر:

<FRAMESET ROWS="50,*,15%,20%">‎
    ‎<FRAME SRC="frame1.html">‎
    ‎<FRAME SRC="frame2.html">‎
    ‎<FRAME SRC="frame3.html">‎
    ‎<FRAME SRC="frame4.html">‎
<‎/FRAMESET>

وبالإضافة إلى ما ذكر، نستطيع إدراج صورة مباشرةً داخل الإطار وباستخدام <FRAME SRC> تماماً كما ندرجها باستخدام <IMG SRC> وإليك هذا المثال:

<FRAMESET COLS="50%,50%">‎
    ‎<FRAME SRC="frame1.html">‎
    ‎<FRAME SRC="thedome.jpg">‎
<‎/FRAMESET>


هل تأكدت من فهمك لهذه النقاط؟ لنتابع إذن ...
حتى الآن قمنا بتقسيم الصفحة إما لإطارات أفقية أو لإطارات عمودية. لكن نحتاج لمعرفة كيفية إدراج كلاهما في الصفحة. كما في هذه الصفحه

لنبدأ صفحة مكونة من صفين، الثاني منهما مقسم بدوره إلى عمودين
بما أن الصفحة تحتوي على صفين نقوم بتعريفهما أولاً حسب الإرتفاعات المرغوب بها:

<FRAMESET ROWS="100,*">‎
    ‎<FRAME SRC="Contents.htm">‎
    ‎<FRAME SRC="index.htm">‎
<‎/FRAMESET>

لكن الصف الثاني مقسم إلى عمودين وهنا يعتبر بمفهوم لغة HTML وكأنه صفحة إطارات جديدة لذلك لا نحتاج لتعريفه كصف وبدلاً من ذلك نعاود استخدام تعريف الصفحات! أي <FRAMESET> مرة أخرى.

<FRAMESET ROWS="100,*">‎
    ‎<FRAME SRC="Contents.htm">‎
     <FRAMESET>
    <‎/FRAMESET>
 <‎/FRAMESET>

 وبما أن الصف الثاني (أو لنقل الإطار الثاني) مقسم إلى عمودين، إذن بقي علينا إضافة تعريف لهذه الأعمدة. وبذلك تكون الشيفرة النهائية كالتالي:

<FRAMESET ROWS="100,*">‎
    ‎<FRAME SRC="Contents.htm">‎
     ‎<FRAMESET COLS="200,*">‎
        ‎<FRAME SRC="index.htm">‎
        ‎<FRAME SRC="Banner.htm">‎
    <‎/FRAMESET>
 <‎/FRAMESET>

لمشاهدة الصفحة أضغط هنا


NOFRAMES

نأتي إلي آخر وسم في هذه الصفحة وهو <NOFRAMES> و هو الوسم الخاص بالمستعرضات التي لا تستخدم الأطر

مثل الإصدارات القديمة لـِ Netscape, MS Internet لكنك حتماً تستطيع مشاهدتها وذلك لأن الإصدارات المعربة من هذه المتصفحات هي إصدارات حديثة نسبياً وتدعم الإطارات.

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

<NOFRAMES>
<BODY>
تستطيع ان تكتب هنا ما يحلو لك مثل :- هذه الصفحة تستخدم الأطر و مستعرضك لا يدعمها
</BODY>
</NOFRAMES>

الدرس التالي»»»

< الصفحة الرئيسيه | المرجع الكامل | فهرس الأطر >

 

المصدر العربي التعليمي للـHTML

¤  المحتويات 

البدايه هنا
أبدأ هنا ·
دروس سريعة للمبتدئين ·

الدروس المتخصصه
النص ·
الصور ·
الجداول ·
الأطر ·
النماذج ·

 
فهرس الأطر  ¤


> الأطر المتقدمه

> تابع الأطر المتقدمة

 

¤  Html4Arab صندوق الأدوات 

> إبحث في الموقع  Search


Html4Arab بحث المصدر العربي التعليمي لل HTML يأتيكم من [Atomz.com] بحث متقدم


أشترك في القائمة البريدية
لتحصل علي آخر آخبار
الموقع و التحديثات

أشترك إلغاء الإشتراك

> أخبر صديقك عن الموقع

هل أعجبت بموقعنا


أذن أضفنا إلي المفضله <


مستخدمين ال Netscape أضغط CTRL+D

 
" إعلانات "
 

برعاية شبكة هايل

^ أعلي^ للإعلان بالموقع اربط بموقعنا أتصل بنا

© 2002 Ahmed Salah