संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
कस्टम पाथ के आस-पास कॉन्टेंट रैप करना
Razvan Caliman
लंबे समय से, वेब डिज़ाइनर को रेक्टैंगल के दायरे में ही काम करना पड़ता था. वेब पर मौजूद ज़्यादातर कॉन्टेंट अब भी सामान्य बॉक्स में फंसा हुआ है, क्योंकि ज़्यादातर क्रिएटिव, रेक्टैंगल के अलावा किसी दूसरे लेआउट में काम नहीं करते. Chrome 37 की शुरुआत से उपलब्ध सीएसएस के आकार की शुरुआत के साथ ही इसमें बदलाव होने वाला है.
सीएसएस शेप की मदद से, वेब डिज़ाइनर सर्कल, दीर्घवृत्त, और पॉलीगॉन जैसे कस्टम पाथ के चारों ओर कॉन्टेंट को रैप कर सकते हैं. इससे, उन्हें रेक्टैंगल की सीमाओं से मुक्ति मिलती है.
आकार मैन्युअल तरीके से तय किए जा सकते हैं या इमेज से अनुमान लगाया जा सकता है.
आइए, एक बहुत ही आसान उदाहरण देखते हैं.
ऐसा हो सकता है कि जब पहली बार किसी इमेज को इस तरह से फ़्लोट किया गया हो कि वह साफ़ तौर पर दिख रहा हो, तो हो सकता है कि इस पर कॉन्टेंट दिख जाए और वह खाली हो जाए. इसलिए, आपको असल में एलिमेंट के आस-पास मौजूद आयताकार रैप के आकार से निराशा होगी. इस समस्या को हल करने के लिए, सीएसएस शेप का इस्तेमाल किया जा सकता है.
shape-outside: url(image.png) सीएसएस एलान में, ब्राउज़र को इमेज से आकार निकालने के लिए कहा जाता है.
shape-image-threshold प्रॉपर्टी, पिक्सल के कम से कम ओपैसिटी लेवल को तय करती है. इसका इस्तेमाल आकार बनाने के लिए किया जाएगा. इसकी वैल्यू, 0.0 (पूरी तरह से पारदर्शी) और 1.0 (पूरी तरह से अपारदर्शी) के बीच होनी चाहिए. इसलिए, shape-image-threshold: 0.5 का मतलब है कि आकार बनाने के लिए, सिर्फ़ 50% और उससे ज़्यादा ओपैसिटी वाले पिक्सल का इस्तेमाल किया जाएगा.
यहां float प्रॉपर्टी अहम है. shape-outside प्रॉपर्टी से उस हिस्से का आकार तय होता है जिसके आस-पास कॉन्टेंट रैप होगा. हालांकि, फ़्लोट के बिना आपको आकार के असर नहीं दिखेंगे.
एलिमेंट के float वैल्यू के दूसरी तरफ़ एक फ़्लोट एरिया होता है. उदाहरण के लिए, अगर कॉफ़ी कप की इमेज वाले किसी एलिमेंट को बाईं ओर फ़्लोट किया जा रहा है, तो फ़्लोट एरिया कप की दाईं ओर बन जाएगा. दोनों ओर गैप वाली इमेज बनाई जा सकती है. हालांकि, कॉन्टेंट सिर्फ़ उस तरफ़ मौजूद आकार के चारों ओर रैप होगा जिसे फ़्लोट प्रॉपर्टी से तय किया गया है. यह आकार, बाईं या दाईं ओर हो सकता है, दोनों ओर नहीं.
आने वाले समय में, उन एलिमेंट पर shape-outside का इस्तेमाल किया जा सकेगा जो सीएसएस एक्सक्लूज़न के साथ फ़्लोट नहीं किए गए हैं.
मैन्युअल तरीके से आकार बनाना
इमेज से आकार निकालने के अलावा, उन्हें मैन्युअल रूप से कोड भी किया जा सकता है. आकार बनाने के लिए, फ़ंक्शन वाली इन वैल्यू में से किसी एक को चुना जा सकता है: circle(), ellipse(), inset(), और polygon(). हर शेप फ़ंक्शन, निर्देशांक का एक सेट स्वीकार करता है. साथ ही, इसे रेफ़रंस बॉक्स के साथ जोड़ा जाता है, जो निर्देशांक सिस्टम को सेट करता है. रेफ़रंस बॉक्स के बारे में थोड़ी देर में ज़्यादा जानकारी दी जाएगी.
circle() फ़ंक्शन
सर्कल आकार की वैल्यू के लिए पूरा नोटेशन circle(r at cx cy) है, जहां r सर्कल की त्रिज्या है, जबकि cx और cy, X-ऐक्सिस और Y-ऐक्सिस पर सर्कल के केंद्र के निर्देशांक हैं. सर्कल के बीच के निर्देशांक देना ज़रूरी नहीं है. अगर इन पैरामीटर को शामिल नहीं किया जाता है, तो एलिमेंट के बीच (उसके डायगनल के इंटरसेक्शन) का इस्तेमाल डिफ़ॉल्ट तौर पर किया जाएगा.
ऊपर दिए गए उदाहरण में, कॉन्टेंट सर्कुलर पाथ के बाहरी हिस्से पर रैप होगा. सिंगल आर्ग्युमेंट 50%, सर्कल की त्रिज्या के बारे में बताता है. इस मामले में, यह एलिमेंट की चौड़ाई या ऊंचाई का आधा होता है. एलिमेंट के डाइमेंशन बदलने पर, सर्कल के आकार की त्रिज्या पर असर पड़ेगा. यह एक बुनियादी उदाहरण है कि सीएसएस शेप, रिस्पॉन्सिव कैसे हो सकते हैं.
आगे बढ़ने से पहले, एक ओर एक नज़र: यह ध्यान रखना ज़रूरी है कि सीएसएस के आकार, एलिमेंट के आस-पास के फ़्लोट एरिया के आकार पर सिर्फ़ असर डालते हैं. अगर एलिमेंट का कोई बैकग्राउंड है, तो उसे शेप से क्लिप नहीं किया जाएगा. इस इफ़ेक्ट को पाने के लिए, आपको सीएसएस मास्किंग से जुड़ी प्रॉपर्टी का इस्तेमाल करना होगा - या तो clip-path या मास्क-इमेज. clip-path प्रॉपर्टी का इस्तेमाल करना काफ़ी आसान है, क्योंकि यह CSS शेप के नोटेशन का इस्तेमाल करती है. इसलिए, इसकी वैल्यू का फिर से इस्तेमाल किया जा सकता है.
इस दस्तावेज़ में मौजूद इलस्ट्रेशन में, आकार को हाइलाइट करने और इफ़ेक्ट को समझने में आपकी मदद करने के लिए क्लिपिंग का इस्तेमाल किया गया है.
सर्कल आकार पर वापस जाएं.
सर्कल की त्रिज्या के लिए प्रतिशत का इस्तेमाल करने पर, वैल्यू का हिसाब थोड़े ज़्यादा मुश्किल फ़ॉर्मूला से लगाया जाता है: sqrt(width^2 + height^2) / sqrt(2). इसे समझना ज़रूरी है, क्योंकि इससे आपको यह अनुमान लगाने में मदद मिलेगी कि अगर एलिमेंट के डाइमेंशन बराबर नहीं हैं, तो सर्कल का आकार कैसा होगा.
सभी सीएसएस यूनिट टाइप का इस्तेमाल, शेप फ़ंक्शन कोऑर्डिनेट में किया जा सकता है - px, em, rem, vw, vh वगैरह. अपनी ज़रूरत के हिसाब से, ज़रूरत के हिसाब से विकल्प चुना जा सकता है.
सर्कल के केंद्र के निर्देशांक के लिए साफ़ तौर पर वैल्यू सेट करके, सर्कल की पोज़िशन में बदलाव किया जा सकता है.
.element{shape-outside:circle(50%at00);}
इससे सर्कल का सेंटर, निर्देशांक सिस्टम के ऑरिजिन पर सेट हो जाता है. कोऑर्डिनेट सिस्टम क्या है? यहां हम रेफ़रंस बॉक्स की सुविधा पेश कर रहे हैं.
सीएसएस शेप के लिए रेफ़रंस बॉक्स
रेफ़रंस बॉक्स, एलिमेंट के चारों ओर मौजूद एक वर्चुअल बॉक्स होता है. यह आकार को खींचने और उसकी पोज़िशन तय करने के लिए इस्तेमाल किए जाने वाले कोऑर्डिनेट सिस्टम को सेट करता है. निर्देशांक सिस्टम का शुरुआती बिंदु, सबसे ऊपर बाएं कोने में होता है. इसमें X-ऐक्सिस दाईं ओर होता है और Y-ऐक्सिस नीचे की ओर होता है.
याद रखें कि shape-outside उस फ़्लोट एरिया का आकार बदल देता है जिसके आस-पास कॉन्टेंट रैप हो जाएगा. फ़्लोट एरिया, margin प्रॉपर्टी से तय किए गए बॉक्स के बाहरी किनारों तक फैला होता है. इसे margin-box कहा जाता है. अगर किसी आकार के लिए साफ़ तौर पर कोई रेफ़रंस बॉक्स नहीं दिया गया है, तो यह डिफ़ॉल्ट रेफ़रंस बॉक्स होता है.
नीचे दिए गए दो सीएसएस एलान के नतीजे एक जैसे हैं:
.element{shape-outside:circle(50%at00);/* identical to: */shape-outside:circle(50%at00)margin-box;}
हमने अभी तक एलिमेंट पर मार्जिन सेट नहीं किया है. इस समय यह मानना सुरक्षित है कि निर्देशांक प्रणाली का मूल और वृत्त केंद्र तत्व के सामग्री क्षेत्र के ऊपरी बाएं कोने में है. मार्जिन सेट करने पर, यह बदल जाता है:
निर्देशांक सिस्टम का ऑरिजिन अब एलिमेंट के कॉन्टेंट एरिया (100 पिक्सल ऊपर और 100 पिक्सल बाईं ओर) के बाहर है. सर्कल का सेंटर भी इसी तरह बाहर है. margin-box रेफ़रंस बॉक्स की मदद से बनाए गए निर्देशांक सिस्टम की बढ़ी हुई सतह के हिसाब से, सर्कल रेडियस का परिकलित मान भी बढ़ता है.
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2014-09-16 (UTC) को अपडेट किया गया."],[],[]]