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

CSS Clearfix Hack का उपयोग कब और कैसे करें

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

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

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

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

CSS Clearfix Hack का उपयोग कब और कैसे करें

एक अनुस्मारक के रूप में, फ्लोट संपत्ति मूल रूप से उस तत्व को लेती है जिसे आप फ़्लोट करना चाहते हैं और इसे अपने कंटेनर के बाईं या दाईं ओर रखता है:

<!DOCTYPE html>
<html lang="en>
<head>
	<title>CSS Clearfix</title>
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<style>
body {
  background-color: grey;
}

ul {
  max-width: 800px;
  width: 100%;
  background: lightblue;
  border: 5px double black;
  padding: 20px;
}

img {
  width: 300px;
  margin: 20px;
}

li {
  list-style: none;
  float: left;
}

</style>
</head>
<body>
<!-- https://unsplash.com/photos/2PPjq7I3bs4 -->
<ul>
  <li>
    <img src="https://images.unsplash.com/photo-1567268377583-d1aaf9ccfc22?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3300&q=80" />     </li>
<!--  https://unsplash.com/photos/vYhBeZ_G_xE  -->
  <li>
    <img src="https://images.unsplash.com/photo-1592283338081-beb63fa6a156?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1850&q=80" />     </li>
<!--  https://unsplash.com/photos/7UduWMpT618  -->
  <li>
    <img src="https://images.unsplash.com/photo-1583513702439-2e611c58e93d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3298&q=80" />     </li>
<!--  https://unsplash.com/photos/Ah_QC2v2alE  -->
  <li>
    <img src="https://images.unsplash.com/photo-1552944150-6dd1180e5999?ixlib=rb-1.2.1&auto=format&fit=crop&w=1850&q=80" />     
  </li>
<!--  https://unsplash.com/photos/T-0EW-SEbsE  -->
  <li>
    <img src="https://images.unsplash.com/photo-1548199973-03cce0bbc87b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80" />     </li>
</ul>
<p>Here is a sample paragraph element. Something is wrong about where I am in the layout. What else is wrong with the layout?</p>
</body>
</html>

इस समय, कुछ इमेज ऐसी हैं जो <ul> . में होनी चाहिए , कंटेनर जिसमें हल्के नीले रंग की पृष्ठभूमि होती है, लेकिन वे चित्र <ul> के अन्य तत्वों की तुलना में लम्बे होते हैं . इसके परिणामस्वरूप एक अतिप्रवाह होता है जो फ्लोट को साफ़ नहीं करता है और क्षैतिज मार्जिन को ध्वस्त कर देता है।

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

ठीक करें

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

<!DOCTYPE html>
<html lang="en>
<head>
	<title>CSS Clearfix</title>
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<style>
body {
  background-color: grey;
}

ul {
  max-width: 800px;
  width: 100%;
  background: lightblue;
  border: 5px double black;
  padding: 20px;
}

img {
  width: 300px;
}

li {
  list-style: none;
  float: left;
  margin: 20px;
}

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

</style>
</head>
<body>
<!-- https://unsplash.com/photos/2PPjq7I3bs4 -->
<ul>
  <li>
    <img src="https://images.unsplash.com/photo-1567268377583-d1aaf9ccfc22?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3300&q=80" />     </li>
<!--  https://unsplash.com/photos/vYhBeZ_G_xE  -->
  <li>
    <img src="https://images.unsplash.com/photo-1592283338081-beb63fa6a156?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1850&q=80" />     </li>
<!--  https://unsplash.com/photos/7UduWMpT618  -->
  <li>
    <img src="https://images.unsplash.com/photo-1583513702439-2e611c58e93d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=3298&q=80" />     </li>
<!--  https://unsplash.com/photos/Ah_QC2v2alE  -->
  <li>
    <img src="https://images.unsplash.com/photo-1552944150-6dd1180e5999?ixlib=rb-1.2.1&auto=format&fit=crop&w=1850&q=80" />     
  </li>
<!--  https://unsplash.com/photos/T-0EW-SEbsE  -->
  <li>
    <img src="https://images.unsplash.com/photo-1548199973-03cce0bbc87b?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=2250&q=80" />     </li>
</ul>
<p>Here is a sample paragraph element. Something is wrong about where I am in the layout. What else is wrong with the layout?</p>
</body>
</html>

थोड़े से मार्जिन के अलावा मैंने <li> . में जोड़ा रिक्ति को बेहतर बनाने के लिए, जो कुछ भी जोड़ा गया वह था .clearfix-hack::after चयनकर्ता। इसमें तीन गुण होते हैं:सामग्री, प्रदर्शन और स्पष्ट।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

एक खाली स्ट्रिंग सामग्री संपत्ति के मूल्य पर कब्जा कर लेती है, हम तत्व की सीमा को दोनों के अंत से नीचे ले जा रहे हैं क्लियर प्रॉपर्टी में फ्लोट्स के प्रकार और हम अपने डिस्प्ले को block . पर सेट कर रहे हैं या table पृष्ठ पर डेटा/छवियों को प्रस्तुत करने के लिए।

इसके परिणामस्वरूप कंटेनर के अंदर छवियों का एक स्वीकार्य प्रदर्शन और उसके नीचे

टैग होता है।

क्या यह Clearfix का अंत है?

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

.clearfix-hack {
	display: flow-root
}

.clearfix-hack::after को बदलें उपरोक्त कोड के साथ चयनकर्ता। क्या कुछ बदलता है?

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

निष्कर्ष

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


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

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

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

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

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

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