قرارات تصميم ملهمة مع بيا فيتلر: قوة إبداعية لا يمكن إيقافها

نشرت: 2022-03-10
ملخص سريع ↬ في هذا الإصدار الخامس من قرارات التصميم الملهمة ، سيعلمك آندي كلارك عن Bea Feitler ، التي أدارت Harper's Bazaar طوال الستينيات ووصفت بأنها "المديرة الفنية الرائدة التي لم تسمع بها من قبل". سوف يعلمك Andy عن عمل Feitler الواثق ويوضح لك كيفية تطبيق بعض تقنيات التصميم الخاصة بها على العمل الذي تقوم به للويب. في هذه المقالة ، ستتعلم كيفية التأكيد على المقياس والحفاظ على تباينه حتى على أصغر الشاشات. سيعلمك Andy كيفية تحديد خيارات ألوان واثقة ، وكيفية استخدام النمط والملمس لإضافة عمق إلى تصميماتك.

حتى لو لم تدرس التصميم الجرافيكي في مدرسة الفنون ، فقد تعرف بعض الأسماء الشهيرة. مع أكثر من قرن من الاتجاه الفني التجاري ، هناك الكثير من الأسماء لاكتشافها. الأشخاص الذين قاموا بعمل مذهل يمكن أن يشجعنا ويلهمنا للتفكير في الويب بشكل أكثر إبداعًا.

كان اكتشاف الأشخاص ذوي المواهب المذهلة أحد أكثر الجوانب المجزية في دراسة اتجاه الفن. غالبًا ما يقودني التعرف على أحد المصممين إلى مصمم آخر ، وعندما أجد شخصًا يعجبني في العمل ، أريد أن أفهم ليس فقط ما صنعوه ، ولكن لماذا صنعوه.

بعد التعرف على عمل Alexey Brodovitch المؤثر في Harper's Bazaar حتى الخمسينيات من القرن الماضي ، أردت معرفة تأثير إرثه على المجلة. قادني هذا إلى بيا فيتلر وشريكتها الإبداعية روث أنسيل التي أدارت هاربر بازار طوال الستينيات.

وُصفت فيتلر بأنها "المديرة الفنية الرائدة التي لم تسمع بها من قبل". لم أسمعها تُذكر في مؤتمر التصميم أو رأيتها يشار إليها في مقال عن تصميم الويب.

لكن تصاميم فيتلر الواثقة والحيوية ليست سوى جزء مما يجعل حياتها وعملها رائعين. والأهم من ذلك هو كيف عكس عملها التغيرات التي طرأت على المجتمع في أمريكا خلال الستينيات والخيارات التي اتخذتها للتأثير فيه.

تم تنظيم معرض واحد فقط حول عملها وتم نشر كتاب استعادي واحد. نُشر كتاب "O Design de Bea Feitler" ، الذي كتبه ابن أخيها ، في موطنها الأصلي البرازيل في عام 2012. واستغرق الأمر شهورًا لتعقب نسخة ، لكنني وجدت واحدة في النهاية. إنه أغلى كتاب اشتريته.

لدى فيتلر الكثير لتعليمه للأشخاص الذين يصممون للويب كما فعلت مع مصممي المجلات الذين تبعوها. آمل أن أتمكن بطريقة صغيرة من مساعدة الناس على الوقوع في حب عمل Bea Feitler بالطريقة التي فعلت بها.

مستوحاة من بيا فيتلر

صورة لبي فيتلر لبوب ريتشاردسون خلال الستينيات.
صورة لبي فيتلر لبوب ريتشاردسون خلال الستينيات. (معاينة كبيرة)

ولدت بيا فيتلر في ريو دي جانيرو عام 1938. بعد العمل على أغلفة الألبومات وسترات الكتب والمجلات وتصميم الملصقات ، غادرت البرازيل وانتقلت إلى مانهاتن. في عام 1961 - وما زالت تبلغ من العمر 25 عامًا فقط - أصبحت مساعدة فنية ، ثم واحدة من أصغر وأول مديرات الفنون المشاركات في Harper's Bazaar جنبًا إلى جنب مع Ruth Ansel.

تمامًا مثل Alexey Brodovitch - التي استقالت من Harper's Bazaar قبل انتقالها إلى الولايات المتحدة - ساعد تعاون Feitler مع الفنانين والمصورين في تحديد عملها. في هاربرز بازار ، صورة لريتشارد أفيدون للنموذج جان شريمبتون مرتدية خوذة الفضاء الوردية الشهيرة ، ثم صورة جون لينون العارية لآني ليبوفيتز على غلاف رولينج ستون.

على الرغم من أن فيتلر لم تقابل برودوفيتش أبدًا ، إلا أنه من الرائع أن ترى كيف احترمت إرثه ثم طورت منه. لقد فهم فيتلر أن صفحات المجلات يجب أن تُبنى عن قصد وبشكل فردي ، ولكن في نفس الوقت يجب أن تكون مرتبطة ببعضها البعض لتشكيل إيقاع متناغم.

مجموعة مختارة من أغلفة المجلات مع التوجيه الفني بقلم بيا فيتلر. من اليسار: Harper's Bazaar و MS. و Rolling Stone و Vanity Fair. (معاينة كبيرة)

يجب أن تتدفق المجلة. يجب أن يكون لها إيقاع. لا يمكنك النظر إلى صفحة واحدة بمفردها ، عليك أن تتخيل ما سيأتي قبلها وبعدها. إن التصميم التحريري الجيد يدور حول إنشاء تدفق متناسق. - بيا فيتلر

جمعت فيتلر بين إتقان برودوفيتش لنشر الصفحات المزدوجة مع خياراتها للألوان الجريئة المستوحاة من فناني البوب ​​جاسبر جونز وروي ليشتنشتاين وآندي وارهول ، بالإضافة إلى أزياء الشوارع وثقافة الشباب.

لم تكن خائفة من تجربة اللون أو كسر التقاليد ، حيث وضعت مرتين نصًا أخضر لامعًا على خلفية وردية نيون ، أولاً في غلاف Harper's Bazaar في أبريل 1965 ولاحقًا للمجلة النسوية السيدة في ديسمبر 1972.

هاربر بازار ، فبراير 1967. الإخراج الفني بي فيتلر. (معاينة كبيرة)

في استوديو Harper's Bazaar ، شاركت روث Ansel ، لوحة مجمعة متغيرة باستمرار تملأ جدار إلهامهما ؛ شيء أتمنى لو كان لدي مساحة في الاستوديو الصغير الخاص بي. لم تكن فيتلر خائفة من مزج الوسائط ، وعندما شعرت أن أحد أكثر فروقها شهرة لم يكن يعمل ، جمعت إحدى أكثر صور أفيدون شهرة مع لوحة من كتاب هزلي اشترته من كشك لبيع الصحف في الشارع أدناه.

هاربر بازار ، أغسطس 1966. تصوير هيرو. الإخراج الفني لروث أنسل وبي فيتلر. لقد ألهمت اختياراتهم الواثقة للألوان والأشكال القوية الكثير من أعمالي الأخيرة. (معاينة كبيرة)

