خفيفة
39.9 كيلوبايت مصغّر، 7.5 كيلوبايت مضغوط.
Translation note (2026-04-30). v2.0.0 adds RTL support and a refreshed 2026 framework comparison. The English source is the canonical reference while these translations catch up. See https://skeletonic.io/about/ · https://skeletonic.io/components/ · https://skeletonic.io/benchmarks/.
كل مثال أدناه معروض بورقة الأنماط نفسها التي يتم عرضها. بدون معالج أولي. بدون JavaScript. بدون تبعيات إضافية. انسخ أي مقتطف في ملف HTML جديد وسيعمل.
العناصر التفاعلية التي ينقر عليها الزائر أو يلمسها أو يركّز عليها لتوجيه الصفحة.
مُشغّل إجراء دلالي وقابل للتخصيص. المتغيرات المصمتة والمحدّدة تشحن ستة ألوان علامة تجارية لكل منها.
<a href="#" class="button primary">Primary</a>
<a href="#" class="button secondary">Secondary</a>
<a href="#" class="button tertiary">Tertiary</a>
المتغيرات المحدّدة:
<a href="#" class="button primary-outline">Outline</a>
<a href="#" class="button secondary-outline">Outline</a>
ملاحظة إمكانية الوصول. كل متغير
.buttonيأتي مع حلقة:focus-visibleومساحة نقر لا تقل عن 24×24 بكسل CSS (WCAG 2.2 SC 2.5.8). استخدم<button type="button">للإجراءات داخل الصفحة و<a href>فقط للتنقل.
تسمية مضغوطة للحالة أو العدد أو الفئة. حجم النص ثابت حتى تتوافق الشارات مع النص المحيط.
<span class="badge">Default</span>
<span class="badge primary">Primary</span>
<span class="badge success">Success</span>
<span class="badge warning">Warning</span>
<span class="badge danger">Danger</span>
افتراضي أساسي نجاح تحذير خطر
ملاحظة إمكانية الوصول. الشارات زخرفية بشكل افتراضي. عندما تحمل الشارة الإشارة الوحيدة (مثل عدد الرسائل غير المقروءة)، غلّفها في مساعد مخفي بصريًا:
<span class="visually-hidden">3 رسائل غير مقروءة</span>.
أسطح تخبر الزائر أن شيئًا حدث — أو على وشك الحدوث.
رسائل حالة ذات قصد دلالي. في الإصدار 2.0.0 كل متغير مُسمّى بشكل
صريح تحت .alert-{primary,secondary,info,success,warning,error}
لكي لا تتعارض فئة المتغير مع فئات الحالة في أماكن أخرى من الصفحة.
<div class="alert alert-primary" role="alert">
<strong>Heads up.</strong> This is a primary alert.
</div>
<div class="alert alert-success" role="status">
<strong>Saved.</strong> Your changes are persisted.
</div>
<div class="alert alert-warning" role="alert">
<strong>Careful.</strong> This action affects shared state.
</div>
<div class="alert alert-error" role="alert">
<strong>Error.</strong> Could not save the form.
</div>
ملاحظة إمكانية الوصول. استخدم
role="alert"للرسائل التي تتطلب اهتمامًا فوريًا (الأخطاء، التحذيرات) وrole="status"للتأكيدات غير العاجلة. كلاهما يكشف الرسالة للتقنيات المساعدة فور ظهورها.
حاويات تؤطّر وتجمّع المحتوى المتعلّق.
حاوية بحدود وحشو لوحدة متماسكة واحدة. ادمجها مع شبكة
flex-N لجدران بطاقات متجاوبة.
<section class="row">
<article class="card flex-1">
<div class="card-content">
<h3 class="card-title">Lightweight</h3>
<p>38.8 KB minified, 7.7 KB gzipped.</p>
</div>
</article>
<article class="card flex-1">
<div class="card-content">
<h3 class="card-title">Accessible</h3>
<p>WCAG 2.2 conformant out of the box.</p>
</div>
</article>
<article class="card flex-1">
<div class="card-content">
<h3 class="card-title">Modular</h3>
<p>Cascade-layered for easy overrides.</p>
</div>
</article>
</section>
39.9 كيلوبايت مصغّر، 7.5 كيلوبايت مضغوط.
متوافقة مع WCAG 2.2 مباشرة.
طبقات التسلسل لتجاوزات سهلة.
ملاحظة إمكانية الوصول. غلّف كل بطاقة في معلم دلالي (
<article>،<section>) وابدأ محتواها بعنوان (<h3>). مستخدمو قارئات الشاشة يمكنهم بعد ذلك التنقل عبر قائمة البطاقات كمناطق قابلة للتنقل من الدرجة الأولى.
المدخلات والتسميات والتجميعات لجمع بيانات المستخدم.
التسميات، مدخلات النص، مناطق النص، مجموعات الحقول والعناوين التوضيحية — جميعها بحجم متسق مع بقية نظام التصميم.
<form>
<label for="name">Name</label>
<input id="name" type="text" required>
<label for="email">Email</label>
<input id="email" type="email" required class="input-primary">
<label for="msg">Message</label>
<textarea id="msg" rows="4"></textarea>
<button type="submit" class="button primary">Send</button>
</form>
ملاحظة إمكانية الوصول. يجب أن يكون لكل مدخل
<label for="…">مرتبط برمجيًا. اجمع عناصر التحكم ذات الصلة داخل<fieldset>مع<legend>. حدّد الحقول المطلوبة بـrequired(ونجمة مرئية في نص التسمية).
البنى الأساسية — الشبكة، الحاوية، الترويسة — التي تؤطّر الصفحة بأكملها.
شبكة flex-N متجاوبة (1 ← 12 عمودًا) مبنية على flexbox. الحاوية
الأب .row تضبط الفجوات والالتفاف تلقائيًا.
<div class="row">
<div class="flex-6">Half</div>
<div class="flex-6">Half</div>
</div>
<div class="row">
<div class="flex-4">Third</div>
<div class="flex-4">Third</div>
<div class="flex-4">Third</div>
</div>
ملاحظة إمكانية الوصول. يجب أن يتطابق الترتيب المرئي مع ترتيب DOM. تجنّب إعادة ترتيب الصفوف بـ
flex-direction: row-reverseأوorder:— قارئات الشاشة ومستخدمو لوحة المفاتيح يتبعون المصدر، وليس العرض.
ترويسة كاملة بـ CSS فقط مع زر hamburger متجاوب. بدون JavaScript.
انسخ المقتطف أدناه في صفحة HTML جديدة تحمّل بالفعل
skeletonic.min.css وستنطوي القائمة وتنفتح وتحبس التركيز بشكل صحيح
من تلقاء نفسها.
<style>
.sk-header{position:relative;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid #e4e4e7;border-radius:.5rem;background:#fff;}
.sk-header .sk-brand{font-weight:600;color:#0a0a0a;text-decoration:none;}
.sk-header .sk-toggle{position:absolute;left:-9999px;}
.sk-header .sk-burger{display:none;margin-left:auto;cursor:pointer;padding:.625rem .75rem;border:1px solid #e4e4e7;border-radius:.375rem;font-size:1.125rem;line-height:1;min-width:2.75rem;min-height:2.75rem;}
.sk-header .sk-burger:focus-within,.sk-header .sk-toggle:focus-visible+.sk-burger{outline:2px solid hsl(210,100%,42%);outline-offset:2px;}
.sk-header .sk-menu{list-style:none;display:flex;gap:.25rem;margin:0 0 0 auto;padding:0;}
.sk-header .sk-menu a{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem .875rem;border-radius:.375rem;color:#1a1a1a;text-decoration:none;}
.sk-header .sk-menu a:hover{background:#f4f4f5;}
@media (max-width:640px){
.sk-header .sk-burger{display:inline-flex;align-items:center;justify-content:center;}
.sk-header .sk-menu{display:none;flex-direction:column;gap:0;position:absolute;top:calc(100% + .25rem);left:0;right:0;background:#fff;border:1px solid #e4e4e7;border-radius:.5rem;padding:.375rem;box-shadow:0 4px 24px rgba(0,0,0,.08);z-index:10;}
.sk-header .sk-menu a{padding:.75rem 1rem;border-bottom:1px solid #f4f4f5;}
.sk-header .sk-menu li:last-child a{border-bottom:0;}
.sk-header .sk-toggle:checked ~ .sk-menu{display:flex;}
}
</style>
<header class="sk-header">
<a class="sk-brand" href="#">Brand</a>
<input class="sk-toggle" id="sk-nav-toggle" type="checkbox" aria-label="Toggle navigation">
<label class="sk-burger" for="sk-nav-toggle" aria-hidden="true">☰</label>
<ul class="sk-menu">
<li><a href="#">Home</a></li>
<li><a href="#">Docs</a></li>
<li><a href="#">Components</a></li>
<li><a href="#">About</a></li>
</ul>
</header>
ملاحظة إمكانية الوصول. يبقى مربع الاختيار المخفي في ترتيب التبويب حتى يتمكن مستخدمو لوحة المفاتيح من فتح القائمة بـ
SpaceأوEnter. يحمل<label>السمةaria-hiddenلأن مربع الاختيار نفسه هو مصدر الاسم المتاح. غيّر حجم النافذة إلى أقل من 640 بكسل لرؤية زر hamburger يتولى المهمة.
انظر ملاحظات إمكانية الوصول الكاملة → · تصفّح لوحات الألوان →