`object-fit` और `object-position` प्रॉपर्टीज़

`object-fit` और `object-position` प्रॉपर्टीज़

यह लेख object-fit और object-position प्रॉपर्टीज़ को समझाता है।

आप सीख सकते हैं कि चित्रों और वीडियो जैसे ऑब्जेक्ट्स को कैसे व्यवस्थित करें और CSS में उन्हें कैसे लिखें।

YouTube Video

प्रीव्यू के लिए HTML

css-object-fit-position.html
  1<!DOCTYPE html>
  2<html lang="en">
  3<head>
  4    <meta charset="UTF-8">
  5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6    <title>CSS Properties Example</title>
  7    <link rel="stylesheet" href="css-base.css">
  8    <link rel="stylesheet" href="css-object-fit-position.css">
  9</head>
 10<body>
 11    <!-- Header -->
 12    <header>
 13        <h1>CSS Properties For Object</h1>
 14    </header>
 15
 16    <!-- Main content -->
 17    <main>
 18        <header>
 19            <h2>Object Fit And Object Position Properties</h2>
 20        </header>
 21        <article>
 22            <h3>object-fit</h3>
 23            <section style="width: 100%; height: 300px;">
 24                <header><h4>object-fit: fill</h4></header>
 25                <section class="sample-view" style="width: 100px; height: 100px;">
 26                    <img class="object-fit-fill" src="example.jpg" alt="Example Image">
 27                </section>
 28                <header><h4>object-fit: contain</h4></header>
 29                <section class="sample-view" style="width: 100px; height: 100px;">
 30                    <img class="object-fit-contain" src="example.jpg" alt="Example Image">
 31                </section>
 32                <header><h4>object-fit: cover</h4></header>
 33                <section class="sample-view" style="width: 100px; height: 100px;">
 34                    <img class="object-fit-cover" src="example.jpg" alt="Example Image">
 35                </section>
 36                <header><h4>object-fit: none</h4></header>
 37                <section class="sample-view" style="width: 100px; height: 100px;">
 38                    <img class="object-fit-none" src="example.jpg" alt="Example Image">
 39                </section>
 40                <header><h4>object-fit: scale-down</h4></header>
 41                <section class="sample-view" style="width: 100px; height: 100px;">
 42                    <img class="object-fit-scale-down" src="example.jpg" alt="Example Image">
 43                </section>
 44            </section>
 45        </article>
 46        <article>
 47            <h3>object-fit : cover</h3>
 48            <section>
 49                <header><h4>CSS</h4></header>
 50<pre class="sample">
 51.background-image-cover img {
 52    width: 100%;
 53    height: 100%;
 54    object-fit: cover;
 55}
 56</pre>
 57                <header><h4>HTML</h4></header>
 58<pre>
 59&lt;div class=&quot;background-image-cover&quot;&gt;
 60    &lt;img src=&quot;example.jpg&quot; alt=&quot;Example Image&quot;&gt;
 61&lt;/div&gt;
 62</pre>
 63                <header><h4>HTML+CSS</h4></header>
 64                <section class="sample-view">
 65                    <div class="image-container-cover">
 66                        <img src="example.jpg" alt="Example Image">
 67                    </div>
 68                </section>
 69            </section>
 70        </article>
 71        <article>
 72            <h3>object-fit : contain</h3>
 73            <section>
 74                <header><h4>CSS</h4></header>
 75<pre class="sample">
 76.background-image-contain img {
 77    width: 100%;
 78    height: 100%;
 79    object-fit: contain;
 80}
 81</pre>
 82                <header><h4>HTML</h4></header>
 83<pre>
 84&lt;div class=&quot;background-image-contain&quot;&gt;
 85    &lt;img src=&quot;example.jpg&quot; alt=&quot;Example Image&quot;&gt;
 86&lt;/div&gt;
 87</pre>
 88                <header><h4>HTML+CSS</h4></header>
 89                <section class="sample-view">
 90                    <div class="image-container-contain">
 91                        <img src="example.jpg" alt="Example Image">
 92                    </div>
 93                </section>
 94            </section>
 95        </article>
 96        <article>
 97            <h3>object-fit Common Mistake Example</h3>
 98            <section>
 99                <header><h4>CSS</h4></header>
