صور متجاوبة: حيل CSS التي توفر الوقت

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



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

النهج رقم 1: صورة الخلفية


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

.myImg {  background-image: url("my-image.png");  background-size: cover; } 

تبدو مألوفة؟ كلنا فعلنا هذا مرة واحدة. هل هذا يوحي لك بالاحتيال؟

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

الطريقة رقم 2: ملائمة الكائن


ماذا لو قلت أن خاصية object-fit تنطبق على عناصر <img> ؟ بالمناسبة ، إنه يعمل أيضًا مع الفيديو.

 .myImg { object-fit: cover; width: 320px; height: 180px; } 

هذا كل شيء. لاحظ أنه يمكن تعيين خاصية object-fit على contain .

supportدعم المشروع


لسوء الحظ ، لن يعمل object-fit في IE وفي الإصدارات الأقدم من Safari ، ومع ذلك ، في مثل هذه الحالات هناك ملف متعدد .

إليك معلومات الدعم المأخوذة من هنا .


دعم متصفحات سطح المكتب الملائمة للكائنات

هنا مثال باستخدام كائن مناسب

الطريقة رقم 3: الطريقة التي يستخدمها Netflix


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

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

 .wrapper { position: relative; padding-top: 56.25%; /* 16:9 Aspect Ratio */ } img { position: absolute; left: 0; top: 0; width: 100%; height: auto; } 

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


الق نظرة على أسماء الصفوف

هنا مثال على تنفيذ هذه التقنية

النهج رقم 4: الارتفاع


هنا ، للتحكم في حجم الصورة ، استخدم height: auto خاصية height: auto ، بالإضافة إلى خاصية max-width . من الممكن أنك تعرف هذه التقنية بالفعل:

 img { height: auto; width: 100%; /*  max-width,     */ max-width: 720px; } 

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

هنا مثال

النهج رقم 5: إدارة الصورة والأداء


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

هل تعلم أنه في المتصفحات الحديثة يمكنك تغيير مصدر الصورة اعتمادًا على عرض الصفحة؟ هذا هو السبب في srcset سمة srcset .

يمكن استخدام سمات مشابهة في علامة HTML 5 . , , <img> . , , <img> :

 <picture> <source media="(max-width: 799px)" srcset="elva-480w.jpg"> <source media="(min-width: 800px)" srcset="elva-800w.jpg"> <img align="center" src="elva-800w.jpg"> </picture> 

هنا مثال

الملخص


لتلخيص:

  • إذا لم تكن صورتك جزءًا من محتوى الصفحة ، فاستخدم background-image .
  • إذا كان دعم IE لا يثير اهتمامك ، فاستخدم object-fit .
  • تعمل تقنية الحاويات القائمة على Netflix مع padding المخصص في كل مكان.
  • في معظم الحالات ، لحل المشكلة مع الصور ، يكفي استخدام height: auto property في CSS؛
  • إذا كنت ترغب في تقليل وقت تحميل الصفحة ، srcset سمة srcset لتنزيل صور أصغر على الأجهزة المحمولة.

نأمل أن تكون أساليب التعامل مع الصور التي تمت مناقشتها هنا مفيدة لك.

Source: https://habr.com/ru/post/ar420619/


All Articles