Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> CSS

CSS क्लियरफिक्स हैक: फ्लोट एलिमेंट्स की समस्या का समाधान

CSS फ्लेक्सबॉक्स और CSS ग्रिड के युग में, हम अक्सर CSS क्लियरफिक्स पर विचार नहीं करते। फ्लेक्सबॉक्स और ग्रिड, फ्लोट्स का उपयोग करने की तुलना में एलिमेंट्स की पोजिशनिंग को थोड़ा बेहतर (और आसान!) तरीके से हल करते हैं।

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

इस लेख में, हम क्लियरफिक्स हैक का पता लगाएंगे और display: flow-root पर चर्चा करेंगे जो क्लियरफिक्स समाधान का एक नया प्रतिस्थापन है।

फ्लोट क्या है?

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

जब फ्लोट किए गए चाइल्ड एलिमेंट्स पैरेंट कंटेनर से लंबे होते हैं, तो ओवरफ्लो होता है जो फ्लॉट को क्लियर नहीं करता और क्षैतिज मार्जिन कोलैप्स हो जाते हैं। यही कारण है कि कंटेनर छोटा दिखाई देता है, फ्लोट्स जहां रखे जाते हैं, और पैराग्राफ एलिमेंट फ्लोट एलिमेंट्स के साथ-साथ दिखाई देता है।

समाधान: क्लियरफिक्स हैक

पहला संभावित समाधान जिसे क्लियरफिक्स हैक कहा जाता है। यह हैक पैरेंट कंटेनर के बाद कुछ खाली कंटेंट डालता है ताकि वह फ्लोट किए गए एलिमेंट्स को शामिल करने के लिए विस्तारित हो जाए। हम इसे छद्म-एलिमेंट ::after का उपयोग करके प्राप्त करते हैं:

.clearfix-hack::after {
  content: " ";
  clear: both;
  display: table;
}

यह सिलेक्टर तीन प्रॉपर्टीज लेता है: content, display और clear। content प्रॉपर्टी के लिए एक खाली स्ट्रिंग, clear प्रॉपर्टी में both (दोनों प्रकार के फ्लोट्स के नीचे एलिमेंट का बॉर्डर ले जाता है), और डेटा/इमेजेज को पेज पर प्रस्तुत करने के लिए display को block या table पर सेट करता है।

आधुनिक समाधान: display: flow-root

फ्लेक्सबॉक्स और ग्रिड के आगमन के साथ, क्लियरफिक्स की आवश्यकता गायब हो रही है। CSS में क्लियरफिक्स को संभालने का एक नया तरीका है:

.clearfix-hack { display: flow-root; }

.clearfix-hack::after सिलेक्टर को उपरोक्त कोड से बदलें। display: flow-root हमारे लिए क्लियरफिक्स हैक करता है और हमारे कोड को और भी अधिक पठनीय बनाता है।

निष्कर्ष

हमने फ्लोट प्रॉपर्टी को चाइल्ड एलिमेंट में जोड़ने पर बनने वाले बग को ठीक करने के दो अलग-अलग तरीकों पर चर्चा की: क्लियरफिक्स हैक और display: flow-root का उपयोग। संभावना है कि आप इन हैक्स का उपयोग केवल लिगेसी कोड पर करेंगे, न कि किसी ऐसे कोड पर जिसे आप स्क्रैच से बनाते हैं, क्योंकि फ्लेक्सबॉक्स और ग्रिड के निर्माण के कारण।

  1. Linux में Hosts फ़ाइल का उपयोग और संपादन कैसे करें Linux में Hosts फ़ाइल का उपयोग और संपादन कैसे करें

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

  1. HDR क्या है और एंड्रॉइड पर इसका उपयोग कैसे करें HDR क्या है और एंड्रॉइड पर इसका उपयोग कैसे करें

    स्मार्टफोन फोटोग्राफी हाल के वर्षों में छलांग और सीमा से आगे बढ़ी है। हम में से अधिकांश ने पारंपरिक डिजिटल कैमरों को पूरी तरह से अपने स्मार्टफोन की सुविधा के पक्ष में छोड़ दिया है। यह परिवर्तन हमारे फोन में बेहतर हार्डवेयर और सॉफ्टवेयर लागू होने के साथ संभव हुआ है। जैसे-जैसे आपके फोन पर कैमरा फ़ंक्श

  1. विंडोज 8 और 10 में विंडोज अपडेट ट्रबलशूटर का उपयोग कैसे करें विंडोज 8 और 10 में विंडोज अपडेट ट्रबलशूटर का उपयोग कैसे करें

    माइक्रोसॉफ्ट ने विंडोज 7 की शुरुआत के साथ विंडोज OS के लिए अपनी OTA अपडेट प्रक्रिया पेश की। इसने उन्हें उस एक के लिए एक अपडेट पुश करके मुद्दों से निपटने में वास्तव में मदद की। यदि आप विंडोज का उपयोग कर रहे हैं, तो आप नवीनतम बिल्ड में अपडेट करने का प्रयास करते समय विभिन्न एरर का सामना कर सकते हैं, जब