একটি পিতামাতাকে তার বাচ্চাদের উচ্চতায় প্রসারিত করুন d


308

আমার একই পৃষ্ঠার কাঠামো রয়েছে:

<body>
  <div id="parent">
    <div id="childRightCol">
      /*Content*/
    </div>
    <div id="childLeftCol">
      /*Content*/
    </div>
  </div>
</body>

আমি পিতা বা মাতা চাই divমধ্যে প্রসারিত করতে heightযখন ভেতরের div's heightবাড়ে।

সম্পাদনা:
একটি সমস্যা হ'ল যদি widthসন্তানের সামগ্রীর widthব্রাউজার উইন্ডোটির অতীত প্রসারিত হয় তবে আমার বর্তমান সিএসএস প্যারেন্টের উপর একটি অনুভূমিক স্ক্রোলবার রাখে div। আমি চাই যে স্ক্রোলবারটি পৃষ্ঠার স্তরে থাকুক। বর্তমানে আমার পিতামাতার ডিভি সেট করা আছেoverflow: auto;

আপনি কি দয়া করে এর জন্য আমাকে সিএসএসে সহায়তা করতে পারেন?


6
আপনি কি ভিতরের ডিভগুলি ভাসছেন? আপনি কি বর্তমান সিএসএস পোস্ট করতে পারবেন?
এরিক

2
@ এরিক - এটি আমার সমস্যাও ছিল - আমার সন্তানের দ্বি (গুলি) ভেসে উঠেছে: বাম, যখন আমি এটিকে সরিয়ে ফেললাম তখন 'পিতামাতাই' স্বয়ংক্রিয়ভাবে স্বীকৃত হয়ে পূর্ণ উচ্চতায় প্রসারিত হয়ে গেল!
মাইকেল গল্টসমান

উত্তর:


539

পিতামাতার জন্য এটি চেষ্টা করুন, এটি আমার পক্ষে কাজ করেছিল।

overflow:auto; 

হালনাগাদ:

আরও একটি সমাধান যা কাজ করেছে:

পিতামাতা :

display: table;

শিশু :

display: table-row;

67
overflow:autoএর অর্থ হ'ল ব্রাউজারটি ঠিক করতে হবে কোন মানটি প্রয়োগ করতে হবে। কি সত্যিই আছে কৌতুক overflow: overlay
আলবা মেন্ডেজ

14
@ জিমেনডেট "ওভারলে" নামে একটি ওভারফ্লো-মান বিদ্যমান নেই। শিশু ডিভগুলি ভাসিয়ে দিলে কী কাজ করছে তা ঘোষণা করছে overflow:hidden
ক্রিস্টোফ

16
Waaaait। আরাম করুন। একটি জিনিস দাবি করছে যে overlayওয়েবকিটের বাইরে সমর্থিত নয়। আরেকটি সম্পূর্ণ ভিন্ন বলতে এটির অস্তিত্ব নেই। দয়া করে, প্রথমে আরটিএফএম করুন । ;)
আলবা মেন্ডিজ

6
এটি যদি কেবল ওয়েবকিটে থাকে তবে এটি কেবলমাত্র 20% উপস্থিত রয়েছে: লিঙ্কটির জন্য পি চিয়ার্স, এই ওয়েবসাইটটি আগে কখনও দেখেনি। এটি কি ভাল রক্ষণাবেক্ষণ এবং আপডেট করা হয়? আপনি কি এর শপথ করেন?
পিলাউ

20
একটি বিকল্প উত্তর হ'ল স্ট্যাকওভারফ্লো / প্রশ্নগুলি / ৪৪০৯০৩/২ এবং এটি সেট করার প্রস্তাব দেয় display:inline-block। যা আমার পক্ষে দুর্দান্ত কাজ করেছে।
জেনস

26

একটি যোগ clear:both। ধরে নিচ্ছি যে আপনার কলামগুলি ভাসমান। আপনার উচ্চতা কীভাবে নির্দিষ্ট করা হয়েছে তার উপর নির্ভর করে আপনার ওভারফ্লো প্রয়োজন হতে পারে: অটো;

<body>
<div id="parent">
    <div id="childRightCol">
    <div>
    <div id="childLeftCol">
    <div>
    <div id="clear" style="clear:both;"></div>
</div>
</body>

ব্রাউজার উইন্ডো থেকে সামগ্রী যখন প্রশস্ত হয় তখন এটি করার ফলে প্যারেন্ট ডিভের উপর একটি অনুভূমিক স্ক্রোলবারটি পাওয়া যায়। আমি অনুভূমিক স্ক্রোলটি পুরো পৃষ্ঠায় থাকতে চাই।
স্টিভ হর্ন

