Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

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

جزء من قسم Practical Frontend في رحلة 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اختبر نفسك

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

جميع دروس Practical Frontend

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