تحدي المراجعة
جزء من قسم الواجهة الأمامية العملية في رحلة HTML على Coddy. الدرس 11 من 35.
التحدي
سهللديك صفحة HTML لملف شخصي لمستخدم. مهمتك هي تطبيق مبادئ التصميم للهواتف أولًا لجعل الصفحة متجاوبة بالكامل. اتبع هذه التعليمات:
1. التنقل للهواتف أولًا
- على الشاشات الأكبر، أظهر قائمة التنقل وأخفِ زر القائمة.
2. الطباعة للهواتف أولًا
- أنشئ متغير CSS باسم
--body-font-size: 16pxوطبّقه على body. سيكون هذا حجم الخط الأساسي للشاشات الصغيرة.
3. الصور للهواتف أولًا
- استخدم وسم
<picture>لتوفير أحجام مختلفة للصور على الهواتف والشاشات الأكبر. - استخدم وسم
<source>معsrcsetيشير إلى صورة أكبر، على سبيل المثال:https://upload.wikimedia.org/wikipedia/commons/1/1f/Woman_1.jpg. - أضف
media="(min-width: 768px)"لتطبيقها على الشاشات الأكبر. - اجعل صورة الملف الشخصي متجاوبة: تتيح لها القيمتان
width: 100%وmax-width: 250pxالتقلص على الشاشات الضيقة. وعلى الشاشات العريضة، يظل عرضها 250px؛ فالمصدر الأكبر يجعلها أكثر وضوحًا فحسب.
4. النماذج للهواتف أولًا
- اضبط عرض جميع حقول الإدخال وزر الإرسال على
100%، لكي تشغل العرض بالكامل ويسهل النقر عليها.
ينبغي أن تبدو الصفحة مرتبة وسهلة القراءة والاستخدام على شاشات الهواتف وأجهزة الكمبيوتر المكتبية. طبّق المسافات والمحاذاة والأحجام المتجاوبة بحيث يبدو كل شيء متوازنًا.
جرّب بنفسك
<!DOCTYPE html>
<html>
<head>
<title>Mobile-First Profile</title>
<style>
:root {
--primary-font: Arial, sans-serif;
--heading-font: 'Helvetica', sans-serif;
--h1-size: 2rem;
--h2-size: 1.5rem;
--primary-color: #4a90e2;
--secondary-color: #f0f4f8;
}
body {
font-family: var(--primary-font);
margin: 0;
padding: 20px;
background-color: var(--secondary-color);
}
h1 {
font-family: var(--heading-font);
font-size: var(--h1-size);
color: var(--primary-color);
margin-bottom: 5px;
}
h2 {
font-family: var(--heading-font);
font-size: var(--h2-size);
color: #333;
margin-top: 0;
}
nav {
margin-bottom: 20px;
}
.menu-button {
display: block;
padding: 10px 15px;
background-color: var(--primary-color);
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
margin-bottom: 10px;
}
.nav-list {
display: none;
list-style: none;
padding: 0;
margin: 0;
}
.nav-list li {
margin-bottom: 10px;
}
.nav-list li a {
text-decoration: none;
color: var(--primary-color);
}
.profile-img {
width: 100%;
max-width: 250px;
border-radius: 50%;
margin-bottom: 20px;
display: block;
}
section p {
line-height: 1.6;
margin-bottom: 20px;
}
form {
display: flex;
flex-direction: column;
gap: 10px;
}
input, textarea, button {
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 1rem;
}
button {
background-color: var(--primary-color);
color: white;
cursor: pointer;
}
/* Media queries for larger screens */
@media (min-width: 768px) {
.nav-list {
gap: 20px;
}
.nav-list li {
margin-bottom: 0;
}
form {
max-width: 500px;
}
}
</style>
</head>
<body>
<nav>
<button class="menu-button">Menu</button>
<ul class="nav-list">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
<header>
<h1>Jane Doe</h1>
<h2>Web Developer & Designer</h2>
</header>
<section>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Woman_1.jpg/250px-Woman_1.jpg" alt="Profile Image" class="profile-img">
</section>
<section>
<p>Welcome to my profile! I specialize in creating mobile-first, responsive websites that look great on any device. My focus is on performance, accessibility, and clean design.</p>
</section>
<section>
<form>
<input type="text" placeholder="Your Name">
<input type="email" placeholder="Your Email">
<textarea placeholder="Your Message"></textarea>
<button type="submit">Send Message</button>
</form>
</section>
</body>
</html>
جميع دروس الواجهة الأمامية العملية
2إستراتيجية الهاتف المحمول أولاً
ماذا يعني "الهاتف المحمول أولاً"تنسيق النصوص للهاتف المحمول أولاًالتنقل للهاتف المحمول أولاًالصور للهاتف المحمول أولاًالنماذج للهاتف المحمول أولاًتحدي المراجعة5مكونات واجهة المستخدم
القائمة المنسدلةعلامات التبويبالشاراتتلميحات الأدواتلافتات الإشعاراتتحدي المراجعةتدرّب بنفسك: Playground لـ Web