أثرت تصاميم فيتلر وعكست التغييرات في المجتمع الأمريكي في الستينيات. كانت المجلات التي أخرجتها فنًا ذات إيقاع سريع وجودة سينمائية تقريبًا تلائم تمامًا ثقافة ذلك الوقت ولكنها أيضًا ذات صلة بعملنا عبر الإنترنت اليوم. يعتقد فيتلر أن التصميم التحريري الجيد يتعلق بخلق تدفق متناغم. هذا وثيق الصلة بتصميم تجارب مستخدم جذابة ورحلات العملاء كما هو الحال في صفحات المجلات.

بعض تصميمات Feitler المفضلة لدي ليس لها لون ولا صور ، مثل هذا الانتشار المطبعي من Harper's Bazaar. (معاينة كبيرة)

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

قال فيتلر إن الكتاب عبارة عن "50/50 صورة إلى نص". على الويب ، نحتاج إلى السماح بالميزات التفاعلية والفيديو أيضًا. يعد فهم كيفية الجمع بين هذه المكونات بنجاح لإنشاء تجربة متسقة وجذابة مهارة أساسية يجب على كل مصمم رقمي تطويرها.

بصفته معلمًا ومعلمًا ، شارك فيتلر العديد من المبادئ مع أليكسي برودوفيتش. شجعت طلابها على تطوير توجهاتهم الخاصة ، وأصبح العديد منهم مديري فنون بارزين. كان فيتلر متطلبًا ولم يقبل أقل من أعلى معايير التميز في التصميم من الجميع.

تمسك بشغفك وحفر بعمق بينما تثق في غرائزك. خطوة خارج ما هو متوقع. احتضن الحوادث ، واعلم أنك في النهاية ستكتشف الحل الأمثل لمعضلة إبداعية وستكون سعيدًا جدًا أثناء القيام بذلك. - روث أنسل

للأسف ، ماتت Bea Feitler من مرض السرطان عام 1982 عن عمر يناهز 44 عامًا فقط. أعتقد أن لديها الكثير لتعليمه لمن يصممون للويب كما فعلت مديري الفن في المجلة الذين تبعوها. آمل أن تؤثر حياتها وعملها علينا حتى نتحلى بالشجاعة في قناعاتنا وأن نتخذ خياراتنا الشجاعة والثقة.

#### Beauty Blast Off

هاربر بازار ، أبريل 1965. النموذج: جان شريمبتون. المصور: ريتشارد أفيدون. لم يكن لدى Harper's Bazaar محرر ضيف من قبل ، ولكن في إصدار أبريل 1965 ، قام ريتشارد أفيدون المتعاون منذ فترة طويلة بتحرير العدد بأكمله وتصويره.

في الداخل ، صورت أفيدون دونيال لونا - أول امرأة سوداء تظهر على غلاف مجلة أزياء رئيسية - وبول مكارتني يرتدي بدلة فضاء مستعارة من وكالة ناسا. بالنسبة للغلاف ، اختارت أفيدون صورة عارضة الأزياء المعاصرة جان شريمبتون مرتدية خوذة الفضاء التي صنعها أحد أشهر صانعي القبعات في نيويورك.

ذكر أفيدون لاحقًا أنه في الساعة 11 مساءً - بعد انقضاء الموعد النهائي - لم تكن الصورة التي التقطها للغلاف تعمل. لذلك ، قطع Feitler شكل خوذة من ورق Day-Glo الوردي ووضعها فوق صورة Avedon. لا توجد مجموعات تركيز ، ولا بحث ، ولا اختبار للجمهور ، مجرد قرار تصميم جريء وبديهي.

وكانت النتيجة عبارة عن غلاف ذهب للفوز بميدالية نادي مديري الفنون في نيويورك وتم وضعه في المركز الخامس عشر في قائمة الجمعية الأمريكية لمحرر المجلات لعام 2005 لأفضل 40 غلافًا للمجلات.

5050 صورة إلى نص

أجنيتا دارين. انتشار من هاربر بازار ، أغسطس 1966. تصوير هيرو. الإخراج الفني من بيا فيتلر وروث أنسل
أجنيتا دارين. انتشار من هاربرز بازار ، أغسطس 1966. تصوير هيرو. الإخراج الفني من بيا فيتلر وروث أنسل. (معاينة كبيرة)
يستخدم هذا التصميم تدرج صورة الخلفية CSS وعنصر الصورة
يستخدم هذا التصميم تدرج صورة الخلفية CSS وعنصر الصورة. (معاينة كبيرة)

لتنفيذ أول تصميم مستوحى من Feitler ، هدفي هو استخدام أقل مجموعة من العناصر الهيكلية ؛ header aside إلى العناصر main والجانبية للمحتوى. يحتوي رأسي على الصورة المنقسمة لسيارة فولكس فاجن بيتل الشهيرة وعنوان رئيسي يتضمن شعار SVG فولكس فاجن. نظرًا لأن هذا العنوان لا يحتوي على نص ، فأنا أستخدم تسمية ARIA لوصفه. سيساعد هذا الأشخاص الذين يستخدمون التقنيات المساعدة:

 <header> <h1 aria-labelledby="Volkswagen logo"> <svg>…</svg> </h1> <picture>…</picture> </header> <main>…</main> <aside>…</aside>