1
আপনার কেন ওভারফ্লো দরকার: অটো ;? আমার পরীক্ষায় পরিষ্কার: উভয়; যথেষ্ট।
পাওলো বার্গান্টিনো

3
এটি এও ধরে নিচ্ছে যে পিতামাতার একটি উচ্চতা নির্দিষ্ট নেই।
bendewey

ফায়ারফক্সে এই পদ্ধতিটি ঠিকঠাক কাজ করে, তবে আইই 6 তে কাজ করে না? কোনও কাজের ক্ষেত্র?
স্টিভ হর্ন

16

যেমনটি জেনস মন্তব্যে বলেছিলেন

একটি বিকল্প উত্তর হ'ল ডিভকে এর বিষয়বস্তুর চেয়ে বড় নয় কীভাবে? … এবং এটি প্রদর্শন সেট করার প্রস্তাব দেয়: ইনলাইন-ব্লক। যা আমার পক্ষে দুর্দান্ত কাজ করেছে। - জেনস 2 জুন 5:41 এ

এটি আমার জন্য সমস্ত ব্রাউজারে আরও ভাল কাজ করে।


13

max-contentপিতামাতার উচ্চতার জন্য দেওয়ার চেষ্টা করুন ।

.parent{
   height: max-content;
}

https://jsfiddle.net/FreeS/so4L83wu/5/


কীভাবে সেই সম্পত্তি অন্যান্য ব্রাউজারগুলির সাথে আচরণ করে? এমডিএন-তে: বিকাশকারী.মোজিলা.আর.ইন-
রবার্ট মোলিনা

সাফারি ১২
বেন হুইলার

যেমন একটি দুর্দান্ত সিএসএস মান! প্রান্তে অসমর্থিত ¯_ (ツ) _ / ¯
মুরাদ

4

যারা এই উত্তর থেকে এখানে এই নির্দেশাবলী বুঝতে পারেন না তাদের জন্য :

প্যাডিং মান আরও 0 পরে সেট করার চেষ্টা করুন , যদি শিশু ডিভের মার্জিন-শীর্ষ বা মার্জিন-নীচে থাকে তবে আপনি এটিকে প্যাডিংয়ের সাথে প্রতিস্থাপন করতে পারেন

উদাহরণস্বরূপ আপনি যদি

#childRightCol
{
    margin-top: 30px;
}
#childLeftCol
{
    margin-bottom: 20px;
}

এটির সাথে এটি প্রতিস্থাপন করা ভাল হবে:

#parent
{
    padding: 30px 0px 20px 0px;
}

4

স্ব-সাফ করার মতো কিছু ব্যবহার করা এই জাতীয়div পরিস্থিতির জন্য উপযুক্ত । তারপরে আপনি কেবল পিতামাতার উপর একটি ক্লাস ব্যবহার করবেন ... যেমন:

<div id="parent" class="clearfix">

3

যোগ

clear:both; 

পিতামহক ডিভির সিএসএসে, বা পিতামাতার ডিভের নীচে একটি ডিভ যোগ করুন যা পরিষ্কার করে: উভয়;

এটি সঠিক উত্তর, কারণ ওভারফ্লো: অটো; সাধারণ ওয়েব লেআউটগুলির জন্য কাজ করতে পারে তবে এমন উপাদানগুলির সাথে জগাখিচুড়ি হবে যা নেতিবাচক মার্জিন ইত্যাদির মতো জিনিসগুলি ব্যবহার শুরু করে


2

এটি কি আপনি চান কি না?

.childRightCol, .childLeftCol
{
    display: inline-block;
    width: 50%;
    margin: 0;
    padding: 0;
    vertical-align: top;
}


1

আমি পিতামাত্ত্বিক ডিভকে সন্তানের ডিভকে একক কলাম হিসাবে সন্তানের ডিভিটি কনটেন্টের চারপাশে প্রসারিত করেছিলাম যার কোনও স্থায়ী বৈশিষ্ট্য যেমন নিখুঁত নির্দিষ্ট নেই।

উদাহরণ:

#wrap {width:400px;padding:10px 200px 10px 200px;position:relative;margin:0px auto;}
#maincolumn {width:400px;}

মেনক্লোনম ডিভের উপর ভিত্তি করে # র‌্যাপের গভীরতম ডিভ ডিভ রয়েছে এটি # র‌্যাপ ডিভের গভীরতা নির্ধারণ করে এবং 200px প্যাডিং উভয় পক্ষের জন্য দুটি বড় ফাঁকা কলাম তৈরি করেছে যাতে আপনি নিজের ইচ্ছে মতো একেবারে অবস্থিত ডিভগুলি রাখবেন। এমনকি প্যাডিং শীর্ষ এবং নীচে প্যাডিং পরিবর্তন করতে পারে পজিশনটি ব্যবহার করে শিরোনাম ডিভ এবং পাদলেখ ডিভগুলি রাখতে: নিরঙ্কুশ।


