গতিশীল উচ্চতা রয়েছে এমন পিতামাতাকে পূরণ করতে সন্তানের ডিভ উচ্চতা প্রসারিত করুন


96

যেহেতু এটি নিম্নোক্ত ঝরনীতে দেখা যাবে, আমার দু'টি divরয়েছে, একটি পিতা-মাতার মধ্যে divরয়েছে যা বড় বিভাজনকে ধরে রাখতে প্রসারিত হয়েছে, আমার লক্ষ্য হ'ল সেই সন্তানের divউচ্চতা সমান করা।

http://fiddle.jshell.net/y9bM4/



@ মাইকহোমেচকো সিএসএসে অনেকগুলি রয়েছে তবে CSS3 তে নেই। আমি তাই মনে করি.
— মিঃগ্রিন

4
@ মিঃ গ্রীন "সিএসএস" এবং সিএসএস 3 এর মধ্যে একটি মৌলিক স্তরে পার্থক্যগুলি নগণ্য তাই আমি সমস্যাটি দেখতে পাচ্ছি না। এটি একটি খুব সাধারণ সমস্যা যা মৃত্যুর কাছে জিজ্ঞাসা ও উত্তর দেওয়া হয়েছে।
— মাইক এইচ।

4
@ মাইকহোমেটকো আমার সমাধানটি পরীক্ষা করুন। আমি নিশ্চিত যে এর আগে কেউ এর সদুত্তর দেয়নি।
— মিঃগ্রিন

উত্তর:


48

সমাধানটি হ'ল ব্যবহারগুলি বা display: table-cellব্যবহারের পরিবর্তে সেই উপাদানগুলিকে ইনলাইন আনতে ব্যবহার করা ।display: inline-blockfloat: left

div#container {
  padding: 20px;
  background: #F1F1F1
}
.content {
  width: 150px;
  background: #ddd;
  padding: 10px;
  display: table-cell;
  vertical-align: top;
}
.text {
  font-family: 12px Tahoma, Geneva, sans-serif;
  color: #555;
}
<div id="container">
  <div class="content">
    <h1>Title 1</h1>

    <div class="text">Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
      <br>Sample Text. Sample Text. Sample Text.
      <br>Sample Text.
      <br>
    </div>
  </div>
  <div class="content">
    <h1>Title 2</h1>

    <div class="text">Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.</div>
  </div>
</div>

ওয়ার্কিং ফিডল


প্যারেন্ট উপাদান যদিও টেবিল সেল হয় এটি কাজ করে না।
— টোমা জ্যাটো - মনিকা

55

আপনার display: flexপ্রসারিত করতে ব্যবহার করুন div:

div#container {
    padding:20px;
    background:#F1F1F1;
    display: flex;
}

.content {
    width:150px;
    background:#ddd;
    padding:10px;
    margin-left: 10px;
}

JSFIDDLE


19

নিম্নলিখিত সিএসএস যুক্ত করুন:

পিতামাতার ডিভ জন্য:

style="display: flex;"

শিশু বিভাগের জন্য:

style="align-items: stretch;"

আমার stretchপক্ষে কাজ করার জন্য আমার বাচ্চাদের যুক্ত করা দরকার ।
— BadHorsie

4

https://www.youtube.com/watch?v=jV8B24rSN5o

আমি মনে করি আপনি গ্রিড হিসাবে প্রদর্শন ব্যবহার করতে পারেন:

.parent { display: grid };

আপনি কি পোস্টার একই কোড ব্যবহার করে নিজের উত্তরটি পরীক্ষা করেছেন?
— মার্ক স্টুয়ার্ট

এটি কাজ করে এবং সন্তানের জন্য কোনও সিএসএস প্রয়োজন হয় না। এটি কারণ একটি সিএসএস গ্রিড সেল autoডিফল্টভাবে সারি এবং সেল থাকবে have আপনি যদি display: -ms-gridকিছু ফ্লেক্সব্যাগ এড়াতে ব্যবহার করেন তবে এটি কেবল আইইয়ের সাথে বেশ সুন্দরভাবে কাজ করে , যতক্ষণ না আপনার কেবলমাত্র একটি শিশু থাকে।
— শর্টফিউজ

-6

আপনি কিছুটা jQuery দিয়ে খুব সহজেই এটি করতে পারেন

$(document).ready(function(){
  var parentHeight = $("#parentDiv").parent().height();
  $("#childDiv").height(parentHeight);
});

4
যদিও ব্রাউজার উইন্ডোটি পুনরায় আকার দেওয়ার পরে এটি ভেঙে যাবে, যেখানে সিএসএস উইলগুলি এখনও কাজ করবে।
— শার্পসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.