time وaddress وmark
ترميز التواريخ ومعلومات الاتصال والنص المميز دلاليًا
time وaddress وmark درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.
عنصر time
يضع عنصر <time> علامات على التواريخ والأوقات بتنسيق يمكن للآلة قراءته:
<p>Published on <time datetime="2025-01-15">January 15, 2025</time>.</p>
<p>The meeting is at <time datetime="14:30">2:30 PM</time>.</p>
<p>The event runs from
<time datetime="2025-01-15">Jan 15</time> to
<time datetime="2025-01-20">Jan 20</time>.
</p>تنسيقات سمة datetime
يجب أن تكون سمة datetime سلسلة تواريخ أو أوقات صالحة:
<time datetime="2025-01-15">January 15</time> <!-- date -->
<time datetime="14:30">2:30 PM</time> <!-- time -->
<time datetime="2025-01-15T14:30">Meeting time</time> <!-- date+time -->
<time datetime="2025-W03">Week 3, 2025</time> <!-- week -->
<time datetime="2025-01">January 2025</time> <!-- year-month -->
<time datetime="P3D">3 days</time> <!-- duration -->أهمية time
فوائد استخدام <time>:
- تفهم محركات البحث تاريخ المحتوى
- يمكن للمتصفحات والتطبيقات إضافة الموعد إلى التقويم
- يمكن لقارئات الشاشة نطق التواريخ بشكل صحيح
- يمكن لـ JavaScript تحليل سمة datetime لتنسيق العرض
تنسيق التاريخ ديناميكيًا
استخدم JavaScript لتنسيق التواريخ من سمة datetime:
<time id="event-time" datetime="2025-06-15T10:00">June 15, 2025</time>
<script>
const el = document.getElementById('event-time');
const date = new Date(el.getAttribute('datetime'));
el.textContent = date.toLocaleDateString('en-US', {
weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'
});
// Output: Sunday, June 15, 2025
</script>عنصر address
يضع عنصر <address> علامات على معلومات الاتصال الخاصة بأقرب <article> أو <body>:
<address>
<p>Jane Smith</p>
<p><a href="mailto:jane@example.com">jane@example.com</a></p>
<p><a href="tel:+15555550100">(555) 555-0100</a></p>
<p>123 Main Street, New York, NY 10001</p>
</address>استخدام address لجهة اتصال المقالة
استخدم address داخل article لوضع علامات على معلومات الاتصال الخاصة بالمؤلف:
<article>
<h2>HTML Guide</h2>
<address>
Written by
<a href="mailto:jane@example.com" rel="author">Jane Smith</a>
</address>
<p>Content...</p>
</article>ما لا يُستخدم له address
يُستخدم عنصر <address> فقط لمعلومات الاتصال، وليس للعناوين العشوائية:
<!-- BAD: address for a location with no contact info -->
<address>
Empire State Building, New York
</address>
<!-- Better: use p or a structured element -->
<p>Empire State Building, New York</p>
<!-- GOOD: address for contact information -->
<address>
<a href="mailto:support@example.com">Contact Support</a>
</address>عنصر mark
يمرّر عنصر <mark> تمييزًا على النص ذي الصلة بالسياق:
<p>
Search results for "HTML5":
The <mark>HTML5</mark> specification was finalized in 2014.
<mark>HTML5</mark> introduced many new semantic elements.
</p>
<!-- Default styling: yellow background -->
<!-- Semantic use: highlighting search terms, annotations -->
<!-- NOT for general styling — use span for that -->تنسيق mark
خصّص التمييز الأصفر الافتراضي لـ mark:
mark {
background-color: #fef08a;
color: inherit; /* keep text color from parent */
padding: 0.1em 0.2em;
border-radius: 3px;
}
/* High contrast mode: */
@media (forced-colors: active) {
mark {
background-color: Highlight;
color: HighlightText;
}
}mark مقارنةً بـ strong وem
اختيار عنصر التمييز المناسب:
<mark>— تمييز لارتباطه بالسياق الحالي (نتائج البحث)<strong>— محتوى مهم تظل أهميته قائمة دائمًا<em>— تشديد لفظي يغيّر المعنى<span>— تنسيق مرئي بحت من دون دلالة
البحث والتمييز
تطبيق عملي: ميّز عبارات البحث في النتائج:
function highlightText(text, query) {
if (!query) return text;
const escaped = query.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
const regex = new RegExp(`(${escaped})`, 'gi');
return text.replace(regex, '<mark>$1</mark>');
}
// document.getElementById('result').innerHTML =
// highlightText(result.title, searchQuery);تحقق سريع
ما الغرض من سمة datetime القابلة للقراءة آليًا؟
مراجعة: time وaddress وmark
العناصر الدلالية المضمّنة:
<time datetime="">— تواريخ وأوقات قابلة للقراءة آليًا<address>— معلومات الاتصال بأقرب article أو صفحة<mark>— تمييز ذو صلة بالسياق (عبارات البحث)- تستخدم
datetimeتنسيق ISO 8601:YYYY-MM-DDوHH:MM - التنسيق الافتراضي لـ mark: خلفية صفراء؛ ويمكن تخصيصها باستخدام CSS
الأسئلة الشائعة
هل درس «time وaddress وmark» مجاني؟
نعم — نص درس «time وaddress وmark» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.
ماذا ستتعلم في «time وaddress وmark»؟
ترميز التواريخ ومعلومات الاتصال والنص المميز دلاليًا تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟
لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «time وaddress وmark»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟
نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.