بالنسبة للشاشات الأصغر ، أحتاج فقط إلى أنماط الأساس مثل التدفق العادي ، ويتعامل مع تخطيط العمود الفردي الخاص بي. أولاً ، أقوم بإضافة تدرج خطي خلف صورة الرأس. التدرجات مرنة بشكل لا يصدق ، ولكن على الرغم من فائدتها ، إلا أنها غير مستخدمة بشكل مدهش:

 header { padding: 1rem 2vw; background-image: linear-gradient( to right, #444 0%, #444 50%, #fff 50%, #fff 100%); text-align: center; }

يبدأ تدرجي على اليسار بلون رمادي غامق وينتهي على اليمين باللون الأبيض. بدون توقف الألوان ، ستكون النتيجة تدرجًا سلسًا بين تلك الألوان ، لكنني أريد خطًا ثابتًا في وسط رأسي. لتحقيق هذا التأثير ، أضع توقفي لونيين في نفس موضع 50% . لتغيير اتجاه التدرج اللوني الخاص بي ، لست بحاجة إلى تعديل هذه النسب المئوية. يمكنني ببساطة تغيير اتجاه التدرج من to right to left .

اليسار: يبدأ التدرج اللوني الخاص بي على اليسار. على اليمين: أقوم بتغيير الاتجاه دون تغيير النسبة المئوية للتوقفات اللونية.
اليسار: يبدأ التدرج اللوني الخاص بي على اليسار. على اليمين: أقوم بتغيير الاتجاه دون تغيير النسبة المئوية للتوقفات اللونية. (معاينة كبيرة)
عند استخدام الصور لإضافة الدراما ، تأكد من أن تأثيرها مثير على جميع أحجام الشاشات. يؤدي تقليص صورة أفقية لتلائم اتجاه عمودي إلى تقليل وزنها المرئي وتأثيرها.
عند استخدام الصور لإضافة الدراما ، تأكد من أن تأثيرها مثير على جميع أحجام الشاشات. يؤدي تقليص صورة أفقية لتلائم اتجاه عمودي إلى تقليل وزنها المرئي وتأثيرها. (معاينة كبيرة)

من المهم الحفاظ على توازن ثابت للوزن المرئي أثناء تكييف التصميمات مع شاشات متعددة الأحجام. لا أريد أن تكون صورة الرأس الخاصة بي طويلة جدًا لدرجة أنها تدفع النص الجاري بعيدًا عن الشاشة الأولى ، لذلك قمت بتعيين أقصى ارتفاع 75vh أو ثلاثة أرباع ارتفاع شاشة صغيرة:

 header img { max-height: 75vh; }

لإكمال تصميم الشاشة الصغيرة الخاص بي ، أقوم بإنشاء header كسياق تحديد المواقع. بعد ذلك ، أضع شعار فولكس فاجن تمامًا وأتأكد من أن عرضه سيتكيف مع الشاشة باستخدام وحدة عرض منفذ العرض 5vw :

 header { position: relative; } h1 { position: absolute; top: 1rem; left: 1rem; width: 5vw; }

تتلاءم صورة الاتجاه الرأسي الخاصة بي بشكل جيد مع الشاشات الطويلة ، لكني بحاجة إلى صورة بتنسيق أوسع للشاشات التي يكون عرضها أكبر من الطول. التوجيه هو استعلام وسائط رائع ، ولكنه نادرًا ما يستخدم والذي يختبر اتجاه منفذ العرض. يمكن استخدام استعلام الوسائط هذا في أوراق الأنماط كبديل لاستعلامات العرض الأكثر تقليدية. يمكن أيضًا تطبيقه على source عنصر picture . يقوم هذا الاستعلام بتبديل صورتي العمودية للحصول على بديل أفقي عندما يتجاوز العرض الارتفاع ، سواء على شاشة هاتف صغيرة أو شاشة بحجم سطح المكتب:

 <picture> <source media="(orientation: landscape)"> <img src="portrait.png" alt="Volkswagen Beetle"> </picture>

بالنسبة لتصميم المناظر الطبيعية البديل الخاص بي ، أستخدم الشبكة لوضع عناصر header main والعناصر aside . هناك العديد من الخيارات لوضع هذه العناصر - بما في ذلك الأعمدة والصفوف ومناطق القوالب - لكنني اخترت استخدام grid-template-columns لتحديد شبكة متماثلة من عمودين على body . أقوم بتطبيق التدرج الخطي مرة أخرى وقمت بتعيين الحد الأدنى لارتفاعه ليتناسب مع منفذ العرض الكامل:

 @media screen and (orientation: landscape) { body { display: grid; grid-template-columns: [main] 1fr [aside] 1fr; min-height: 100vh; background-image: linear-gradient( to right, #444 0%, #444 50%, #fff 50%, #fff 100%); } }

في الاتجاه الأفقي ، يملأ header عرض الشاشة بالكامل. نظرًا لأنني لم أعد بحاجة إلى صورة خلفية التدرج الخطي على هذا العنصر ، يمكنني ببساطة إزالته:

 header { grid-column: 1 / -1; background-image: none; }

الآن ، نظرًا لأن هذه الشبكة بسيطة جدًا ، أضع عناصري main aside على الشبكة باستخدام الخطوط المسماة:

 main { grid-column: main; } aside { grid-column: aside; }

والنتيجة النهائية هي تصميم يتكيف مع تخطيطه بناءً على ما إذا كانت شاشة المستعرض أو الجهاز في الاتجاه الأفقي أو الرأسي.

#### فن الكتاب الهزلي

فن الكتاب الهزلي جمعت Bea Feitler بانتظام الصور مع الرسوم التوضيحية ، ويظهر فن الكتاب الهزلي في العمل طوال حياتها المهنية.

بالنسبة إلى Harper's Bazaar ، وضعت إحدى صور Avedon لـ Jean Shrimpton مرتديًا بدلة فضاء على خلفية كتاب هزلي. في وقت لاحق ، كلفت الفنانة الكوميدية الأسطورية ماري سيفرين بإنشاء هذا الغلاف لمجلة السيدة في عام 1973.

مقياس التأكيد

القدم والفيراري. منتشر من هاربر بازار ، مارس 1967. تصوير بيل سيلانو. الإخراج الفني من بيا فيتلر وروث أنسل.
"القدم والفيراري." انتشار من هاربرز بازار ، مارس 1967. تصوير بيل سيلانو. الإخراج الفني من بيا فيتلر وروث أنسل. (معاينة كبيرة)
هذا التصميم مستوحى من The Foot and the Ferrari. يستخدم تدرج صورة الخلفية CSS وخاصية تناسب الكائن.
هذا التصميم مستوحى من The Foot and the Ferrari. يستخدم تدرج صورة الخلفية CSS وخاصية تناسب الكائن. (معاينة كبيرة)

كانت فولكس فاجن بيتل سيارة صغيرة ذات شخصية كبيرة. أريد أن يكون لتصميمي القادم شخصية تلائمها. يستخدم تصميم الشاشة الكبيرة صورة هائلة لعجلة بيتل للتأكيد على صغر حجم تلك السيارة الصغيرة. لكن قبل أن أصل إلى الشاشات الكبيرة ، أريد التأكد من أنني أحافظ على تباين مماثل في المقياس على الشاشات الصغيرة.

ثلاثة عناصر هيكلية تشكل الترميز الذي أحتاجه لتنفيذ هذا التصميم ؛ header لصورة العجلة الكبيرة ، figure يحتوي على صورة أصغر للسيارة ، ورأس رئيسي للنص الجاري. نظرًا لأن header ليس له معنى لأي شخص يستخدم قارئ الشاشة ، فقد اخترت إخفاءه باستخدام سمة aria-hidden :

 <header aria-hidden="true"> <img src="header.png" alt=""> </header> <figure> <img src="figure.png" alt="Volkswagen Beetle"> </figure> <main>…</main>

تهتم أنماط الأساس والتدفق الطبيعي بمعظم جوانب تصميم الشاشة الصغيرة ، لكن هذا لا يعني أنه يمكنني تجاهل ما يجعل المفهوم العام مميزًا ؛ التباين بين العجلة الكبيرة والصغيرة فولكس فاجن. للتأكد من أن رأسي header دائمًا ثلث ارتفاع منفذ العرض بمسافة بيضاء متطابقة بينه وبين المحتوى الخاص بي ، أستخدم وحدات ارتفاع منفذ العرض لكل من الارتفاع والهامش:

 header { margin-bottom: 33vh; height: 33vh; } 
يتم تشويه هذه العجلة بسهولة ، مما يمنح بيتل إطارًا مثقوبًا غير مقصود. على اليمين: يؤدي استخدام ملاءمة الكائن إلى استعادة استدارة عجلتي.
يتم تشويه هذه العجلة بسهولة ، مما يمنح بيتل إطارًا مثقوبًا غير مقصود. على اليمين: يؤدي استخدام ملاءمة الكائن إلى استعادة استدارة عجلتي. (معاينة كبيرة)

إحدى المشكلات التي أواجهها غالبًا عند تطوير التنسيقات المرنة هي تغيير الحجم غير المقصود للصور. مع ارتفاع ثابت على header وعرض 100% على صورتها ، يمكن للعجلة العملاقة أن تتشوه. لحسن الحظ ، هناك طريقة للحفاظ على نسبة العرض إلى الارتفاع باستخدام خاصية object-fit . هناك أربعة خيارات ممكنة ، بالإضافة إلى none :

  1. contain
    يحافظ على نسبة العرض إلى الارتفاع للصورة أثناء ملاءمتها لمربع محتوى أحد الوالدين.
  2. cover
    يحافظ على نسبة العرض إلى الارتفاع للصورة ولكن هذه المرة تملأ المربع بالكامل. عندما يحدث هذا ، سيتم إخفاء أجزاء من الصورة خارج مربع المحتوى.
  3. fill
    سيتم تشويه الصورة بحيث يتطابق عرضها وارتفاعها مع الأصل.
  4. scale-down
    على غرار احتواء ، يقلل حجم الصورة أو مقطع الفيديو ليناسب داخل العنصر الأصلي.
من اليسار إلى اليمين: احتواء وتغطية وملء وتقليص الحجم. غالبًا ما تسير خاصية object-position جنبًا إلى جنب مع object-fit. يسمح بتحديد موضع عنصر بدقة داخل مربع المحتوى التابع له.
من اليسار إلى اليمين: احتواء وتغطية وملء وتقليص الحجم. غالبًا ما تسير خاصية object-position جنبًا إلى جنب مع object-fit. يسمح بتحديد الموقع الدقيق لعنصر ما داخل مربع المحتوى الخاص به. (معاينة كبيرة)

أريد عجلتي الكبيرة لملء الرأس بالكامل دون تغيير نسبة العرض إلى الارتفاع. كما أنني لست قلقًا من أن بعض أجزاء الصورة سيتم قصها ، مما يجعل cover هو الاختيار الصحيح object-fit :

 header img { object-fit: cover; object-position: center bottom; width: 100%; height: 100%; }

الآن صورة العجلة في موضعها ، أقدم مقياسًا عن طريق مقارنة حجمها الكبير مع صورة صغيرة للسيارة بأكملها. أقصر الحد الأقصى لحجم Beetle على نصف عرض منفذ العرض وتوسيطه أفقيًا باستخدام هوامشه:

 figure { margin: 0 auto; max-width: 50vw; }

يستخدم هذا التصميم خلفية رمادية صلبة لتمثيل الطريق ، لذلك أضفت لونًا للخلفية وحرّكت figure لأسفل بمقدار 10px ، لذا فإن عجلات بيتل تجلس بثبات على المدرج:

 main { padding: 2rem; background-color: #f0f0f1; } figure { transform: translateY(10px); }

توفر الشاشات الأكبر فرصة لإحداث انطباع كبير ، وبالنسبة لهذا التصميم ، أريد أن تشغل صورة header نصف العرض والارتفاع الكامل لشاشة كبيرة. أقوم بتطبيق نفس الشبكة المركبة 6 + 4 التي استخدمتها للعديد من التصميمات في هذه السلسلة. يحتوي على ثمانية أعمدة أضيف إليها ثلاثة صفوف. أعطي الصفين الأوسط والسفلي ارتفاعًا ثابتًا وأسمح للصف الأول باحتلال كل المساحة الرأسية المتبقية:

 @media screen and (min-width : 64em) { body { display: grid; grid-template-columns: 2fr 1fr 1fr 2fr 2fr 1fr 1fr 2fr; grid-template-rows: 1fr 155px 155px; grid-column-gap: 2vw; } }

أريد أن يملأ body دائمًا ارتفاع منفذ العرض بالكامل ، لذلك أطبق حدًا أدنى للارتفاع يبلغ 100 فولت في 100vh تدرجًا خطيًا لإنشاء وهم الطريق:

 body { min-height: 100vh; background-image: linear-gradient( to top, #f0f0f1 0%, #f0f0f1 155px, #fff 155px, #fff 100%); }

باستخدام أرقام الأسطر ، أضع header على الشبكة ، بحيث تحتل نصف الأعمدة وجميع الصفوف. محاذاة figure الصغير تضعه في نهاية وحدة الشبكة الخاصة به. بعد ذلك ، تشكل الأشكال main عمودًا ضيقًا واحدًا من النص الجاري:

 header { grid-column: 5 / -1; grid-row: 1 / 4; margin-bottom: 0; height: auto; background-color: #444; } figure { grid-column: 1 / 4; grid-row: 2; align-self: end; max-width: auto; } main { grid-column: 4; grid-row: 1 / 3; align-self: center; background-color: transparent; } 
في هذا التصميم البديل ، أحافظ على الفرق في المقياس بين كلتا الصورتين عبر أحجام شاشات السوائل باستخدام CSS Grid.
في هذا التصميم البديل ، أحافظ على الفرق في المقياس بين كلتا الصورتين عبر أحجام شاشات السوائل باستخدام CSS Grid. (معاينة كبيرة)

معرفة كيف يؤثر الحجم على فهم شخص ما للقصة أمر ضروري لسردها جيدًا. نادراً ما يكون الحجم الهائل كافياً من تلقاء نفسه ، لذلك لإحداث تأثير كبير ، يجب أن يكون الحجم متناسبًا مع حجم العناصر الأخرى.

لقد فهم Bea Feitler المقياس واستخدمه جيدًا. غالبًا ما قارنت العناصر الأمامية الكبيرة مع العناصر الأصغر في الخلفية لإنشاء تصميمات تحتوي على عمق مذهل. يمكننا الآن أن نسير على خطىها باستخدام مقياس لإضافة تأثير على تصميمات المنتجات والمواقع الإلكترونية.

خيارات ألوان واثقة

كان اختيار بيا فيتلر الواثق للألوان أحد السمات المميزة لعملها ، وقد جذبني على الفور. بالنسبة لتصميمي التالي المستوحى من Feitler ، أقوم بمقارنة اللون الأحمر الداكن مع اللون الأصفر النابض بالحياة وعكس تلك الألوان على جانبي التصميم.

اليسار: انتشار من هاربر بازار ، أغسطس 1966. تصوير هيرو. الإخراج الفني لروث أنسل وبي فيتلر. إلى اليمين: يستخدم هذا التصميم CSS Grid و Flexbox.
اليسار: انتشار من هاربرز بازار ، أغسطس 1966. تصوير هيرو. الإخراج الفني لروث أنسل وبي فيتلر. إلى اليمين: يستخدم هذا التصميم CSS Grid و Flexbox. (معاينة كبيرة)

على الرغم من أن هذه الصفحة كبيرة بالألوان ، إلا أنها أيضًا صغيرة في الترميز. أنا بحاجة إلى عنصرين هيكليين فقط ؛ header و main . داخل كلاهما figure وقسم:

 <header> <figure>…</figure> <div>…</div> </header> <main> <figure>…</figure> <div>…</div> </main>

ألوان الخلفية والنص هي نقطة البداية لتنفيذ هذا التصميم. يمكنني ترك كل شيء آخر للتدفق الطبيعي:

 body { background-color: #ba0e37; color: #f8d72e; } main { background-color: #f8d72e; color: #272732; } 
أقوم بتغيير التنسيق عبر أحجام الشاشات مع الحفاظ على الشكل والمظهر ثابتين.
أقوم بتغيير التنسيق عبر أحجام الشاشات مع الحفاظ على الشكل والمظهر ثابتين. (معاينة كبيرة)

بالنسبة للشاشات متوسطة الحجم ، أريد أن تشغل الأشكال main header ارتفاع وعرض أي منفذ عرض ، لذلك أقوم بتطبيق شبكة متناظرة من عمودين وحد أدنى للارتفاع:

 @media screen and (min-width : 48em) { header, main { display: grid; grid-template-columns: 1fr 1fr; min-height: 50vh; } }

أضع figure الرأس في العمود الثاني والقسمة في العمود الأول. نظرًا لأن هذا هو عكس ترتيب المحتوى ، فأنا بحاجة إلى تعيين كلاهما لنفس الصف لتجنب انخفاض أحد الأعمدة أسفل الآخر:

 header figure { grid-column: 2; header div { grid-column: 1; grid-row: 1; }

يتبع figure العنصر الرئيسي وقسمته ترتيب المحتوى ، لذلك لا أحتاج إلى تحديد grid-row لهما:

 main figure { grid-column: 1; align-self: end; } main div { grid-column: 2; }

أريد ملء الشاشات بالألوان من الحافة إلى الحافة. بالنسبة للشاشات الأكبر حجمًا ، أقوم بتطبيق شبكة من عمودين غير متناظرة تمتد إلى الارتفاع الكامل body :

 @media screen and (min-width : 64em) { body { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; } }

في تصميم الشاشة الكبيرة هذا ، يكون figure والتقسيم في header والمكدس main عموديًا بدلاً من أفقيًا. أقوم بتغيير خاصية display من grid إلى flex وضبط الاتجاه إلى column . لكن الترتيب المرئي للصفحة main هو عكس ترتيب المحتوى الخاص به ، لذلك أغير اتجاهه من العمود إلى عكس العمود:

 header, main { display: flex; flex-direction: column; } main { flex-direction: column-reverse; }

بعد ذلك ، لتحسين قابلية قراءة النص الجاري تشغيله ، أستخدم تخطيطًا متعدد الأعمدة وحدد عرض عمود يبلغ 18em . سيقوم المستعرض بإنشاء العديد من الأعمدة بهذا العرض بما يتناسب مع عنصره الأصلي:

 main div { column-width: 18em; column-gap: 2vw; }

قد تكون الكتل الكبيرة من الألوان الصلبة متعبة للعين ، لذلك أريد تقسيمها عن طريق إضافة نمط صورة خلفية مرحة ومتكررة إلى body باستخدام SVG:

 body { background-image: url("data:image/svg+xml"); }

داخل SVG ، أحدد كلاً من لون التعبئة وأضبط عتامة تعبئة منخفضة لتأثير دقيق:

 fill='#f8d72e' fill-opacity='0.1'

أقوم بتطبيق نفس صورة SVG على الخلفية الصفراء لخلفية صفحتي main ، ولكن هذه المرة قمت بتغيير لون التعبئة إلى الأبيض وزيادة fill-opacity :

 main { background-image: url("data:image/svg+xml"); } fill='#fff' fill-opacity='0.2'

يلعب النمط والملمس دورًا كبيرًا في العديد من نشرات مجلات Bea Feitler الشهيرة ، ومع ذلك فقد فقدت شعبيتها على الويب. بعد ذلك ، سأوضح لك كيفية استخدام أنماط CSS و SVG التي ستضيف عمقًا إلى تصميماتك.

النقش والملمس يضيفان العمق

اليسار: انتشار من فانيتي فير. إلى اليمين: يستخدم هذا التصميم أوضاع مزج CSS ومسار مقطع وأنماط SVG.
اليسار: انتشار من فانيتي فير. إلى اليمين: يستخدم هذا التصميم أوضاع مزج CSS ومسار مقطع وأنماط SVG. (معاينة كبيرة)

في هذا التصميم التالي المستوحى من Feitler ، أريد أن أنقل رشاقة فولكس فاجن بيتل باستخدام الدوائر. أحتاج إلى حد أدنى من HTML لتنفيذ هذا التصميم الجميل ، ثلاثة عناصر فقط ؛ header main aside :

 <header aria-hidden="true"> <picture>…</picture> </header> <aside> <div><img></div> <div><img></div> </aside> <main> <h1 aria-labelledby="Volkswagen logo"> <svg>…</svg> </h1> <p>…</p> </main>

لا أريد أن يتم الإعلان عن header بواسطة برامج قراءة الشاشة ، لذلك أقوم بإضافة سمة aria-hidden مع قيمة true . أريد أن تصف برامج قراءة الشاشة عنوان المستوى الأعلى الخاص بي ، لذلك أقوم بإضافة سمة aria-labelledby إلى ذلك.

تضيف النقاط ذات النمط النصف نغمة نسيجًا إلى هذه الصفحة ، ومن السهل تنفيذ أنماط مثل هذه باستخدام تدرجات خلفية متعددة ، ومجموعات من background-size background-position :

 body { background-color: #ba0e37; color: #fff; background-image: radial-gradient(rgba(255,255,255,.25) 15%, transparent 16%), radial-gradient(rgba(255,255,255,.25) 15%, transparent 16%); background-size: 6vw 6w; background-position: 0 0, 3vw 3vw; }

سأقسم هذا النمط إلى ثلاث خطوات:

  1. اثنان من التدرجات الشعاعية ، مفصولة بفاصلة. يتضمن كل تدرج خطوتين لونيين ، الأولى عند 15% ، والثانية عند 16% والتي تشكل النقاط.
  2. باستخدام وحدات عرض منفذ العرض لتغيير حجم النمط الناتج ، أبقي حجم النقطة متناسبًا مع عرض الصفحة.
  3. ضع التدرج الشعاعي الأول في أعلى يسار منفذ العرض ( 0 0 ) ، والثاني باستخدام وحدات عرض منفذ العرض التي تمثل نصف أحجام الخلفية.
أربعة أنماط صورة خلفية متدرجة خطية وشعاعية.
أربعة أنماط صورة خلفية متدرجة خطية وشعاعية. (معاينة كبيرة)

كانت Lea Verou منشغلة بتجميع معرض للأنماط المفيدة التي طورتها باستخدام التدرجات الخطية والشعاعية. بقدر ما هو ذكي مثل معرض ليا ، هناك شيء ما حول التدرجات المعقدة المستخدمة لإنتاج أنماط تشبه الصور التي تزعجني.

أنماط SVG من أنماط البطل لستيف شوجر.
أنماط SVG من أنماط البطل لستيف شوجر. (معاينة كبيرة)

تبدو أنماط SVG أكثر ملاءمة. فهي خفيفة الوزن بنفس القدر وأكثر مرونة بكثير. أضف SVG إلى صورة خلفية باستخدام عنوان URL ، وإذا كنت قلقًا بشأن طلبات HTTP ، فقم بتضمين SVG في ورقة أنماط على هيئة data:image :

 body { background-image: url("data:image/svg+xml"); }

يتضمن الجانب aside في هذا التصميم قسمين يحتوي كل منهما على صور لواجهة بيتل الرائعة. أقوم بتقطيع هذه التقسيمات إلى دوائر لتكمل منحنياتها:

 aside div { -webkit-clip-path: circle(); clip-path: circle(); } 
(معاينة كبيرة)

بجعل خلفيات الصور شفافة بالكامل ، يمكنني تغيير لون الأقسام الأصلية كلما احتجت إلى ذلك. أقوم بإضافة ألوان خلفية شفافة قليلاً مما يسمح بإظهار تلميحات لنمط النقاط من خلال:

 aside div:first-child { background-color: rgba(57,135,106,.9); } aside div:last-child { background-color: rgba(248,215,46,.9); }

مع وجود الكثير من الألوان والملمس في هذا التصميم ، يجب أن يكون تخطيطي بسيطًا ، لذلك أقوم بتطبيق شبكة غير متماثلة من عمودين حيث لا يمكن أن يتقلص أضيق عمود إلى أقل من 260 بكسل:

 @media screen and (min-width : 64em) { body { display: grid; grid-template-columns: 4fr minmax(260px, 1fr); } }

لتحسين إمكانية الوصول وإمكانية قراءة فقرات النص الجاري تشغيله مقابل النمط الأحمر ، أقوم بإضافة ظل إسقاط دقيق بلون يتناسب مع خلفيتي:

 p { filter: drop-shadow(0 0 5px #ba0e37); } 
من خلال تقليل عتامة رأسي باستخدام مرشح CSS ، تظهر الخلفية المنقوشة من خلالها.
من خلال تقليل عتامة رأسي باستخدام مرشح CSS ، تظهر الخلفية المنقوشة من خلالها. (معاينة كبيرة)

في الماضي ، كانت تصفية الصورة لتطبيق تمويه ، أو تغيير اللون ، أو الظل المسقط تتطلب إضافة تأثيرات مدمرة في محرر الصور ، ولكن اليوم ، العديد من تلك المرشحات نفسها متوفرة في CSS. يمكنك أيضًا تطبيق المرشحات على عناصر HTML الأخرى.

يعد تطبيق مرشح CSS أمرًا سهلاً. أولاً ، قم بتعريف دالة التصفية ثم القيمة بين قوسين. لتقليل عتامة عنصر إلى 25% باستخدام مرشح - بدلاً من خاصية opacity - أستخدم مرشح opacity :

 .ihatetimvandamme { filter: opacity(.25); }

هذه القيم تختلف مع كل مرشح. تستخدم بعض المرشحات الدرجات ، وتقبل استخدام البكسل ، أو النسب المئوية ، أو العلامة العشرية المكافئة لها. على سبيل المثال ، .25 يساوي 25% ، و 1 يعادل 100% .

هناك عشرة مرشحات CSS للاختيار من بينها: blur ، brightness ، contrast ، drop-shadow ، greyscale ، hue-rotate ، opacity invert saturate ، sepia . يمكنك أيضًا استخدام وظيفة URL لاستخدام مرشح مخصص من SVG.

أريد إزالة كل الألوان من رأسي opacity header 80% . يمكنني دمج أي عدد من المرشحات عن طريق فصلها بمسافة. من المهم أن تتذكر أن المتصفح سيطبق عوامل التصفية بالترتيب المحدد لها ، لذلك بالنسبة إلى header ، ستتم إزالة اللون قبل تغيير opacity :

 header { filter: grayscale(1) opacity(.8); }

عندما أحتاج إلى تحول سلس بين عوامل تصفية CSS والقيم ، يمكنني إضافة انتقال بين الحالات ، ربما عن طريق زيادة opacity رأسي لـ :hover header -class:

 header { filter: grayscale(1) opacity(.8); transition: filter 1s linear; } header:hover { filter: grayscale(1) opacity(1); }

يمكنني استخدام CSS لتطوير رسم متحرك أكثر تفصيلاً بين المرشحات عن طريق تحديد إطارات المفاتيح الخاصة بي أولاً ، وتعيين قيم عامل التصفية بأي نسبة تتراوح بين 0 و 100% من مدة الرسوم المتحركة:

 @keyframes beetle { 0% { filter: grayscale(1) opacity(.8) blur(5px); } 50% { filter: grayscale(1) opacity(1) blur(0); } 100% { filter: grayscale(1) opacity(.8) blur(5px); } }

ثم أقوم بتعيين هذه الرسوم المتحركة إلى header ، باستخدام animation-name بالإضافة إلى قيم animation-duration animation-delay ، والإعدادات الاختيارية الأخرى:

 header:hover { animation-name: beetle; animation-delay: 0s; animation-direction: alternate; animation-duration: 1s; animation-fill-mode: forwards; animation-iteration-count: 1; animation-timing-function: linear; }

أعادت Una Kravets إنشاء تأثيرات مرشح Instagram باستخدام مرشحات CSS وأنماط المزج لمكتبة CSSgram الخاصة بها. بناءً على عمل Una ، قام المطور Indrashish Ghosh بإنشاء cssFilters ، وهي أداة للتحكم الدقيق في تأثيرات نمط Instagram ، وتطبيقها على صورة تم تحميلها ، وإنشاء قيم CSS. أدوات مثل Indrashish تجعل من السهل استخدام مرشحات CSS مثل أي محرر صور.

رد فعل على تصاميم الزينة المفرطة ، كان التصميم المسطح هو الشكل الجمالي السائد لما يقرب من عقد من الزمان. عندما سقطت التدرجات والأنماط والظلال والتشكيل ثلاثي الأبعاد من الموضة ، اعتنق المصممون الألوان الصلبة والزوايا المربعة والحواف الحادة.

لا شك في أن مكافحة التشوه ساعد المصممين على التركيز على تصميم الميزات وقابليتها للاستخدام دون تشتيت الانتباه عما قد يراه البعض على أنه مزدهر. لكن تقليل تصميمات المنتجات والمواقع الإلكترونية إلى الحد الأدنى كان له تداعيات مؤسفة. مع القليل من التفريق بين تصميماتها ، تبنت المنتجات والمواقع الإلكترونية اتساقًا مؤسفًا يجعل من الصعب التمييز بينها.

على الرغم من أنني لا أدعو إلى العودة إلى أسوأ تجاوزات التشكل ، إلا أنني آمل أن يدرك مصممو المنتجات والمواقع الإلكترونية قيمة اتباع نهج أكثر حيوية في التصميم ؛ الذي يقدر كيف يمكن للتصميم أن يميز العلامة التجارية عن منافسيها. طريقة تستخدم التدرجات والأنماط والظلال بشكل مناسب لرواية القصص وتوفير قدر أكبر من التكلفة. هذا سيجعل المنتجات والمواقع الإلكترونية ليس فقط أسهل في الاستخدام ولكن أكثر إمتاعًا أيضًا.

تطوير مع مرشحات SVG

على اليسار: انتشار من هاربر بازار. إلى اليمين: يستخدم هذا التصميم مرشحات CSS Flexbox و Grid و SVG.
اليسار: انتشار من هاربر بازار. إلى اليمين: يستخدم هذا التصميم مرشحات CSS Flexbox و Grid و SVG. (معاينة كبيرة)

لهذا التصميم النهائي الملهم ، أحتاج فقط إلى عنصرين هيكليين ؛ header يحتوي على ستة خنافس ذات ألوان زاهية ، ورأس main للنص الخاص بي:

 <header> <div><img src="car-red.png" alt=""></div> <div><img src="car-green.png" alt=""></div> <div><img src="car-cyan.png" alt=""></div> <div><img src="car-magenta.png" alt=""></div> <div><img src="car-yellow.png" alt=""></div> <div><img src="car-black.png" alt=""></div> </header> <main>…</main>

يعتني التدفق الطبيعي بمعظم هذا التصميم للشاشات الصغيرة ، لكن هذا لا يعني أنه لا يوجد شيء يمكن القيام به. سأفقد تأثير تلك السيارات الملونة إذا كنت سأقوم بتقليصها جميعًا لتناسب شاشة صغيرة. لا أريد أيضًا أن يقوم الأشخاص بالتمرير عبر الستة قبل أن يروا المحتوى الخاص بي ، لذا فإن الحل الذي أقدمه هو ترتيبهم أفقيًا في لوحة تمرير.

Flexbox هو الخيار الواضح لترتيب تلك الصور ، لكن الترتيب الافتراضي من اليسار إلى اليمين يعني إظهار الجزء الخلفي من السيارة النهائية ، بدلاً من الجزء الأمامي الأول. يمكن حل هذا بسهولة عن طريق تغيير flex-direction من row الافتراضي إلى row-reverse :

 header { display: flex; direction: row-reverse; max-width: 100%; overflow-x: scroll; }

أريد أن تظهر كل هذه السيارات بنفس الحجم ، لذلك أستخدم خاصية flex-grow وقيمة 1 . نظرًا لأنني أريد إظهار مقدمة كل سيارة للإشارة إلى أن هناك المزيد من الأشياء التي يمكن رؤيتها خارج منفذ العرض ، فقد قمت بتعيين قيمة flex-basis على 80% ؛

 header div { flex-grow: 1; flex-grow: 0; flex-basis: 80%; /* flex: 1 0 80%; */ }

على الشاشات متوسطة الحجم ، توجد مساحة لتخطيط أكثر تفصيلاً لمجموعتي من السيارات. بالنسبة لهذا التصميم ، أقوم بترتيب الخنافس الخاصة بي على شبكة معيارية 8 × 12 ، حيث تكون كل وحدة مستطيلة بنسبة عرض إلى ارتفاع تبلغ 9:16. تحتل الخنفساء السوداء الأبعد عن العارض وحدة واحدة ، وتظهر السيارات بشكل تدريجي أكبر حتى تحتل الخنفساء الحمراء في المقدمة أكبر منطقة مكانية.

على اليسار: على الشاشات الصغيرة ، أقوم بترتيب سياراتي في لوحة تمرير أفقية. على اليمين: بالنسبة للشاشات المتوسطة ، أضع الخنافس على شبكة معيارية. (معاينة كبيرة)

لتنفيذ هذه الشبكة المعيارية ، أقوم بتطبيق الشبكة على عنصر الرأس الخاص بي ، متبوعًا بثمانية أعمدة متكررة الحجم بشكل متساوٍ ، واثني عشر صفاً تتكيف مع الحد الأدنى لارتفاع محتواها. من خلال محاذاة العناصر مع end كل صف ، بدلاً من start ، تبدو النتيجة أكثر واقعية:

 @media screen and (min-width : 48em) { header { display: grid; grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(12, min-content); grid-row-gap: 10px; align-items: end; } } 
اليسار: شبكة معيارية 8x12 للشاشات المتوسطة. على اليمين: أقوم بتغيير التنسيق والنسب على الشاشات الكبيرة عن طريق التبديل إلى شبكة مقاس 16 × 12. (معاينة كبيرة)

My next task is to place each Beetle onto the grid. I use a combination of child ( > ) and nth-child selectors to place each element using line numbers:

 header > :nth-child(1) { grid-column: 3 / -1; grid-row: 10 / -1; } header > :nth-of-type(2) { grid-column: 3 / 7; grid-row: 7 / 9; } header > :nth-of-type(3) { grid-column: 1 / 4; grid-row: 5 / 7; } header > :nth-of-type(4) { grid-column: 2 / 4; grid-row: 3; } header > :nth-of-type(5) { grid-column: 6 / 8; grid-row: 2; } header > :nth-of-type(6) { grid-column: 3; grid-row: 1; }

A design like this cries out for typographic details. Padding on the main element adds space around my running text, so to add interest to my type, I set column widths of 24em , and a browser will automatically create the right number of columns to fit the viewport:

 p { column-width: 24em; column-gap: 2vw; }

To add extra interest to my type, I combine a first-of-type pseudo-class selector with a first-line pseudo-element to transform that first line into uppercase letters:

 p:first-of-type::first-line { text-transform: uppercase; }

To implement my design for larger screens, I double the number of columns from eight to sixteen and reposition my images to the new line numbers:

 @media screen and (min-width : 64em) { header { grid-template-columns: repeat(16, 1fr); } header > :nth-child(1) { grid-column: 8 / 15; grid-row: 9 / 13; } header > :nth-of-type(2) { grid-column: 6 / 11; grid-row: 5 / 8; } header > :nth-of-type(3) { grid-column: 1 / 5; grid-row: 4 / 6; } header > :nth-of-type(4) { grid-column: 4 / 6; grid-row: 3; } header > :nth-of-type(5) { grid-column: 11; grid-row: 2; } header > :nth-of-type(6) { grid-column: 5; grid-row: 1; } }

Compared to today's Beetle — which weighs almost 3000lbs — the Volkswagen Type 1 was a lightweight and speedy little car for its time. I'd like to create the impression these cars are speeding past the viewer by adding motion blur. Blurring an element using a CSS filter is straightforward:

header > div { filter: blur(5px); }

يتيح لي هذا المرشح طمس عنصر بأي مقدار باستخدام عدة قيم طول ، بما في ذلك وحدات البكسل التي تبدو لي أنها الوحدة الأكثر ملاءمة. لكن ، مرشحات CSS تسمح لي فقط بتمويه عنصر باستخدام نفس المقدار أفقيًا وعموديًا ، تمامًا مثل التمويه الضبابي لمحرر الصور. لإضافة حركة واقعية إلى تصميمي ، أحتاج إلى تبديل CSS بفلتر SVG.

على اليسار: مرشح تمويه CSS موحد بقيم أفقية ورأسية متساوية. إلى اليمين: قيمتا تمويه gaussian في SVG تخلقان ضبابية حركة أكثر واقعية. (معاينة كبيرة)

أغطي قدرًا صغيرًا من التفاصيل حول فلاتر SVG في هذا العدد ، لكن خبيرة SVG سارة سويدان كتبت عنها على نطاق واسع. ابدأ ببرنامج Sara's SVG Filters 101 التعليمي.

في حين أن فلاتر الأسهم العشرة هي إضافة حديثة نسبيًا إلى CSS ، فإن تاريخها يعود إلى أصول SVG. توفر المرشحات في SVG مرونة أكبر بكثير مع توفر ستة مرشحات إضافية وإمكانيات تخصيص مذهلة. بينما يسمح CSS blur بقيمة واحدة فقط لكل من المحورين الأفقي والرأسي (X / Y ،) في SVG يمكنني استخدام قيمتين ؛ أحدهما للمحور X والآخر من أجل Y.

في SVG ، يكون لكل مرشح هويته الخاصة ، لذلك لتعتيم عنصر HTML ، قم بالإشارة إلى معرفه باستخدام قيمة URL في خاصية التصفية من ورقة الأنماط:

 .blur { filter: url(#blur); }

المرشحات لها عنصرها الخاص في SVG ، إنه عنصر filter . على الرغم من أن المرشح لن يكون مرئيًا في المستعرض ، فإن إعطاء SVG ارتفاعًا بمقدار 0 سيضمن عدم احتوائه على مساحة:

 <svg height="0"> <filter>…</filter> </svg>

كل فلتر SVG بدائي له اسمه الخاص الذي يسبقه بـ fe ، وهو اختصار لـ "تأثير الفلتر". مما لا يثير الدهشة ، أن اسم التمويه هو feGaussianBlur . يتم تطبيق مقدار التمويه باعتباره stdDeviation باستخدام قيمة موحدة أو قيمتين منفصلتين للأفقي والرأسي. لإعادة إنتاج 5px غاوسي 5 بكسل الموحد السابق في SVG ، أضفت قيمة واحدة:

 <filter> <feGaussianBlur in="SourceGraphic" stdDeviation="5"/> </filter>

أبحث عن تأثير حركة أكثر واقعية حيث تكون الصورة غير واضحة على المحور الأفقي فقط. أقوم بتطبيق التمويه على المحور X فقط ، وترك المحور Y عند الصفر:

 <filter> <feGaussianBlur in="SourceGraphic" stdDeviation="15, 0"/> </filter>

الآن تسير سيارتي بسرعة عبر منفذ العرض ، ولكن عندما تنظر عن كثب. النتيجة ليست واقعية تمامًا. ذلك لأن حواف العناصر غير الواضحة يتم قصها بواسطة المربع المحيط. هذا هو المستطيل الذي يحيط بكل عنصر.

على اليسار: يقوم المربع المحيط بقص الحواف غير الواضحة. على اليمين: تؤدي زيادة منطقة المرشح إلى إظهار الصورة غير الواضحة بالكامل. (معاينة كبيرة)

لجعل تأثير المرشح مرئيًا بالكامل ، أحتاج إلى زيادة حجم منطقة الفلتر الخاصة بي باستخدام قيم x و y width height . أستخدم قيمًا سالبة تبلغ -10% على كل من المحورين الأفقي والرأسي ، ثم أزيد width height إلى 120% مما يتيح مساحة مرئية أكبر لحواف الصور غير الواضحة:

 <filter x="-10%" y="-10%" width="120%" height="120%"> … </filter>

عندما تشاهد السيارات تتقدم بسرعة ، أو تنظر من نافذة قطار متحرك ، فإن الأشياء الأقرب إليك تبدو وكأنها تتحرك أسرع من تلك البعيدة. لجعل تصميمي يبدو أكثر واقعية ، أحتاج إلى مجموعة مختلفة من قيم التمويه للكائنات في المقدمة والأرض الوسطى والخلفية.

تحتاج عناصر المقدمة مثل الخزانة الحمراء Beetle إلى أكبر قدر من التمويه الأفقي. أعطي هذا الفلتر هوية blur-foreground :

 <filter x="-10%" y="-10%" width="120%" height="120%"> <feGaussianBlur in="SourceGraphic" stdDeviation="15,0"/> </filter>

بعد ذلك ، تتلقى الخنافس الموجودة في الأرض الوسطى stdDeviation أقل قليلاً من الأمراض المنقولة جنسياً بمقدار 10 :

 <filter x="-10%" y="-10%" width="120%" height="120%"> <feGaussianBlur in="SourceGraphic" stdDeviation="10,0"/> </filter>

أخيرًا ، تتلقى الكائنات الموجودة في الخلفية أقل وضوح. أعطي هذا الفلتر هوية blur-background حتى أتمكن من تطبيقها في ورقة الأنماط الخاصة بي:

 <filter x="-10%" y="-10%" width="120%" height="120%"> <feGaussianBlur in="SourceGraphic" stdDeviation="5,0"/> </filter>

مع تحديد جميع عوامل التصفية الخاصة بي ، في ورقة الأنماط الخاصة بي ، أقوم بتطبيقها على Beetles في المقدمة والأرض الوسطى والخلفية:

 <img src="car-red.png" class="blur-foreground"> <img src="car-green.png" class="blur-medium"> <img src="car-cyan.png" class="blur-medium"> <img src="car-magenta.png" class="blur-medium"> <img src="car-yellow.png" class="blur-background"> <img src="car-black.png" class="blur-background"> .blur-foreground { filter: url(#blur-foreground); } .blur-medium { filter: url(#blur-medium); } .blur-background { filter: url(#blur-background); }

مجموعتي المكونة من ستة خنافس ملونة تتسابق الآن عبر منفذ العرض وتصميمي الأخير المستوحى من Feitler هو الفائز أيضًا.

ملحوظة : يتمتع أعضاء Smashing بإمكانية الوصول إلى ملف PDF مصمم بشكل جميل لمجلة Andy Inspired Design Decisions وأمثلة كاملة من التعليمات البرمجية من هذه المقالة.

قراءة المزيد من السلسلة

  • قرارات التصميم الملهمة: مجلة Avaunt
  • قرارات التصميم المستوحاة: الأمور الملحة
  • قرارات التصميم الملهمة: مجلة إرنست
  • قرارات التصميم الملهمة: أليكسي برودوفيتش
  • قرارات التصميم الملهمة: نيفيل برودي
  • قرارات التصميم الملهمة: Otto Storch
  • قرارات التصميم الملهمة: Herb Lubalin
  • قرارات التصميم الملهمة: ماكس هوبر
  • قرارات التصميم الملهمة: جيوفاني بينتوري
  • قرارات التصميم الملهمة: Emmett McBain
  • قرارات التصميم الملهمة: برادبري طومسون

ملاحظة: أعضاء تحطيم الأعضاء لديهم حق الوصول إلى ملف PDF مصمم بشكل جميل لمجلة Andy Inspired Design Decisions وأمثلة كاملة من التعليمات البرمجية من هذه المقالة. يمكنك شراء ملفات PDF الخاصة بهذه المشكلة والأمثلة بالإضافة إلى كل مشكلة أخرى مباشرةً من موقع Andy على الويب.