الاثنين، 19 أكتوبر 2026 تحليلات مستقلة للتجارة الإلكترونية
Storefront Daily.

تقارير وأبحاث حول شوبيفاي والتجارة الإلكترونية

مرجع

بانر Hero في Horizon: المقاسات والإعدادات مباشرةً من الكود

بانر Hero في Horizon يحمل 36 إعدادًا على مستوى القسم و8 أنواع من البلوكات تحمل 104 إعدادات إضافية، وقائمة الارتفاع المنسدلة فيه تنتقل من rem إلى svh مع اتساع الشاشة. مقروء من المصدر الخاص بالثيم عند الـ commit رقم 8b42ace.

بقلم قسم الأبحاث في Storefront Daily  ·  8 أغسطس 2026  ·  7 دقيقة قراءة  ·  مسودة بالذكاء الاصطناعي من بيانات موثّقة المصدر


Horizon هو الثيم الذي يوفره Shopify للمتاجر الجديدة، وقسم Hero فيه هو أول ما يلمسه معظم التجار. يعرض لك محرر الثيم قائمة منسدلة للارتفاع بستة خيارات وخانة لصورة. لكنه لا يخبرك أن ثلاثة من هذه الخيارات تغيّر وحدة قياسها بحسب عرض الشاشة، ولا أن “Large” هنا تعني شيئًا مختلفًا تمامًا عن “Large” في Dawn.

كيف حصلنا على هذه الأرقام. في 1 سبتمبر 2026 قرأنا مستودع Shopify/horizon العام عند الـ commit رقم 8b42ace (2026-08-31) — فـ Horizon لا يصدر إصدارات ولا وسوم، لذا فإن الـ commit هو النسخة. أخذنا مخطط الإعدادات وسلالم srcset من sections/hero.liquid، وهو 1496 سطرًا؛ ومتغيّرات الارتفاع من snippets/theme-styles-variables.liquid؛ وقواعد القسم من assets/base.css. أما أوصاف البلوكات فقد استُخلصت من مكتبة blocks/ المشتركة في الثيم، لأن مخطط hero يسمّيها فقط. كل رقم هنا استُخرج من تلك الملفات بواسطة سكربت.

الارتفاعات تغيّر وحدتها مع اتساع الشاشة

هذا هو الجزء الذي يفاجئ الناس. Horizon لا يمتلك ارتفاعًا واحدًا لكل خيار — بل ثلاثة، عبر نقطتي انقطاع، والوحدة تتبدّل:

الإعدادالموبايل≥40em≥60em
Small15rem = 240px40svh50svh
Medium25rem = 400px55svh65svh
Large35rem = 560px70svh80svh

تحت 40em تكون الارتفاعات ثابتة بوحدة rem. وفوقها تصبح svh، وهي وحدة ارتفاع إطار العرض الصغير — أي نسبة مئوية من الشاشة المرئية. لذا فإن hero بحجم Large على الهاتف يكون بارتفاع ثابت 560px، وعلى سطح مكتب عريض يكون 80% من أي ارتفاع تكون عليه نافذة الزائر.

وهناك ارتفاعان آخران يتجاوزان الجدول تمامًا. full-screen يضبط 100svh. وcustom يُظهر شريط تمرير، section_height_custom، يمتد من 0 إلى 100% بقيمة افتراضية 50 — وهذه القيمة تُكتب أيضًا مباشرةً بوحدة svh، لا بالبكسل.

لماذا لا تساوي “Large” هنا “Large” في Dawn

كلا الثيمين يوفر hero بحجم Large. لكنهما غير قابلين للمقارنة، لسببين منفصلين.

أساس rem مختلف. بحثنا في كل ملف من ملفات الثيم: Horizon لا يتجاوز مطلقًا حجم الخط الجذري، لذا فإن 1rem هي الحجم الافتراضي للمتصفح، 16px. أما Dawn فيضبط font-size: calc(var(--font-body-scale) * 62.5%)، وهو ما يجعل 1rem تساوي 10px. القيمة نفسها 35rem تعني 560px في Horizon و350px في Dawn.

الوحدة مختلفة فوق نقطة الانقطاع. Large في Dawn ارتفاع ثابت 720px على سطح المكتب، وهو نفسه على كل شاشة. أما Large في Horizon فهي 80svh، فتنمو مع الشاشة: نحو 720px على نافذة بارتفاع 900px، ونحو 1152px على نافذة بارتفاع 1440px.

إذا كنت تنقل تصميمًا بين الثيمين، فهذا هو الإعداد الأكثر احتمالًا لأن يفسده.

مقاسات الصور بدقة

يبني Horizon قيمة srcset من سلّمين مكتوبين بشكل ثابت في الكود، في السطرين 103 و105 من القسم:

السلّمالمدىالخطواتالعروض المطلوبة
وسائط بعرض كامل832–3840px6832, 1200, 1600, 1920, 2560, 3840
وسائط مقسّمة416–1600px5416, 600, 800, 1200, 1600

