আমি নেস্টেড ফ্লেক্সবক্স লেআউটে কাজ করছি যা নিম্নলিখিত হিসাবে কাজ করা উচিত:
বাইরেরতম স্তর ( ul#main
) একটি অনুভূমিক তালিকা যা এতে আরও আইটেম যুক্ত করা হলে ডানদিকে প্রসারিত করতে হবে। যদি এটি খুব বড় হয় তবে একটি অনুভূমিক স্ক্রোল বার থাকা উচিত।
#main {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
overflow-x: auto;
/* ...and more... */
}
এই তালিকার প্রতিটি আইটের ( ul#main > li
) একটি শিরোনাম ( ul#main > li > h2
) এবং একটি অভ্যন্তরীণ তালিকা ( ul#main > li > ul.tasks
) রয়েছে। এই অভ্যন্তরীণ তালিকাটি উল্লম্ব এবং প্রয়োজনে কলামগুলিতে মোড়ানো উচিত। আরও কলামগুলিতে মোড়ানো করার সময়, আরও আইটেমের জায়গা তৈরি করার জন্য এর প্রস্থটি বৃদ্ধি করা উচিত। এই প্রস্থ বৃদ্ধি বাইরের তালিকার ধারণকৃত আইটেমের ক্ষেত্রেও প্রযোজ্য।
.tasks {
flex-direction: column;
flex-wrap: wrap;
/* ...and more... */
}
আমার সমস্যাটি হ'ল উইন্ডোর উচ্চতা খুব কম হয়ে গেলে অভ্যন্তরীণ তালিকাগুলি মোড়ানো হয় না। আমি সিএসএস-ট্রিক্সের নির্দেশিকাটি সাবধানতার সাথে অনুসরণ করার চেষ্টা করেছি, সমস্ত নমনীয় বৈশিষ্ট্যগুলির সাথে প্রচুর প্রতিরোধের চেষ্টা করেছি , তবে কোনও ভাগ্য নেই।
এই জেএসফিডাল আমার এখন পর্যন্ত যা আছে তা দেখায়।
প্রত্যাশিত ফলাফল (আমি যা চাই) :
আসল ফলাফল (আমি যা পাই) :
পুরানো ফলাফল (2015 সালে আমি কী পেয়েছি) :
হালনাগাদ
কিছু তদন্তের পরে, এটি আরও বড় ইস্যুর মতো দেখতে শুরু করেছে। সমস্ত বড় ব্রাউজার একইভাবে আচরণ করে এবং আমার ফ্লেক্সবক্স ডিজাইনটি নেস্টেড হওয়ার সাথে এর কোনও যোগসূত্র নেই। এমনকি সরল ফ্লেক্সবক্স কলাম লেআউটগুলি আইটেমগুলি মোড়লে তালিকার প্রস্থ বৃদ্ধি করতে অস্বীকার করে।
এই অন্যান্য জেএসফিডাল স্পষ্টতই সমস্যাটি দেখায়। ক্রোম, ফায়ারফক্স এবং আই 11 এর বর্তমান সংস্করণগুলিতে সমস্ত আইটেম সঠিকভাবে মোড়ানো; তালিকার উচ্চতা row
মোডে বৃদ্ধি পায় তবে এর প্রস্থ column
মোডে বৃদ্ধি পায় না । এছাড়াও, কোনও column
মোডের উচ্চতা পরিবর্তন করার সময় কোনও উপাদানগুলির তাত্ক্ষণিকভাবে রিফ্লো পাওয়া যায় না , তবে row
মোডে রয়েছে।
তবে, সরকারী চশমা (বিশেষত উদাহরণ 5 দেখুন) মনে করে যে আমি যা করতে চাই তা সম্ভব হওয়া উচিত।
কেউ কি এই সমস্যার সাথে একযোগে আসতে পারেন?
আপডেট 2
পুনরায় আকারের ইভেন্টগুলির সময় জাভাস্ক্রিপ্ট ব্যবহার করে বিভিন্ন উপাদানের উচ্চতা এবং প্রস্থ আপডেট করতে অনেকগুলি পরীক্ষার পরে, আমি এই সিদ্ধান্তে পৌঁছেছি যে এটি সমাধান করার চেষ্টা করা খুব জটিল এবং খুব সমস্যা is এছাড়াও, জাভাস্ক্রিপ্ট যুক্ত করা অবশ্যই স্পষ্টভাবে ফ্লেক্সবক্স মডেলটিকে ভেঙে দেয়, যা যথাসম্ভব পরিষ্কার রাখা উচিত।
আপাতত, আমি overflow-y: auto
পরিবর্তে পিছনে পড়ছি flex-wrap: wrap
যাতে প্রয়োজনের সময় অভ্যন্তরীণ পাত্রে উল্লম্বভাবে স্ক্রোল হয়। এটি সুন্দর নয়, তবে এটি একদিক এগিয়ে যা কমপক্ষে ব্যবহারযোগ্যতা খুব বেশি ভাঙবে না।
column wrap
মোড়ক করার সময় প্রস্থটি প্রস্থ না বাড়িয়ে দেয় set আরও তথ্যের জন্য কোড. google.com/p/chromium/issues/detail?id=247963 দেখুন ।