100<pre class="sample">
101.image-container-invalid {
102    width: 100%;
103    height: auto;
104    /* height: 500px; The height of the parent element is not specified */
105}
106
107.image-container-invalid img {
108    object-fit: cover;
109}
110</pre>
111                <header><h4>HTML</h4></header>
112<pre>
113&lt;div class=&quot;background-image-invalid&quot;&gt;
114    &lt;img src=&quot;example.jpg&quot; alt=&quot;Example Image&quot;&gt;
115&lt;/div&gt;
116</pre>
117                <header><h4>HTML+CSS</h4></header>
118                <section class="sample-view">
119                    <div class="image-container-invalid">
120                        <img src="example.jpg" alt="Example Image">
121                    </div>
122                </section>
123            </section>
124        </article>
125        <article>
126            <h3>object-position</h3>
127            <section style="width: 100%; height: 200px;">
128                <header><h4>object-fit: cover; object-position: center;</h4></header>
129                <section class="sample-view" style="width: 100px; height: 100px;">
130                    <img class="object-position-center" src="example.jpg" alt="Example Image">
131                </section>
132                <header><h4>object-position: 50% 50%</h4></header>
133                <section class="sample-view" style="width: 100px; height: 100px;">
134                    <img class="object-position-50-50" src="example.jpg" alt="Example Image">
135                </section>
136                <header><h4>object-position: left top</h4></header>
137                <section class="sample-view" style="width: 100px; height: 100px;">
138                    <img class="object-position-left-top" src="example.jpg" alt="Example Image">
139                </section>
140                <header><h4>object-position: right 50%</h4></header>
141                <section class="sample-view" style="width: 100px; height: 100px;">
142                    <img class="object-position-right-50" src="example.jpg" alt="Example Image">
143                </section>
144                <header><h4>object-fit: cover; object-position: bottom right;</h4></header>
145                <section class="sample-view" style="width: 100px; height: 100px;">
146                    <img class="object-position-bottom-right" src="example.jpg" alt="Example Image">
147                </section>
148                <header><h4>object-fit: contain; object-position: top;</h4></header>
149                <section class="sample-view" style="width: 100px; height: 100px;">
150                    <img class="object-position-top" src="example.jpg" alt="Example Image">
151                </section>
152                <header><h4>object-fit: cover; object-position: 25% 75%;</h4></header>
153                <section class="sample-view" style="width: 100px; height: 100px;">
154                    <img class="object-position-25-75" src="example.jpg" alt="Example Image">
155                </section>
156                <header><h4>object-fit: cover; object-position: center top;</h4></header>
157                <section class="sample-view" style="width: 100px; height: 100px;">
158                    <img class="object-position-center-top" src="example.jpg" alt="Example Image">
159                </section>
160            </section>
161        </article>
162    </main>
163</body>
164</html>

ऑब्जेक्ट फिटिंग संबंधित

object-fit प्रॉपर्टी

CSS की object-fit प्रॉपर्टी मुख्य रूप से यह नियंत्रित करने के लिए उपयोग की जाती है कि चित्र, वीडियो, और अन्य सामग्री उनके कंटेनर एलिमेंट्स में कैसे फिट हो। इस प्रॉपर्टी का उपयोग करके आप लचीलापन के साथ निर्दिष्ट एलिमेंट्स का आकार बदलने और उन्हें सुरुचिपूर्ण ढंग से व्यवस्थित करने की विधि निर्दिष्ट कर सकते हैं। यह छवि या वीडियो को ट्रिम या स्केल करके उनकी डिस्प्ले को समायोजित करने के लिए बहुत उपयोगी है, जब वे पैरेंट एलिमेंट के भीतर फिट न हों।

object-fit की मान

fill (डिफ़ॉल्ट मान)
1img {
2  object-fit: fill;
3}