ارفع صورة بعرض 3840px إذا كان الـ hero يمتد على عرض الصفحة. أما السلّم الأضيق فينتهي عند 1600px لأن كل صورة هناك لا تشغل إلا جزءًا من العرض.

لاحظ الدرجة الأدنى: Horizon يبدأ من 832px حيث يبدأ Dawn من 375px. Horizon لا يقدّم ببساطة نسخة بمقاس الهاتف من صورة hero بعرض كامل، وهذا أمر يجدر معرفته إذا كانت زياراتك في معظمها من الموبايل وعلى اتصالات بطيئة.

البلوكات ليست في هذا الملف

Dawn يصف بلوكاته داخل مخطط القسم. أما Horizon فيسمّيها ويحفظ الأوصاف في مكتبة مشتركة، لذا فإن قراءة sections/hero.liquid وحده لا تخبرك بشيء عن قدرات البلوك. وبعد استخلاصها، تحمل الأنواع الثمانية 104 إعدادات بينها:

النوعالاسمالإعداداتمُعرَّف في
@theme—0wildcard
textنص19blocks/text.liquid
buttonزر12blocks/button.liquid
logoشعار15blocks/logo.liquid
jumbo-textنص عملاق9blocks/jumbo-text.liquid
spacerمباعد7blocks/spacer.liquid
groupمجموعة36blocks/group.liquid
_marqueeشريط متحرك6blocks/_marquee.liquid
الإعدادات لكل نوع بلوك، Hero في Horizon group 36 text 19 logo 15 button 12 jumbo-text 9 spacer 7 _marquee 6 بانر صورة Dawn، للمقارنة: 3 أنواع بلوكات تحمل 12 إعدادًا في المجموع

@theme هو محرف بدل: يقبل أي بلوك من بلوكات الثيم، ولهذا لا يمتلك إعدادات خاصة به. أما group فهو الأثقل بـ 36 إعدادًا، لأنه حاوية تخطيط تكرّر معظم ضوابط المحاذاة والتباعد الخاصة بالقسم نفسه على مستوى أدنى.

للمقارنة: بانر الصورة في Dawn يقدّم 3 أنواع من البلوكات تحمل 12 إعدادًا في المجموع. أما Hero في Horizon فيقدّم 8 أنواع تحمل 104. هذا هو الفرق الحقيقي بين الثيمين، وهو غير مرئي في أي مكان داخل محرر الثيم.

كل إعداد على القسم

36 إعدادًا، كما تظهر في المحرر:

المعرّف في الكودالتسمية في المحررالنوعالافتراضيالمدى / الخيارات
media_type_1النوعselectimage2 خيارات
image_1الصورةimage_picker——
video_1الفيديوvideo——
media_type_2النوعselectimage2 خيارات
image_2الصورةimage_picker——
video_2الفيديوvideo——
stack_media_on_mobileتجميع الوسائط عموديًاcheckboxfalse—
custom_mobile_mediaإظهار وسائط مختلفة على الموبايلcheckboxfalse—
media_type_1_mobileالنوعselectimage2 خيارات
image_1_mobileالصورةimage_picker——
video_1_mobileالفيديوvideo——
media_type_2_mobileالنوعselectimage2 خيارات
image_2_mobileالصورةimage_picker——
video_2_mobileالفيديوvideo——
linkالرابطurl——
open_in_new_tabفتح الرابط في تبويب جديدcheckboxfalse—
content_directionالاتجاهselectcolumn2 خيارات
vertical_on_mobileعمودي على الموبايلcheckboxtrue—
horizontal_alignmentالمحاذاةselectflex-start4 خيارات
vertical_alignmentالموضعselectcenter3 خيارات
align_baselineمحاذاة خط أساس النصcheckboxfalse—
horizontal_alignment_flex_direction_columnالمحاذاةselectflex-start3 خيارات
vertical_alignment_flex_direction_columnالموضعselectcenter4 خيارات
gapالمسافة البينيةrange120–100px، بخطوة 1
section_widthالعرضselectpage-width2 خيارات
section_heightالارتفاعselectmedium6 خيارات
section_height_customارتفاع مخصصrange500–100%، بخطوة 1
background_colorلون الخلفيةcolor——
toggle_overlayطبقة تغطية الوسائطcheckbox——
overlay_colorلون طبقة التغطيةcolor#00000026—
overlay_styleنمط طبقة التغطيةselectsolid2 خيارات
gradient_directionاتجاه التدرجselectto top2 خيارات
blurred_reflectionانعكاس ضبابيcheckboxfalse—
reflection_opacityشفافية الانعكاسrange750–100%، بخطوة 1
padding-block-startأعلىrange00–100px، بخطوة 1
padding-block-endأسفلrange00–100px، بخطوة 1

مما يجدر الإشارة إليه:

