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

اعتمد على مسار مقطع CSS لإنشاء أشكال رائعة في DOM بدون صور

تم النشر بتاريخ 2024-07-31
تصفح:654

Lean on CSS Clip Path to Make Cool Shapes in the DOM without Images

مقدمة

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

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

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

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


مسار مقطع CSS

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

Lean on CSS Clip Path to Make Cool Shapes in the DOM without Images

عرض توضيحي من مستندات مسار مقطع MDN. توفر خيارات مسار المقطع المختلفة طرق عرض مختلفة لمنطاد الهواء الساخن والنص.

يمكن لخاصية مسار المقطع قبول مجموعة كبيرة ومتنوعة من القيم:

  • ، الذي يقبل قيمًا مثل عنوان url لعنصر SVG مع تحديد مسار القطع.
  • ، الذي يقبل قيمًا مثل مربع الهامش ومربع الحدود.
  • ، الذي يقبل قيمًا مثل Circle() وrect().
  • القيم العالمية، والتي تقبل قيمًا مثل الوراثة والعودة.

يمكن أيضًا دمج قيم و معًا في مسار مقطع واحد.

/* this CSS combines two different clip path properties */
clip-path: padding-box circle(50px at 0 100px);

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

أحد خصائص التي يقبلها مسار مقطع الخصائص هو polygon()، وانتهى الأمر بأن يكون هذا هو الحل الذي أحتاجه لقسم الخلفية المائلة.

المضلع الذي أحتاج إلى إعادة إنشائه باستخدام CSS

Lean on CSS Clip Path to Make Cool Shapes in the DOM without Images

الخلفية المضلعة الرمادية التي كنت بحاجة لإنشائها باستخدام CSS.

الصورة أعلاه عبارة عن لقطة شاشة لقسم الخلفية الرمادية الذي كنت بحاجة إلى إعادة إنشائه باستخدام خاصية polygon() الخاصة بمسار مقطع CSS. وأول شيء كان علي فعله هو إنشاء بعض عناصر HTML لتطبيق CSS عليها.

مسار المقطع المضلع () مقابل مسار المقطع () المستقيم

ربما تتساءل لماذا اخترت استخدام خاصية polygon() بدلاً من خاصية rect() مع مسار المقطع. في حين أن الاثنين متشابهان، يمكن لـ polygon() إنشاء أشكال متعددة الأضلاع أكثر تعقيدًا وتوفر تنوعًا أكبر للتصميمات المتقدمة من خلال قبول أزواج من الإحداثيات لتحديد كل قمة للمضلع، بينما يمكن لـ rect() التعامل مع الأشكال المستطيلة فقط.

قم بإعداد HTML وCSS

اعتمد الموقع الذي كنت أعمل عليه على منشئ الموقع الثابت Hugo، وهو إطار عمل قائم على Go. يستخدم Hugo القوالب لعرض HTML الخاص بالموقع، لذلك يجب أن يبدو رمز المثال أدناه مألوفًا لك نسبيًا إذا كنت تعرف HTML.

ملاحظة حول القوالب:

إذا سبق لك استخدام مكونات JSX، فإن Node.js مع Pug أو Handlebars، أو قوالب Jekyll - Hugo متشابهة: عناصر HTML مع متغيرات Go ووظائف متناثرة مع {{ }} لعرض المعلومات الصحيحة أينما كانت القوالب يتم حقنها.

إليك الكود الخاص بما أطلقت عليه اسم "قسم الألغاز" من الصفحة بسبب قطعة اللغز الموجودة في مقدمة هذا القسم. لأغراض وتوضيح هذه المقالة، قمت باستبدال متغيرات Go التي تم إدخالها في القالب بـ HTML الذي تم إنشاؤه.

single.html

  

Lorem ipsum dolor

Sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Ipsum dolor sit amet consectetur adipiscing elit pellentesque.

Duis aute irure dolor in reprehenderit

in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Consectetur adipiscing elit pellentesque habitant morbi tristique senectus et.

Puzzle pieces

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

من بين الفئات المخصصة مثل about-body، والتي استخدمتها لإضافة تصميم مخصص، هناك فئات مثل الحاوية، والصف، وcol-12 أو col-md-6، وmb-5، وmb-3.

جميع الفئات الأخيرة هي فئات Bootstrap، والتي تعمل على جعل عناصر النص والصورة التي تظهر على الشاشة تشارك عرض الصفحة عندما يكون إطار العرض أكبر من عرض معين (col-md-6)، أو تطبق هامشًا سفليًا بمقدار معين للعلامات

(mb-3 أو mb-5).

تعتبر فئات Bootstrap بجانب هذه المقالة، على الرغم من أن الفصل الذي يجب التركيز عليه هو قسم الألغاز الذي يغلف كل النص وصورة قطعة اللغز.

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

]

أضف مسار مقطع CSS لتشكيل قسم اللغز

نظرًا لأنني لم أكن متأكدًا تمامًا من كيفية تصميم

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

Lean on CSS Clip Path to Make Cool Shapes in the DOM without Images

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

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

في ملف SCSS الخاص بمشروعي، أضفت مسار المقطع CSS المنسوخ بالإضافة إلى خاصية لون الخلفية الرمادي الفاتح وبعض الحشو لإعطاء النص وصور قطع اللغز بعض المساحة للتنفس على الصفحة.

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

about.scss

.about-body {
  // this white sets the white background color for the whole webpage
  background-color: white; 

  .puzzle-section {
    // clip-path code copied from the clip-path maker website
    clip-path: polygon(0 0, 100% 0%, 100% 75%, 0% 100%);
    background-color: light-grey;
    padding: 2rem 0 10rem 0;
  }
}

كان هذا القليل من CSS لمسار المقطع هو كل ما يلزم لأخذ عنصر DOM المستطيل تمامًا وتحويله إلى مضلع غير كامل بدلاً من ذلك. ليس برث للغاية!


خاتمة

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

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

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

تحقق مرة أخرى بعد بضعة أسابيع - سأكتب المزيد عن JavaScript، أو React، أو IoT، أو أي شيء آخر متعلق بتطوير الويب.

إذا كنت ترغب في التأكد من عدم تفويت أي مقال أكتبه، فاشترك في النشرة الإخبارية الخاصة بي هنا: https://paigeniedringhaus.substack.com

شكرا للقراءة. آمل أن يساعدك تعلم إعادة تشكيل كيفية ظهور العناصر في DOM باستخدام قوة CSS بقدر ما ساعدني.


مزيد من المراجع والموارد

  • مستندات MDN، مسار مقطع CSS
  • موقع إنشاء مسار مقطع CSS
بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/paigen11/lean-on-css-clip-path-to-make-cool-shapes-in-the-dom-without-images-2d7c?1إذا كان هناك أي التعدي، يرجى الاتصال بـ [email protected] للحذف
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3