Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Web Design
  2. CSS
Webdesign

CSS के अपवाद (Exclusions): उबाऊ लेआउट को कम उबाऊ बनाना

by
Difficulty:IntermediateLength:ShortLanguages:

Hindi (हिंदी) translation by Ashish Rampal (you can also view the original English article)

इस टुटोरिअल में, हम CSS के Exclusions का पता लगाएंगे. पहली झलक में, CSS Exclusions CSS Shapes की तरह ही लग सकता है क्योंकि यह भी कंटेंट को एलिमेंट के चारो ओर लपेट लेता है. तकनीकी रूप से फिर भी इसका उद्देश्य एकदम अलग है.

CSS का shapes module एक एलिमेंट के सही अकार को परिभाषित करता हैं, परन्तु कंटेंट इन आकारों के चारो और नहीं लिपटेंगे (wrap) जब तक की एलिमेंट floated न हो. दूसरी तरफ, CSS का Exclusions module, ख़ास तौर पर इसके लिए डिज़ाइन किया गया है; inline कंटेंट को एलिमेंट के चारो ओर लपेटने को स्वीकार करना वो भी बिना floating के, चाहे एलिमेंट किसी भी position में हो - absolute, relative, या fixed.

Properties

CSS का Exclusions Module कुछ नयी प्रॉपर्टीज और वैल्यूज को परिचित कराता है, अर्थात:

  • wrap-flow: exclusion एरिया को सेट करना, साथ ही साथ कंटेंट कैसे इसके चारो ओर लिपटता है.
  • wrap-margin: यह मार्जिन या offset को exclusion एरिया के आसपास सेट करने के लिए काफी आत्म व्याख्यात्मक (self-explanatory) है.

Browser का support

यह जानना बेहद आवश्यक है की CSS Exclusions अभी सिर्फ इंटरनेट एक्स्प्लोरर 10 या उससे ऊपर और Edge, में कार्य करता है, यह एक बार फिर से दिखाता है की माइक्रोसॉफ्ट वेब ब्राउज़र की सीमा को कैसे बड़ा रहा है (हम उनका CSS Grid के उत्थान (development) के लिए भी धन्यवाद देतें हैं). फ़िलहाल के लिए, हमें इस नयी प्रॉपर्टी का प्रयोग करने के लिए -ms- प्रीफिक्स करना पड़ेगा.

can i use css exclusions
और लाल रंग का समुन्द्र दाएं हाथ (right) को जारी है..

CSS Exclusions के कार्य को बेहतर ढंग से समझने के लिए, हमने एक आसान सा शुरूआती पेज बनाया जिसमे कुछ लाइन्स के कंटेंट और अंत में एक avatar image शामिल हैं.

CSS Exclusions के बिना लेआउट

यह वेब में काफी सामान्य पैटर्न है, तो आईये हम देखते हैं की यदि हम इसे CSS Exclusions का प्रयोग करके कुछ पोलिश कर पाएं. मान लें की आपका ब्राउज़र इसे सपोर्ट नहीं करता, हम इस परिणाम के लिए यह सोच रहे हैं:

CSS Exclusions का प्रयोग करना

सबसे पहले, आईये हम कंटेंट को दो कॉलम में व्यवस्थित कर दें और avatar image की स्थिति बीच में कर दें. इससे फर्क नहीं पड़ता की आप ने लेआउट को कैसे व्यवस्थित किया है, आप CSS Flexbox, CSS Grid, या "परंपरागत" float प्रॉपर्टी का प्रयोग कर सकते हैं.

बहुत सुन्दर, कॉलम पर आधारित टेक्स्ट (डेमो के लिए अनिवार्य नहीं)

हम ऊपर की इमेज में देख सकते हैं की डॉक्यूमेंट के फ्लो में से avatar image हटा दी गयी है और यह कंटेंट के ऊपर उसे ढकते हुए रख दी गयी है. CSS Exclusions का प्रयोग करने पर हम कंटेंट को avatar image के चारो तरफ फ्लो कर सकते हैं.

यह करने के लिए, हम avatar की wrap-flow प्रॉपर्टी को सेट करते हैं और उसकी वैल्यू both कर देते हैं.

wrap-flow प्रॉपर्टी .avatar को एक "exclusion area" बना देती है; एक ऐसा जगह जहाँ कोई कंटेंट उसके आर पार नहीं हो सकता. जैसा की आप नीचे देख सकते हैं, कंटेंट अब avatar image के दाएं और बाएं फ्लो कर रहा है.

