উত্তর:
বিন্যাসের জন্য সারণী ব্যবহারের অন্য কোনও div
পদ্ধতির td
চেয়ে একটি অন্তর্নিহিত এ ব্যবহার করা খারাপ নয়। (কিছু লোক যদিও লেআউটের জন্য টেবিলগুলি কখনও ব্যবহার করেন না এবং আমি তাদের মধ্যে একটি হয়ে ওঠে))
আপনি যদি একটি ব্যবহার করেন তাহলে div
একটি td
আপনি কিন্তু পরিস্থিতি যেখানে এটি ভবিষ্যদ্বাণী করা কিভাবে উপাদানের মাপের হবে কঠিন হতে পারে পাবেন। ডিভের জন্য ডিফল্ট হ'ল তার পিতামাতার কাছ থেকে তার প্রস্থ নির্ধারণ করা হয় এবং কোনও টেবিল ঘরের জন্য ডিফল্ট তার সামগ্রীর আকারের উপর নির্ভর করে তার আকার নির্ধারণ করে।
কীভাবে div
আকার নির্ধারণ করা td
উচিত সে সম্পর্কে নিয়মগুলি মানগুলিতে ভালভাবে সংজ্ঞায়িত করা হয় তবে কীভাবে আকার নির্ধারণ করা উচিত তার বিধিগুলিও যথাযথভাবে সংজ্ঞায়িত হয় না, তাই বিভিন্ন ব্রাউজারগুলি কিছুটা পৃথক অ্যালগোরিদম ব্যবহার করে।
table-layout:fixed
সিএসএস আপনি যা ভাবেন তা নয়। এটি কেবল প্রথম সারির আকারের গণনা করে টেবিলগুলি রেন্ডারিংয়ের সময় গণনা ব্রাউজারগুলির পরিমাণ হ্রাস করে।
এক্সএইচটিএমএল ডিটিডি চেক করার পরে আমি আবিষ্কার করেছি যে <TD> এলিমেন্টে ব্লক উপাদানগুলি শিরোনাম, তালিকাগুলি এবং </ strong> উপাদানগুলিতে ধারণ করার অনুমতি রয়েছে। সুতরাং, <TD> এলিমেটের <<<< এলিমেন্ট ব্যবহার করে এক্সএইচটিএমএল মান লঙ্ঘন করে না। আমি নিশ্চিত যে এইচটিএমএলের অন্যান্য আধুনিক প্রকরণের <TD> এলিমেন্টের জন্য একটি সমতুল্য সামগ্রীর মডেল রয়েছে pretty
এখানে সম্পর্কিত ডিটিডি বিধি রয়েছে:
<!ELEMENT td %Flow;>
<!-- %Flow; mixes block and inline and is used for list items etc. -->
<!ENTITY %Flow "(#PCDATA | %block; | form | %inline; | %misc;>
<!ENTITY %block "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
না। অগত্যা।
আপনার যদি কোনও টিডির মধ্যে ডিআইভি স্থাপনের প্রয়োজন হয় তবে নিশ্চিত হয়ে নিন যে আপনি টিডিটি সঠিকভাবে ব্যবহার করছেন। আপনি যদি সারণী-উপাত্ত এবং শব্দার্থবিজ্ঞানের বিষয়ে যত্নশীল না হন তবে আপনি শেষ পর্যন্ত টিডিতে ডিআইভি সম্পর্কে চিন্তা করবেন না। আমি মনে করি না যদিও এখানে কোনও সমস্যা আছে - যদি এটি করতে হয় তবে আপনি ভাল আছেন।
এইচটিএমএল স্পেসিফিকেশন অনুযায়ী
একটি <div>
যেখানে স্থাপন করা যেতে পারে প্রবাহ বিষয়বস্তু বলে আশা করা হচ্ছে 1 , যা <td>
বিষয়বস্তু মডেল 2 ।
একটি সারণী-ঘরে বৈধভাবে ব্লক-স্তরের উপাদানগুলি থাকতে পারে তাই এটি সহজাতভাবে, কোনও ভুল-প্যাস নয়। অবশ্যই ব্রাউজারের ইমপ্লান্টেশন এটিকে একটি অনুমানমূলক-তাত্ত্বিক অবস্থান ছেড়ে দেয়। এটি লেআউট সমস্যা এবং ত্রুটি সৃষ্টি করতে পারে।
যদিও সারণিগুলি লেআউটটির জন্য ব্যবহৃত হত - এবং কখনও কখনও এখনও থাকে - আমি ধারণা করি যে বেশিরভাগ ব্রাউজারগুলি সামগ্রীটি যথাযথভাবে রেন্ডার করে। এমনকি IE।
আপনি যদি অবস্থান ব্যবহার করতে চান: পরম; টিডি সহ position: relative;
ডিভ উপর আপনি ইস্যুতে চালানো হবে। এফএফ, সাফারি এবং ক্রোম (ম্যাক, যদিও পিসি নয়) টিডির তুলনায় ডিভের অবস্থান করবে না (যেমনটি আপনি আশা করবেন) এটি ডিভের ক্ষেত্রেও সত্য display: table-whatever;
যদি আপনি এটি করতে চান যে আপনার দুটি ডিভ প্রয়োজন, একটি ধারক width: 100%;
height: 100%;
এবং কোনও সীমানা নেই তাই এটি কোনও ভিজ্যুয়াল প্রভাব ছাড়াই টিডি পূরণ করে। এবং তারপরে পরম একটি one
অন্যটি কেন শুধু ঘরের বিভাজন নয়?
সবাই উল্লিখিত হিসাবে, এটি লেআউট উদ্দেশ্যে ভাল ধারণা নাও হতে পারে। আমি এই প্রশ্নে পৌঁছেছি কারণ আমি একই ভাবছিলাম এবং আমি কেবল এটি বৈধ কোড হবে কিনা তা জানতে চেয়েছিলাম।
যেহেতু এটি বৈধ, আপনি এটি অন্য কাজে ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আমি এটি ব্যবহার করতে যাচ্ছি তা হ'ল টেবিলের সারিগুলির মধ্যে কিছু অভিনব "সিএসএসডি" ডিভগুলি রেখে তারপরে একটি তাত্ক্ষণিক jQuery ফাংশন ব্যবহার করে ব্যবহারকারীকে মূল্য, নাম ইত্যাদির মাধ্যমে তথ্য সাজানোর জন্য এই পদ্ধতিতে, কেবলমাত্র লেআউট টেবিলটি আমাকে "উল্লম্ব ক্রম" দিবে তবে আমি সিএসএস দ্বারা ডিভের প্রস্থ, উচ্চতা, পটভূমি ইত্যাদি নিয়ন্ত্রণ করব।
এটির সাথে মোকাবিলা করার দুটি উপায়
div
ভিতরে tbody
ট্যাগdiv
ভিতরে tr
ট্যাগউভয় পন্থা বৈধ, যদি আপনি স্বতন্ত্রতা দেখতে পান: https://stackoverflow.com/a/23440419/2305243
এটি শব্দার্থবিভাজনকে ভেঙে দেয় , এটাই সব। এটি দুর্দান্ত কাজ করে তবে স্ক্রিন পাঠক বা রাস্তার নিচে এমন কিছু থাকতে পারে যা যদি আপনি "শব্দার্থবিজ্ঞান" ভাঙেন তবে আপনার এইচটিএমএল প্রসেস করা উপভোগ করতে পারবেন না।