0

আপনাকে প্যারেন্ট পাত্রে ক্লিয়ারফিক্স সমাধান প্রয়োগ করতে হবে। এখানে ফিক্স লিঙ্কটি ব্যাখ্যা করার জন্য একটি দুর্দান্ত নিবন্ধ


0

যদি আপনার # চাইল্ড রাইট কোল এবং # টি শিশু রাইট কোল এর ভিতরে থাকা সামগ্রীগুলি বাম বা ডানদিকে ভাসমান হয় তবে কেবল এটি CSS এ যুক্ত করুন:

#childRightCol:before { display: table; content: " "; }
#childRightCol:after { display: table; content: " "; clear: both; }
#childLeftCol:before { display: table; content: " "; }
#childLeftCol:after { display: table; content: " "; clear: both; }

0

এটি অনুমান অনুসারে বর্ণিত হিসাবে কাজ করছে - এখানে বেশ কয়েকটি উত্তর বৈধ, এবং নিম্নলিখিতগুলির সাথে সামঞ্জস্যপূর্ণ:

যদি এতে ব্লক-স্তরের বাচ্চারা থাকে তবে উচ্চতা শীর্ষস্থানীয় ব্লক-স্তরের শিশু বাক্সের শীর্ষ সীমানা-প্রান্তের মধ্যবর্তী দূরত্ব যা এর মধ্য দিয়ে মার্জিনটি ভেঙে পড়ে না এবং নীচের ব্লক-স্তরের শিশু বাক্সের নীচের সীমানা-প্রান্তকে is এর মাধ্যমে মার্জিন ভেঙে পড়ে না। যাইহোক, যদি উপাদানটির মধ্যে ননজারো শীর্ষ প্যাডিং এবং / অথবা শীর্ষ সীমানা থাকে বা মূল উপাদান হয়, তবে সামগ্রীটি শীর্ষতম সন্তানের উপরের মার্জিন প্রান্তে শুরু হয়। (প্রথম কেসটি শীর্ষ এবং নীচের শিশুদের সাথে তালিকার শীর্ষ এবং নীচের মার্জিনটি সত্যকে প্রকাশ করে, যখন দ্বিতীয় ক্ষেত্রে প্যাডিং / বর্ডারের উপস্থিতি শীর্ষের মার্জিনকে ভেঙে ফেলা থেকে বিরত করে)) একইভাবে, যদি উপাদানটির একটি ননজারো নীচের প্যাডিং এবং / অথবা নীচের সীমানা থাকে, তারপরে সামগ্রীটি নীচেরতম সন্তানের নীচের মার্জিন প্রান্তে শেষ হয়।

এখান থেকে: https://www.w3.org/TR/css3-box/# blockwidth


0

নীচের কোডটি আমার জন্য কাজ করেছিল।

CSS

.parent{
    overflow: auto;
} 

এইচটিএমএল

<div class="parent">
    <div class="child1">
    </div>
    <div class="child2">
    </div>
    <div id="clear" style="clear:both;"></div>
</div>


0

আমরা যেখান থেকে শুরু করছি

এখানে কিছু বয়লারপ্লেট এইচটিএমএল এবং সিএসএস রয়েছে। আমাদের উদাহরণে, দুটি ভাসমান শিশু উপাদান সহ আমাদের পিতামাতাদের উপাদান রয়েছে।

/* The CSS you're starting with may look similar to this.
 * This doesn't solve our problem yet, but we'll get there shortly.
 */

.containing-div {
  background-color: #d2b48c;
  display: block;
  height: auto;
}

.floating-div {
  float: left;
  width: 50%;
}

.floating-div ul {
  display: inline-block;
  height: auto;
}
<!-- The HTML you're starting with might look similar to this -->
<div class="containing-div">
  <div class="floating-div">
    <ul>
      <li>List Item One</li>
      <li>List Item Two</li>
      <li>List Item Three</li>
      <li>List Item Four</li>
    </ul>
  </div>
  <div class="floating-div">
    <ul>
      <li>List Item Five</li>
      <li>List Item Six</li>
      <li>List Item Seven</li>
      <li>List Item Eight</li>
    </ul>
  </div>
</div>

সমাধান # 1: ওভারফ্লো: অটো

একটি সমাধান যা সমস্ত আধুনিক ব্রাউজারগুলিতে এবং ইন্টারনেট এক্সপ্লোরারে আইই 8-তে ফিরে কাজ করে তা হ'ল overflow: autoপিতা-মাতার উপাদানটি যুক্ত করা। এটি আই 7 এও কাজ করে, স্ক্রোলবার যুক্ত করার সাথে।

