কম্পিউটার

CSS ব্যবহার করে সঙ্কুচিত অভিভাবক ঠিক করা


CSS ফ্লোট প্রপার্টি ব্যবহার করার সময় ডেভেলপাররা যে অনেক সমস্যার সম্মুখীন হয় তার মধ্যে একটি হল যদি সমস্ত চাইল্ড এলিমেন্ট ফ্লোট করা হয় তাহলে প্যারেন্ট কন্টেইনারটি ভেঙে যাবে। প্যারেন্ট কন্টেইনার ভেঙে পড়া এড়াতে আমরা নিম্নলিখিত সমাধানগুলির মধ্যে একটি ব্যবহার করতে পারি৷

সমস্যা

অভিভাবক কন্টেইনারগুলি ভেঙে পড়ে কারণ সমস্ত সামগ্রী তাদের ভিতরে ভাসমান থাকে৷ CSS ব্যাকগ্রাউন্ড-কালার প্রপার্টির কারণে শুধুমাত্র কন্টেইনারের প্যাডিং দেখা যায়।

উদাহরণ

নিম্নলিখিত সমস্যা কোড যা সংশোধন প্রয়োজন -

<!DOCTYPE html>
<html>
<head>
<title>Avoid Parent Container Collapse</title>
<style>
body{
   background-color: grey;
   border: 4px solid black;
}
#navbar, #content{
   padding: 12px;
   color: white;
}
#navbar{
   background-color: #C303C3;
}
li {
   list-style: none;
   border: 2px solid black;
   width:4em;
   background-color: grey;
   text-align: center;
   float: left;
}
#content {
   background-color: #4CAF50;
}
#leftContent, #rightContent {
   border: 3px solid black;
   margin:2px;
}
#leftContent {
   width: 45%;
   float: left;
}
#rightContent {
   width: 45%;
   float: right;
}
</style>
<body>
<div id="navbar">
<ul>
<li>Link 1</li>
<li>Link 2</li>
<li>Link 3</li>
<li>Link 4</li>
</ul>
</div>
<div id="content">
<div id="leftContent">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.
</div>
<div id="rightContent">
Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</div>
</body>
</html>

আউটপুট

নিম্নলিখিত সমস্যার জন্য আউটপুট -

CSS ব্যবহার করে সঙ্কুচিত অভিভাবক ঠিক করা

সমাধান 1

আমরা সিএসএস ফ্লোট প্রয়োগ করতে পারি:ভাসমান উপাদানের মূল কন্টেইনারে বাম।

এই সমাধানটি সমস্যাটিকে আগের মতোই সংশোধন করে কারণ এখন প্যারেন্ট এলিমেন্টের প্যারেন্টটি ভেঙে গেছে এবং ফ্লোটেড কন্টেন্টের প্যারেন্ট এলিমেন্ট চাইল্ড এলিমেন্টের চারপাশে মোড়ানো হয়েছে।

সমাধান 1 −

এর আউটপুট নিচে দেওয়া হল

CSS ব্যবহার করে সঙ্কুচিত অভিভাবক ঠিক করা

সমাধান 2

আমরা ভাসমান উপাদানগুলির মূল কন্টেইনারে CSS ওভারফ্লো সম্পত্তি ব্যবহার করতে পারি। এই সমাধানটি ভাল কাজ করে কিন্তু ব্যবহার করা হয় না কারণ এতে যৌক্তিক যুক্তি নেই৷

সমাধান 2 −

-এর আউটপুট নিচে দেওয়া হল

CSS ব্যবহার করে সঙ্কুচিত অভিভাবক ঠিক করা

সমাধান 3

আমরা 'ক্লিয়ারফিক্স' ক্লাস সহ প্যারেন্ট কন্টেইনারের ভিতরে নীচে একটি খালি ডিভ যোগ করতে পারি নিম্নলিখিত বিষয়বস্তু আছে.

.clearfix {
   clear: both;
}

এই সমাধানটি সমস্যাটি সংশোধন করে কিন্তু এখন একটি খালি ডিভ উপাদানটি প্যারেন্ট কন্টেইনারের নীচের অংশে উপস্থিত রয়েছে যা কিছুই উপস্থাপন করছে না৷

সমাধান 3 −

-এর আউটপুট নিচে দেওয়া হল

CSS ব্যবহার করে সঙ্কুচিত অভিভাবক ঠিক করা

সমাধান 4

আমরা একটি ক্লাস যোগ করতে পারি যেটি ছদ্ম উপাদান 'পরে' ব্যবহার করে নিম্নলিখিত বিষয়বস্তু থাকা প্যারেন্ট কন্টেনারে -

.clearfix {
.clearfix::after {
   content: '';
   display: table;
   clear: both;
}

সমাধান 4 −

এর আউটপুট নিচে দেওয়া হল

CSS ব্যবহার করে সঙ্কুচিত অভিভাবক ঠিক করা


  1. CSS-এ শতাংশ এবং Em-এর সমন্বয় ব্যবহার করা

  2. CSS ব্যবহার করে লিঙ্কের রঙ সেট করা

  3. CSS ব্যবহার করে এলিমেন্টের টেক্সট কালার সেট করা

  4. CSS ব্যবহার করে রেডিয়াল গ্রেডিয়েন্টের আকার নির্ধারণ করা