Menu
CoddyTech

النماذج للهاتف المحمول أولاً

جزء من قسم الواجهة الأمامية العملية في رحلة HTML على Coddy. الدرس 10 من 35.

تُعد Forms واحدة من أهم أجزاء الويب: يكتب المستخدمون، ويستخدمون tap، ويتفاعلون معها باستمرار. عند تصميم Forms وفق نهج mobile أولًا، نركّز على سهولة الاستخدام على الشاشات small: 

  • اجعل inputs وbutton أكبر حجمًا حتى يتمكن المستخدمون من الكتابة والنقر بسهولة.
  • رتّب fields vertically واستخدم inputs بعرض full-width.
  • أضف padding ومسافات مناسبة للأصابع.

مثال لـ mobile:

input, button {
  width: 100%;       /* full width for small screens */
  padding: 0.75rem;  /* easier to tap */
  font-size: 1rem;   /* readable text */
}

ثم، بالنسبة إلى الشاشات الأكبر (الجهاز اللوحي أو سطح المكتب)، نُحسّن التخطيط:

  • وسّط form في الصفحة.
  • ضع بعض fields جنبًا إلى جنب بدلًا من تكديسها.
  • اضبط width والمسافات لتحسين المظهر.

مثال للشاشات الأكبر:

@media (min-width: 768px) {
  form {
    max-width: 500px;  /* center and limit width */
    margin: 0 auto;
  }

  .row {
    display: flex;
    gap: 1rem;         /* side-by-side inputs */
  }
}
challenge icon

التحدي

سهل

أُعطيت نموذج HTML أساسيًا. مهمتك هي إعداد أنماط mobile-first:

  1. يجب ترتيب العناصر داخل النموذج عموديًا. استخدم display: flex وflex-direction: column، وأضف بعض gap ليبدو مرتبًا.
  2. طبّق width: 100% وأضف بعض padding إلى عناصر input وbutton وtextarea بحيث تكون كبيرة بما يكفي لشاشات mobile وسهلة النقر للمستخدمين.

جرّب بنفسك

<!DOCTYPE html>
<html>
<head>
  <title>Mobile-First Forms</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 1rem;
      background-color: #f0f4f8;
    }

    form {
      
    }

    input, textarea, button {
      padding: 0.75rem;    
      font-size: 1rem;
      border: 1px solid #ccc;
      border-radius: 5px;
    }

    button {
      background-color: #4a90e2;
      color: white;
      border: none;
      cursor: pointer;
    }

    /* Larger screens */
    @media (min-width: 768px) {
      form {
        max-width: 600px;
        margin: 0 auto; /* center form */
      }

      .row {
        display: flex;
        gap: 1rem; /* side-by-side fields */
      }

      .row input {
        width: 100%; /* split space equally */
      }
    }
  </style>
</head>
<body>
   <h1>Contact Us</h1>
  <form>
    <div class="row">
      <input type="text" placeholder="Name" required>
      <input type="email" placeholder="Email" required>
    </div>
    <textarea placeholder="Your Message" rows="4" required></textarea>
    <button type="submit">Send</button>
  </form>
</body>
</html>
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الواجهة الأمامية العملية

تدرّب بنفسك: Playground لـ Web