fill डिफ़ॉल्ट मान है, जहां छवि या वीडियो को पैरेंट एलिमेंट की चौड़ाई और ऊंचाई को पूरी तरह से भरने के लिए मजबूर किया जाता है। इस स्थिति में, मूल अस्पेक्ट रेशियो को अनदेखा किया जाता है, जिससे छवि विकृत हो सकती है।

  • यह पैरेंट एलिमेंट के आकार में पूरी तरह फिट होता है।
  • क्योंकि अस्पेक्ट रेशियो को अनदेखा किया जाता है, छवियां या वीडियो लंबवत या क्षैतिज रूप से खिंच सकते हैं।
contain
1img {
2  object-fit: contain;
3}

contain प्रॉपर्टी सामग्री का आकार इस प्रकार बदलता है कि वह पैरेंट एलिमेंट के अंदर पूरी तरह फिट हो जाए और साथ ही अस्पेक्ट रेशियो को भी बनाए रखे। यह पैरेंट एलिमेंट के आकार को पार नहीं करता है, और ऊर्ध्वाधर या क्षैतिज दिशा में पैडिंग हो सकती है।

  • पूरी सामग्री प्रदर्शित होती है।
  • मूल अस्पेक्ट रेशियो बनाए रखने के लिए, पैडिंग (लेटरबॉक्स या पिलरबॉक्स प्रभाव) दिख सकती है।
cover
1img {
2  object-fit: cover;
3}

cover सामग्री का आकार बदलता है ताकि वह पैरेंट एलिमेंट को पूरी तरह कवर करे और साथ ही अस्पेक्ट रेशियो बनाए रखे। कुछ सामग्री को पैरेंट एलिमेंट में फिट करने के लिए ट्रिम किया जा सकता है, लेकिन पूरा एलिमेंट कंटेनर को भर देता है, जिससे कोई खाली जगह नहीं रहती।

  • सामग्री पूरी तरह पैरेंट एलिमेंट को कवर करती है।
  • यह अपनी मूल आस्पेक्ट अनुपात को बनाए रखते हुए काटा जा सकता है।
  • आमतौर पर पृष्ठभूमि छवियों या हीरो सेक्शन छवियों के लिए उपयोग किया जाता है।
none
1img {
2  object-fit: none;
3}

none छवियों या वीडियो को उनकी मूल आकार और आस्पेक्ट अनुपात में प्रदर्शित करता है। यह पैरेंट एलिमेंट के आकार के अनुसार समायोजित नहीं होता, और आवश्यक होने पर सामग्री ओवरफ़्लो करती है।

  • सामग्री का मूल आकार बनाए रखा जाता है।
  • सामग्री को पैरेंट एलिमेंट में फिट करने के लिए कोई आकार परिवर्तन नहीं किया जाता है।
scale-down
1img {
2  object-fit: scale-down;
3}

scale-down एक मान है जो none और contain के व्यवहार को जोड़ता है। यदि सामग्री पैरेंट एलिमेंट में फिट होती है, तो यह none की तरह व्यवहार करता है, लेकिन यदि सामग्री बहुत बड़ी है तो यह contain का व्यवहार लागू करता है और फिट होने के लिए छोटा किया जाता है।

  • यदि सामग्री पैरेंट एलिमेंट से बड़ी होती है, तो उसे छोटा किया जाता है।
  • यदि यह छोटी है, तो इसे अपने मूल आकार में प्रदर्शित किया जाता है।

उदाहरण उपयोग

पृष्ठभूमि छवियों को पैरेंट एलिमेंट में फिट करना

उदाहरण के लिए, उत्तरदायी डिज़ाइन को ध्यान में रखते हुए छवि को संपूर्ण स्क्रीन पर फैलाने के लिए, आमतौर पर cover का उपयोग किया जाता है। निम्नलिखित कोड एक उदाहरण है जो छवि को पैरेंट एलिमेंट में कसकर फिट करता है, भले ही वह काटी गई हो।

 1<div class="background-image">
 2  <img src="example.jpg" alt="Example Image">
 3</div>
 4
 5<style>
 6.background-image img {
 7  width: 100%;
 8  height: 100%;
 9  object-fit: cover;
10}
11</style>

