সংক্ষিপ্ত উত্তর
যদি সমান উচ্চতার সারিগুলির সাথে গ্রিড তৈরি করা হয়, যেখানে গ্রিডের দীর্ঘতম সেলটি সমস্ত সারিগুলির জন্য উচ্চতা নির্ধারণ করে, এখানে একটি দ্রুত এবং সাধারণ সমাধান দেওয়া হয়েছে:
- ধারক সেট করুন
grid-auto-rows: 1fr
কিভাবে এটা কাজ করে
গ্রিড লেআউট একটি গ্রিড পাত্রে নমনীয় দৈর্ঘ্য স্থাপনের জন্য একটি ইউনিট সরবরাহ করে। এটি fr
ইউনিট। এটি পাত্রে মুক্ত স্থান বিতরণের জন্য ডিজাইন করা হয়েছে এবং এটি কিছুটা flex-grow
ফ্লেক্সবক্সে সম্পত্তি অনুরূপ alog
আপনি যদি গ্রিড পাত্রে সমস্ত সারি সেট করে থাকেন 1fr
তবে আসুন এইভাবে বলুন:
grid-auto-rows: 1fr;
... তাহলে সমস্ত সারি সমান উচ্চতা হবে।
ব্যাটটি অফ-দ্য ব্যাটটি আসলেই বোঝা যায় না কারণ fr
খালি জায়গা বিতরণ করার কথা। এবং যদি বেশ কয়েকটি সারিতে বিভিন্ন উচ্চতা সহ সামগ্রী থাকে, তবে স্থানটি বিতরণ করা হলে কিছু সারি আনুপাতিকভাবে ছোট এবং লম্বা হবে।
গ্রিড স্পেকের গভীরে কবর দেওয়া বাদে এই ছোট্ট নাগেট:
7.2.3। নমনীয় দৈর্ঘ্য: fr
একক
...
যখন উপলব্ধ স্থানটি অসীম হয় (যা তখন গ্রিড ধারকের প্রস্থ বা উচ্চতা অনির্দিষ্ট হয়) তখন নমনীয় আকারের ( fr
) গ্রিড ট্র্যাকগুলি তাদের স্বতন্ত্র অনুপাত বজায় রেখে তাদের বিষয়বস্তুগুলিতে আকার দেয়।
প্রতিটি ফ্লেক্স-আকারের গ্রিড ট্র্যাকের ব্যবহৃত আকারকে প্রতিটি ফ্লেক্স-আকারের গ্রিড ট্র্যাকের max-content
আকার নির্ধারণ করে এবং একটি "অনুমানের 1fr
আকার" নির্ধারণের জন্য সেই আকারটিকে স্বতন্ত্র ফ্লেক্স ফ্যাক্টর দ্বারা ভাগ করে গণনা করা হয় ।
এর মধ্যে সর্বাধিক সমাধান করা 1fr
দৈর্ঘ্য (ফ্লেক্স ভগ্নাংশ) হিসাবে ব্যবহৃত হয় , যা এর পরে প্রতিটি গ্রিড ট্র্যাকের তার চূড়ান্ত আকার নির্ধারণের ফ্লেক্স ফ্যাক্টর দ্বারা গুণিত হয়।
সুতরাং, যদি আমি এটি সঠিকভাবে পড়ছি, যখন গতিশীল আকারের গ্রিডের সাথে ডিলিং করব (উদাহরণস্বরূপ, উচ্চতা অনির্দিষ্টকালের জন্য), গ্রিড ট্র্যাকগুলি (সারি, এই ক্ষেত্রে) তাদের বিষয়বস্তু আকারের হয়।
প্রতিটি সারির উচ্চতা দীর্ঘতম ( max-content
) গ্রিড আইটেম দ্বারা নির্ধারিত হয় ।
এই সারিগুলির সর্বোচ্চ উচ্চতা দৈর্ঘ্যে পরিণত হয় 1fr
।
কিভাবে সেটা 1fr
একটি গ্রিড কন্টেইনারে সমান উচ্চতা সারি তৈরি করে।
কেন ফ্লেক্সবক্স কোনও বিকল্প নয়
প্রশ্নে উল্লিখিত হিসাবে, সমান উচ্চতার সারিগুলি ফ্লেক্সবক্সের মাধ্যমে সম্ভব নয়।
ফ্লেক্স আইটেমগুলি একই সারিতে সমান উচ্চতা হতে পারে তবে একাধিক সারি জুড়ে নয়।
এই আচরণটি ফ্লেক্সবক্স বিশেষে সংজ্ঞায়িত করা হয়:
6. ফ্লেক্স লাইন
একটি বহু-লাইন ফ্লেক্স ধারকটিতে, প্রতিটি লাইনের ক্রস আকার হ'ল নূন্যতম আকার যা লাইনটিতে ফ্লেক্স আইটেমগুলি ধারণ করতে প্রয়োজনীয়।
অন্য কথায়, যখন সারি ভিত্তিক ফ্লেক্স ধারকটিতে একাধিক লাইন থাকে, প্রতিটি লাইনের উচ্চতা ("ক্রস আকার") লাইনের নমনীয় আইটেমগুলি ধারণ করতে ন্যূনতম উচ্চতা হয়।
grid-auto-row
ধারকটির প্রথম সারিতে সর্বোচ্চ আকার 100px এবং সেই সারির জন্য 2 ছিল, তবে এর অর্থ কি প্রথম সারির 1fr এর আকার 50px এর সমান?