संभव मान

start, end, maximum, minimum, और clear कुछ और स्वीकार्य वैल्यूज हैं.

पहला मान, start, कंटेंट को exclusion एरिया के शुरू के चारो ओर wrap कर देगा, पर अंत का हिस्सा खाली छोड़ देगा.

हमारे पेज पर दिए गए कंटेंट से, परिणाम कुछ इस तरह दिखेगा.

कंटेंट इमेज के बांयें ओर (left) फ्लो करता है.

end वैल्यू, जैसा की इसका नाम बताता है, इसका उल्टा काम करता है; यह कंटेंट को exclusion एरिया के अंत में चारो ओर से लपेट लेगा.

 यह हमें नीचे दिया गया परिणाम देता है:

दांईं (right) ओर से लपेटना (wrap)

ध्यान दें: exclusion एरिया की शुरुआत और अंत कंटेंट के लिखने की दिशा निर्धारित करती है. जहाँ स्क्रिप्ट दांयें से बांयें (right to left) ओर लिखी जाती है, जैसे की हम अक्सर Arabic और Hebrew के साथ देखते हैं, कंटेंट दायीं (right) ओर से लपेटना शुरू करता है और exclusion area के बांयीं (left) ओर अंत करता है.

जापानी भाषा के साथ, जब ऊपर से नीचे की ओर लिखा जाता है, तो कंटेंट ऊपर की ओर से लिपटना शुरू होता है और नीचे की ओर अंत होता है.

अलग अलग लिखने की दिशा में कंटेंट का फ्लो. (W3C) द्वारा इमेज

तीसरी स्वीकार्य वैल्यू maximum है.

यह कंटेंट को जहाँ कहीं भी इसे exclusion area में कंटेनर एरिया के अंदर व्यापक जगह मिलेगी उसके चारो ओर लपेट देगा 

minimum वैल्यू इसके उल्टा काम करती है.

यहाँ, कंटेंट exclusion area के आस पास मौजूद सबसे संक्रिण  जगह (narrowest space) में से फ्लो करेगा.

अंतिम वैल्यू है clear.

यह clear के काफी सामान है जैसा की आप पहले से ही float में इसे जानते हैं, उसमे यह exclusion area को दायीं (right) और बायीं (left) ओर से क्लियर (clear) कर देगा. यह इसलिए कंटेंट को exclusion area के ऊपर या नीचे से ही जाने देगा.

Exclusions के मार्जिन

CSS के आकारों के समान ही CSS Exclusions Module भी exclusion area के मार्जिन को परिभाषित (define) करने वाली एक प्रॉपर्टी के साथ आता है, जिसका नाम है wrap-margin. margin प्रॉपर्टी के उलट, wrap-margin की वैल्यू (value) सकारात्मक (positive) ही होनी चाहिए.

इसके अलावा, wrap-margin प्रॉपर्टी हर दिशा (right, left, top, and bottom) के मार्जिन को एक एक करके सेट करने की हमें अनुमति नहीं देती. चाहे इस फीचर का परिचय भविष्य में करवाया जाए यह अब भी देखने वाली बात है.

एक बार सेट होने के बाद, हमें exclusion area के आस पास और अधिक सफ़ेद हिस्सा नज़र आएगा.

@supports

मान लीजिये हमने अपने avtar को कंटेंट के ऊपर positioned कर दिया, CSS Excludes के सपोर्ट के बिना हमे एक अव्यवस्थित लेआउट मिलेगा. इसलिए, फालबैक के बारे में सोचना एक बुद्धिमानी का निर्णय है, और @support रूल के भीतर उचित स्टाइल से wrap करें, कुछ इस तरह:

अब हमारे CSS Exclusion styles सिर्फ तभी लागू होंगे यदि इन्हे ब्राउज़र सपोर्ट करेगा.

समेटते हुए

CSS Shapes और दूसरे bleeding किनारो के वर्णन के साथ साथ CSS Exclusions हमे वेबसाइट के लेआउट को जितना हम करना चाहते थे उससे काफी अधिक एक्स्प्लोर करने की अनुमति देगा. उम्मीद है की हम ब्राउज़र के सपोर्ट में तेजी से प्रगति देखेंगे, और माइक्रोसॉफ्ट Edge की टीम सीमाओं (boundries) को और धकेलेगी (push)!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.