इस मामले में, छवि पूरी तरह से पैरेंट एलिमेंट को कवर करती है, जो किसी भी स्क्रीन आकार पर एक सुंदर लेआउट बनाए रखती है। यदि आस्पेक्ट अनुपात अलग है, तो छवि के कुछ हिस्से दिखाई नहीं दे सकते, लेकिन यह डिजाइन के अनुरूप प्रस्तुति प्राप्त करता है।

आस्पेक्ट अनुपात बनाए रखते हुए छवियों को प्रदर्शित करना

इसके बाद, यदि आप उसकी आस्पेक्ट अनुपात को बनाए रखते हुए पूरी छवि को पैरेंट एलिमेंट में फिट करना चाहते हैं, तो contain उपयुक्त है।

 1<div class="image-container">
 2  <img src="example.jpg" alt="Example Image">
 3</div>
 4
 5<style>
 6.image-container img {
 7  width: 100%;
 8  height: 100%;
 9  object-fit: contain;
10}
11</style>

इस उदाहरण में, छवि को कंटेनर में फिट करने के लिए छोटा किया गया है, जिससे कुछ पैडिंग होती है, लेकिन मूल छवि विकृत किए बिना प्रदर्शित होती है।

सामान्य गलतियाँ

object-fit का उपयोग करते समय सामान्य गलती पैरेंट एलिमेंट का आकार निर्धारित नहीं करना है। object-fit सामग्री को पैरेंट एलिमेंट में फिट करने का एक गुण है, इसलिए यदि पैरेंट एलिमेंट का आकार स्पष्ट नहीं है, तो अपेक्षित प्रभाव प्राप्त नहीं किया जा सकता। सुनिश्चित करें कि पैरेंट एलिमेंट का चौड़ाई या ऊंचाई सही तरीके से सेट है।

उदाहरण के लिए, निम्नलिखित कोड में, पैरेंट एलिमेंट की ऊंचाई निर्दिष्ट नहीं है, इसलिए object-fit इच्छानुसार कार्य नहीं करता।

 1<div class="image-container">
 2  <img src="example.jpg" alt="Example Image">
 3</div>
 4
 5<style>
 6.image-container {
 7  width: 100%;
 8  /* height: 500px; the parent element's height is not specified */
 9}
10
11.image-container img {
12  object-fit: cover;
13}
14</style>

इस मामले में, आपको पैरेंट एलिमेंट की ऊंचाई निर्दिष्ट करनी होगी या फ्लेक्सबॉक्स या ग्रिड लेआउट का उपयोग करके पूरे लेआउट को समायोजित करना होगा।

object-fit का उपयोग करने वाले हालात

object-fit महत्वपूर्ण है, खासकर उत्तरदायी डिजाइन और विभिन्न स्क्रीन आकारों का समर्थन करने वाली वेबसाइटों में। उदाहरण के लिए, यह निम्न स्थितियों में उपयोगी है:।

  • जब आप छवियों या वीडियो को विभिन्न उपकरणों पर सही तरीके से प्रदर्शित करने के लिए समायोजित करना चाहते हैं।
  • जब आप पृष्ठभूमि वाली छवियों या इसी तरह की छवियों को पूर्ण स्क्रीन में प्रदर्शित करना चाहते हैं और कटाई की अनुमति देना चाहते हैं।
  • जब आप किसी छवि को उसके अनुपात को बनाए रखते हुए उसके पैरेंट एलिमेंट में फिट करना चाहते हैं।
  • जब आप गैलरी जैसी जगहों पर छवियों के आकार को स्थिर रूप से प्रदर्शित करना चाहते हैं।

इन स्थितियों में object-fit का उपयोग डिज़ाइन में निरंतरता बनाए रख सकता है और उपयोगकर्ता अनुभव को बेहतर बना सकता है।

सारांश

