التصميم المتجاوب - Responsive Design

ما هو تصميم الويب المتجاوب - Responsive Web Design؟ وما هي مميزات التصميم المتجاوب؟ وكيف تقوم بتصميم موقع بطريقة التصميم المتجاوب؟ وتعلم خطوة بخطوة كيفية إنشاء صفحة ويب بطريقة التصميم المتجاوب - Responsive Design

ما هو التصميم المتجاوب - Responsive Design؟

مصطلح التصميم المتجاوب هو ترجمة للمصطلح Responsive Design، وهو عبارة عن طريقة (إسلوب) مستخدم في تصميم صفحات ومواقع الويب، حيث أن تصميم الصفحة/الموقع يتغير (يتكيف - يتجاوب) بتغير حجم الجهاز (الشاشة) الذي يعرض من خلاله الموقع، فعند تصفح الموقع من جهاز كمبيوتر يعرض تصميم، وعند تصفح نفس الموقع من جهاز تابلت (جهاز لوحي) أو جهاز موبايل (جوال) يعرض تصميم آخر متناسب مع صغر حجم (عرض) الشاشة لهذه الأجهزة مقارنة بشاشة جهاز الكمبيوتر (الحاسوب)، ويتم كتابة الأكواد اللازمة لإنشاء صفحة ويب بطريقة التصميم المتجاوب بلغة HTML/HTML5 و CSS3.

ما هي مميزات التصميم المتجاوب؟

  • إعطاء تجربة إستخدام فريدة لمتصفح (مستخدم) الموقع، (User Experience)، حيث تتيح للمستخدم (User) أن يتصفح الموقع بسهولة من أي جهاز سواء كان جوال أو كمبيوتر أو أي نوع آخر من الأجهزة.
  • يتيح التصميم المتجاوب المزيد من النقاط لتصنيف أي موقع إلكتروني على محركات البحث، فعلى سبيل المثال إذا كان موقع ما يقدم معلومة/خدمة مهمة ولكن لا يستخدم طريقة التصميم المتجاوب، فإن فرص العثور عليه من خلال محركات البحث تكون أقل مقارنة بأي موقع آخر يستخدم هذه التقنية في التصميم.

كيفية إستخدام التصميم المتجاوب في إنشاء صفحة ويب

يجب أولا إضافة وسم <meta name="viewport" /> في منطقة رأس الصفحة <head>، وذلك لكي تستطيع إستخدام الخاصية @media، ويمكنك تعلم المزيد عن هذا الوسم من خلال الرابط التالي https://developer.mozilla.org/.../Viewport_meta_tag، وسوف نقوم بإنشاء ملف لكتابة أكواد الـ CSS وسوف نستخدم إسم للملف وهو main.css.

HTML5

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <link rel="stylesheet" type="text/css" href="main.css" />
</head>

بعد إضافة ملف main.css لصفحة الويب، سوف نتعرف أولا على مباديء الخاصية @media وكيف يتم إستخدامها لتصميم صفحة ويب بطريقة التصميم المتجاوب، حيث أن هذه الخاصية لها إستخدامات أخرى، حيث يمكن من خلالها تحديد تصميم يتم إستخدامه لطباعة صفحة الويب، ويمكنك أن تعتبر هذه الخاصية هي طريقة لغة الـ CSS لتطبيق الجمل الشرطية (IF Conditions)، حيث يمكن أن نستعلم من خلال هذه الخاصية على عرض الجهاز بالبكسل (Pixel)، وإذا كانت نتيجة الإستعلام متوافقة سوف نطبق مجموعة من التنسيقات، وإن كانت نتيجة الإستعلام غير متوافقة فلن نطبق هذه التنسيقات، والمثال التالي يوضح أكثر

CSS

@media only screen and (max-width: 1024px) {
  body {
    background: #cfcfcf;
  }
}

في المثال إستخدمنا الخاصية @media only وإستخدمنا معها النوع (type) screen ويتم إستخدام هذا النوع لتحديد حجم/عرض الشاشة، وهناك أنواع أخرى مثال print و speech ولكن في هذا المقال سنتناول النوع screen فهو النوع المستخدم لتطبيق التصميم المتجاوب، وإستخدمنا أيضا بالإضافة إلى النوع، الخاصية max-width وحددنا لها قيمة 1024px وهو ما يعني أننا نستعلم عن حجم الشاشة إذا كان أقل من 1024px فسوف يتم تطبيق التنسيقات الخاصة بالعنصر body، وذلك لتحقق الشرط، وإن كانت قيمة عرض الشاشة أكبر من هذه القيمة فلن يتم تطبيق التنسيقات لعدم توافق الشرط.

والآن سوف نتناول مثال آخر نقوم فيه بتغيير لون الخط للعنصر p على حسب عرض الشاشة

CSS

@media only screen and (min-width: 1025px) {
  p {
    color: #ea1e2c;
  }
}
@media only screen and (max-width: 1024px) {
  p {
    color: #1565c0;
  }
}

بتطبيق الأكواد في المثال سوف يصبح لون الخط في الجهاز الكبير (عرض الشاشة أكبر من 1024px) أحمر وإستخدمنا لتطبيق ذلك الخاصية min-width وحددنا الرقم المطلوب وأضفنا إليه 1 ليصبح 1025 هو أقل عرض للشاشة يتم تطبيق اللون الأحمر، أما الجهاز ذو الشاشة الأصغر من ذلك يكون الخط لونه أزرق، وذلك بإستخدام الخاصية max-width وتعني أن أكبر عرض للشاشة سوف يتم تطبيق هذه التنسيقات له هو 1024px. ويمكنك إستخدام أي نوع من العناصر أو المحددات (classes)، وأي نوع من الخصائص التي تريد تغييرها في داخل الجزء الخاص بالخاصية @media، حتى أنه يمكنك أن تخفي بعض العناصر في عرض معين وتظهرها لعرض آخر، فإن كنت تتصفح موقعنا من خلال جهاز كمبيوتر يمكنك تصغير (resize) حجم المتصفح وسوف تلاحظ تغيير التنسيقات الخاصة بالموقع مع تغيير حجم الشاشة.

وبذلك يتبقى شيء أخير، يتوجب عليك أن تقوم بترتيب الخاصية @media لتستهدف الأجهزة الأكبر ثم يليها الأجهزة الأصغر فالأصغر، أو بمعنى أبسط تكتب الأكواد الخاصة بجهاز الكمبيوتر أولا ثم يليها في الترتيب أجهزة التابلت ثم أجهزة الجوال، حيث يمكنك أن تكتب الأكواد الخاصة بكل جهاز في ملف CSS منفصل وتقوم بترتيبهم كالتالي

HTML5

<head>
  <link rel="stylesheet" type="text/css" href="main.css" />
  <link rel="stylesheet" type="text/css" href="computer.css" />
  <link rel="stylesheet" type="text/css" href="tablet.css" />
  <link rel="stylesheet" type="text/css" href="mobile.css" />
</head>

وسوف نتناول الخاصية @media بالتفصيل في مقالات أخرى، وفي النهاية أتمنى أن أكون قد تمكنت من توصيل المعلومة بطريقة بسيطة، ولا تتردد في السؤال عن أي جزء غير مفهوم أو تقديم أي إقتراح أو تعديل على المحتوى من خلال التعليقات.