أربعة إعدادات محاذاة منفصلة. horizontal_alignment وvertical_alignment تنطبقان عندما يتدفق المحتوى في صف؛ أما horizontal_alignment_flex_direction_column وvertical_alignment_flex_direction_column فتنطبقان عندما يتراكم عموديًا. غيّر أحدها ويبقى الآخر على قيمته القديمة، وهذا هو السبب المعتاد في أن يبدو الـ hero صحيحًا على سطح المكتب وخاطئًا على الموبايل.

reflection_opacity — شريط تمرير من 0 إلى 100%، افتراضيًا 75، مقترن بـ blurred_reflection. ولا يوجد ما يعادله في Dawn.

أربع خانات للصور وأربع خانات للفيديو. الـ hero يأخذ الوسائط مرتين — واحدة لسطح المكتب ومجموعة موبايل منفصلة خلف custom_mobile_media، وقيمته الافتراضية false.

كيف تتحقق من هذا بنفسك

افتح sections/hero.liquid واقرأ بلوك {% schema %} في الأسفل للوقوف على الإعدادات. أما الارتفاعات فهي في الأسطر 143 إلى 157 من snippets/theme-styles-variables.liquid. وأوصاف البلوكات موجودة في blocks/ — ملف واحد لكل نوع، مسمّى تمامًا كما في عمود type أعلاه.

Horizon لا يمتلك إصدارات، لذا لا يوجد رقم نسخة يمكن الاستناد إليه. هذه الصفحة تذكر بدلًا من ذلك الـ commit الذي قُرئت منه؛ وإذا تغيّر الثيم، فإن هذه الأرقام تتغيّر معه.

الأسئلة الشائعة

ما مقاس الصورة الذي ينبغي استخدامه في Hero الخاص بـ Horizon؟

3840px عرضًا لبانر hero بعرض كامل. يطلب Horizon 6 عروض تبدأ من 832px وتصل إلى 3840px. أما في حالة الوسائط المقسّمة فهو يستخدم سلّمًا ثانيًا من 5 عروض ينتهي عند 1600px، لذا فإن 1600px تكفي هناك.

ما ارتفاع قسم Hero في Horizon؟

على الموبايل تكون الخيارات الثابتة 240px و400px و560px. فوق 40em تصبح 40svh و55svh و70svh، وفوق 60em تصبح 50svh و65svh و80svh. خيار الشاشة الكاملة هو 100svh، وخيار Custom هو شريط تمرير يُقرأ مباشرةً كـ svh.

لماذا يبدو Hero في Horizon أطول من نظيره في Dawn عند الإعداد نفسه؟

لسببين. Horizon لا يتجاوز مطلقًا حجم الخط الجذري، لذا فإن 1rem تساوي الحجم الافتراضي للمتصفح أي 16px، في حين أن Dawn يضبطه على 62.5% فيحصل على 10px. وفوق نقطة الانقطاع يقيس Horizon بوحدة svh، وهي نسبة مئوية من النافذة، بينما يبقى Dawn على قيمة ثابتة.

كم عدد الإعدادات في Hero الخاص بـ Horizon؟

36 إعدادًا على القسم نفسه، إضافة إلى 8 أنواع من البلوكات تحمل 104 إعدادات بينها. إعدادات البلوكات ليست في ملف القسم — فـ Horizon يحفظها في مكتبة blocks/ مشتركة.

أين تُعرَّف إعدادات البلوكات في Horizon؟

في ملف واحد لكل نوع بلوك تحت blocks/ داخل الثيم. مخطط hero يسرد أسماء الأنواع فقط، لذا فإن قراءة القسم وحده تُظهر بلوكات بلا أي إعدادات على الإطلاق. أما المدخل @theme فهو محرف بدل يقبل أي بلوك من بلوكات الثيم.

المصادر والبيانات

  1. Shopify/horizon, sections/hero.liquid, settings schema and srcset ladders, read at commit 8b42ace (checked September 1, 2026)
  2. Shopify/horizon, snippets/theme-styles-variables.liquid, source of the section height variables (checked September 1, 2026)
  3. Shopify/horizon, assets/base.css, section height rules (checked September 1, 2026)
  4. Shopify/dawn, layout/theme.liquid, the 62.5% root font-size rule used for the comparison (checked September 1, 2026)
للاستشهاد بهذا التقرير: قسم الأبحاث في Storefront Daily (2026). “بانر Hero في Horizon: المقاسات والإعدادات مباشرةً من الكود.” Storefront Daily. https://storefrontdaily.com/ar/guides/horizon-hero-banner-sizes-and-settings/
الأرقام في هذه الصفحة قياساتنا نحن. يمكنك الاقتباس منها وإعادة نشر جدول واحد أو رسم بياني واحد، شرط وضع رابط ظاهر وقابل للنقر إلى هذه الصفحة. الشروط كاملةً: إعادة النشر والاقتباس.