object-fit एक शक्तिशाली CSS प्रॉपर्टी है जो आपको यह लचीलापन देती है कि वेबपेज पर छवियां और वीडियो उनके पैरेंट एलिमेंट की तुलना में कैसे प्रदर्शित किए जाते हैं। fill, contain, cover, none और scale-down जैसी भिन्न मानों का उपयोग करके, आप विभिन्न डिज़ाइन आवश्यकताओं को पूरा कर सकते हैं। इसे सही ढंग से उपयोग करना और उचित रूप से लागू करना समझकर, आप नेत्रहीन रूप से आकर्षक लेआउट बना सकते हैं।

उत्तरदायी और सौंदर्यपूर्ण डिज़ाइन बनाने के लिए object-fit के उपयोग में कुशल बनें।

object-position प्रॉपर्टी

CSS की object-position प्रॉपर्टी का उपयोग छवियां और वीडियो जैसी सामग्री को किसी तत्व के भीतर स्थिति नियंत्रित करने के लिए किया जाता है। object-position का उपयोग करके, आप सामग्री को विशेष बिंदुओं पर रख सकते हैं और लेआउट के अनुरूप दृश्य प्रभाव प्रदान कर सकते हैं।

object-position का अवलोकन

object-position का मुख्य रूप से मीडिया तत्वों जैसे <img> टैग और <video> टैग पर उपयोग किया जाता है। यह प्रॉपर्टी नियंत्रित करती है कि मीडिया उसके कंटेनर में कहाँ प्रदर्शित हो। object-fit को अक्सर object-position के साथ इस्तेमाल किया जाता है, जहां object-fit यह निर्धारित करता है कि छवि या वीडियो फ्रेम आकार में कैसे फिट होगा, और object-position सामग्री के प्रदर्शन की स्थिति को समायोजित करता है।

1img {
2    object-fit: cover;
3    object-position: center;
4}
  • इस उदाहरण में, छवि को कंटेनर में फिट होने के लिए स्केल किया गया है (object-fit: cover), और इसे इस प्रकार स्थित किया गया है कि इसका केंद्र प्रदर्शित हो (object-position: center)।

मान निर्दिष्ट करने का तरीका

object-position को दो मानों के साथ निम्नलिखित रूप से निर्दिष्ट किया जाता है।

  • क्षैतिज स्थिति (X-अक्ष)
  • ऊर्ध्वाधर स्थिति (Y-अक्ष)
मान विशिष्टता प्रारूप

object-position में, आप निम्न प्रारूप में मूल्य निर्दिष्ट कर सकते हैं।

  • कीवर्ड: शीर्ष, दायाँ, नीचे, बायाँ, केन्द्र
  • प्रतिशत: 0% से 100%
  • लंबाई इकाइयाँ: px, em, rem, आदि।

उदाहरण के लिए, आप इसे इस प्रकार उपयोग कर सकते हैं।

1img {
2    object-position: 50% 50%; /* Center the image */
3}
4
5video {
6    object-position: left top; /* Align to the top left */
7}
कीवर्ड और प्रतिशत का संयोजन

कीवर्ड और प्रतिशत का मिश्रण भी संभव है।

1img {
2    object-position: right 50%;
3}
  • इस उदाहरण में, छवि को दाईं किनारे पर रखा गया है और इसे 50% पर ऊर्ध्वाधर रूप से केंद्रित किया गया है। यह संयोजन तब बहुत उपयोगी होता है जब लचीली स्थिति की आवश्यकता होती है।

object-fit के साथ संयोजन

object-position का अक्सर object-fit के साथ उपयोग किया जाता है। object-fit यह निर्धारित करता है कि किसी छवि या वीडियो को उसके फ्रेम के सापेक्ष कैसे पुन: आकार दिया जाता है। उदाहरण के लिए, object-fit: cover का उपयोग छवि को फ्रेम में फिट करने के लिए काटता है और इसे निर्दिष्ट object-position के अनुसार स्थिति देता है।

1img {
2    object-fit: cover;
3    object-position: bottom right;
4}
  • इस उदाहरण में, छवि पूरे कंटेनर में फैली हुई है, और सामग्री के निचले दायें भाग को प्रदर्शित करती है।