/* Our Modified CSS.
 * This is one way we can solve our problem.
 */

.containing-div {
  background-color: #d2b48c;
  display: block;
  height: auto;
  overflow: auto;
  /*This is what we added!*/
}

.floating-div {
  float: left;
  width: 50%;
}

.floating-div ul {
  display: inline-block;
  height: auto;
}

সমাধান # 2: ফ্লোট প্যারেন্ট পাত্রে

আর একটি সমাধান যা সমস্ত আধুনিক ব্রাউজারগুলিতে কাজ করে এবং আই 7 তে ফিরে আসে তা হল পিতামাতার ধারকটি ভাসা।

এটি সর্বদা ব্যবহারিক নাও হতে পারে, কারণ আপনার পিতা-মাতার দ্বি ভাসমানটি আপনার পৃষ্ঠা বিন্যাসের অন্যান্য অংশগুলিকে প্রভাবিত করতে পারে।

/* Modified CSS #2.
 * Floating parent div.
 */

.containing-div {
  background-color: #d2b48c;
  display: block;
  float: left;
  /*Added*/
  height: auto;
  width: 100%;
  /*Added*/
}

.floating-div {
  float: left;
  width: 50%;
}

.floating-div ul {
  display: inline-block;
  height: auto;
}

পদ্ধতি # 3: ভাসমান উপাদানগুলির নীচে ক্লিয়ারিং ডিভ যুক্ত করুন

/* 
 * CSS to Solution #3.
 */

.containing-div {
  background-color: #d2b48c;
  display: block;
  height: auto;
}

.floating-div {
  float: left;
  width: 50%;
}

.floating-div ul {
  display: inline-block;
  height: auto;
}


/*Added*/

.clear {
  clear: both;
}
<!-- Solution 3, Add a clearing div to bottom of parent element -->
<div class="containing-div">
  <div class="floating-div">
    <ul>
      <li>List Item One</li>
      <li>List Item Two</li>
      <li>List Item Three</li>
      <li>List Item Four</li>
    </ul>
  </div>
  <div class="floating-div">
    <ul>
      <li>List Item Five</li>
      <li>List Item Six</li>
      <li>List Item Seven</li>
      <li>List Item Eight</li>
    </ul>
  </div>
  <div class="clear"></div>
</div>

পদ্ধতি # 4: প্যারেন্ট এলিমেন্টে ক্লিয়ারিং ডিভ যুক্ত করুন এই সমাধানটি পুরানো ব্রাউজারগুলি এবং নতুন ব্রাউজারগুলির জন্য একইভাবে বেশ বুলেটপ্রুফ proof

/* 
 * CSS to Solution #4.
 */

.containing-div {
  background-color: #d2b48c;
  display: block;
  height: auto;
}

.floating-div {
  float: left;
  width: 50%;
}

.floating-div ul {
  display: inline-block;
  height: auto;
}


/*Added*/

.clearfix {
  clear: both;
}

.clearfix:after {
  clear: both;
  content: "";
  display: table;
}
<!-- Solution 4, make parent element self-clearing -->
<div class="containing-div clearfix">
  <div class="floating-div">
    <ul>
      <li>List Item One</li>
      <li>List Item Two</li>
      <li>List Item Three</li>
      <li>List Item Four</li>
    </ul>
  </div>
  <div class="floating-div">
    <ul>
      <li>List Item Five</li>
      <li>List Item Six</li>
      <li>List Item Seven</li>
      <li>List Item Eight</li>
    </ul>
  </div>
</div>

https://www.lockedownseo.com/parent-div-100-height-child-floated-eferences/ থেকে


-1

আমি এই সিএসএস পিতামাতার কাছে ব্যবহার করি এবং এটি কাজ করে:

min-height:350px;
background:url(../images/inner/details_middle.gif) repeat-y 0 0 ;
padding:5px 10px;   
text-align:right;
overflow: hidden;
position: relative;
width: 100%;

2
আপনি ন্যূনতম উচ্চতা ব্যবহার করেন, তাই গণনা করা হয় না;)
পাইলাউ

-1

#parent{
  background-color:green;
  height:auto;
  width:300px;
  overflow:hidden;
}

#childRightCol{
  color:gray;
  background-color:yellow;
  margin:10px;
  padding:10px;
}
<div id="parent">
    <div id="childRightCol">
        <p>
          Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque vulputate sit amet neque ac consequat.
        </p>
    </div>
  </div>

আপনি overflow:hidden;CSS এ সম্পত্তি ব্যবহার করে পরিচালনা করছেন

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