object-fit मानों के साथ संयुक्त उदाहरण
  • fill: छवि विकृत हो सकती है, लेकिन यह पूरे कंटेनर को फिट करती है।
  • contain: संपूर्ण छवि को उसके अनुपात बनाए रखते हुए प्रदर्शित किया जाता है।
  • cover: कंटेनर में फिट करने के लिए काटा गया, अनुपात बनाए रखते हुए।
  • none: छवि को उसके मूल आकार में प्रदर्शित किया जाता है।
1img {
2    object-fit: contain;
3    object-position: top;
4}

इस सेटिंग में, छवि को कंटेनर के शीर्ष पर रखा गया है, और पूरी छवि प्रदर्शित होती है।

उन्नत उपयोग

object-position को विभिन्न परिदृश्यों में लागू किया जा सकता है, न केवल सरल स्थिति समायोजन के लिए बल्कि दृश्य प्रभावों को बढ़ाने के लिए भी।

छवि के एक भाग पर जोर देना

यह तब उपयोगी होता है जब आप पूरी छवि प्रदर्शित करने के बजाय छवि के एक विशेष हिस्से पर ध्यान केंद्रित करना चाहते हैं। object-fit को cover पर सेट करें और object-position का उपयोग करके एक विशेष क्षेत्र पर ध्यान केंद्रित करें।

1img {
2    object-fit: cover;
3    object-position: 25% 75%;
4}
  • इस उदाहरण में, छवि के निचले बाएँ भाग को प्रदर्शित किया गया है, जिसमें महत्वपूर्ण भागों पर जोर दिया गया है।
जब एक वीडियो को पृष्ठभूमि के रूप में उपयोग किया जाता है

object-position एक वीडियो को पृष्ठभूमि के रूप में उपयोग करते समय भी उपयोगी साबित होता है। आप समग्र पृष्ठ डिज़ाइन के अनुरूपता को बनाए रखने के लिए वीडियो को एक विशिष्ट स्थान पर रख सकते हैं।

1video {
2    object-fit: cover;
3    object-position: center top;
4}
  • इस सेटिंग में, वीडियो पूरे पृष्ठ पर फिट होता है और शीर्ष केंद्र पर स्थित होता है।

सामान्य समस्याएँ और उनके समाधान

object-position का उपयोग करते समय कुछ समस्याएँ हो सकती हैं। यहाँ, हम सामान्य समस्याओं और उनके समाधानों को पेश करते हैं।

छवि का एक हिस्सा कट जाता है

object-fit: cover का उपयोग करते समय, छवि को कंटेनर में फिट करने के लिए क्रॉप किया जा सकता है। इस मामले में, object-position के साथ डिस्प्ले स्थिति को समायोजित करके, आप सुनिश्चित कर सकते हैं कि महत्वपूर्ण भाग दिखाई दें।

1img {
2    object-fit: cover;
3    object-position: center;
4}
छवि की स्थिति अपेक्षित नहीं है

प्रतिशत स्पेसिफिकेशन हमेशा सहज ज्ञानयुक्त नहीं हो सकते। कंटेनर के आकार और अनुपात को ध्यान में रखना और विभिन्न मानों के साथ प्रयोग करना आवश्यक है। डेवलपर टूल्स का उपयोग करके रीयल-टाइम में समायोजन प्रभावी होता है।

सारांश

object-position मीडिया तत्वों को स्वतंत्र रूप से पोजिशन करने के लिए एक शक्तिशाली उपकरण है। इसे object-fit के साथ संयोजित करके, डिज़ाइन के अनुकूल लचीले लेआउट प्राप्त किए जा सकते हैं। विभिन्न स्थितियों में दृश्य प्रभाव को अधिकतम करने के लिए कीवर्ड, प्रतिशत, और लंबाई इकाइयों में महारत हासिल करें।

आप हमारे YouTube चैनल पर Visual Studio Code का उपयोग करके ऊपर दिए गए लेख के साथ आगे बढ़ सकते हैं। कृपया YouTube चैनल को भी देखें।

YouTube Video