পিতামাতার ডিভিটি পূরণের জন্য ডিভের উচ্চতা কীভাবে প্রসারিত করা যায় - সিএসএস


110

আমার নীচের মত ডিভস সহ একটি পৃষ্ঠা রয়েছে

<div id="container">
    <div id="A">
    </div>
    <div id="B">
        <div id="B1"></div>
        <div id="B2">B2</div>
    </div>
    <div id="C"></div>
    <div id="D">
    </div>
</div>

স্টাইলিং হিসাবে হিসাবে;

html, body {
    margin: 0;
    padding: 0;
    border: 0;
}
#B, #C, #D {
    position: absolute;
}
#A{
    top: 0;
    width: 100%;
    height: 35px;
    background-color: #99CC00;
}
#B {
    top: 35px;
    width: 200px;
    bottom: 35px;
    background-color: #999999;
    z-index:100;
}
#B2 {
    margin-top: -35px;
    bottom: 0;
    background-color: #FFFFFF;
    width: 200px;
    overflow: scroll;
}
#B1 {
    height: 35px;
    width: 35px;
    margin-left: 200px;
    background-color: #CC0066;
}
#C {
    top: 35px;
    left: 200px;
    right: 0;
    bottom: 35px;
    background-color: #CCCCCC;
}
#D {
    bottom: 0;
    width: 100%;
    height: 35px;
    background-color: #3399FF;
}

আমি B2পুরো ডিভিটি পূরণের জন্য ডিভের উচ্চতা সামঞ্জস্য করতে (বা প্রসারিত করতে) Bসবুজ ডিগ্রি দিয়ে চিহ্নিত করতে চাই (সবুজ সীমানা দিয়ে চিহ্নিত) এবং পাদচরণ ডি ডি ডি অতিক্রম করতে চাই না Here এখানে একটি ওয়ার্কিং ফিডল ডেমো রয়েছে (আপডেট হয়েছে)। আমি কীভাবে এটি সমাধান করতে পারি ??

উত্তর:


41

কেবলমাত্র যোগ height: 100%;সম্মুখের #B2স্টাইলিং। min-heightপ্রয়োজন হবে না।


4
এটি হবে, ডিফ যদি খালি থাকে।
x10

40
খারাপ উত্তর # বি 2 # বি হিসাবে লম্বা হবে তবে জিজ্ঞাসা করা হিসাবে অবশিষ্ট স্থান পূরণ করতে প্রসারিত হবে না
নেস্ট

4
এটি কি আলাদা floatহয়ে পিতামাতার সাথে একটি ডিভের জন্য কাজ করে না ?
ডন চ্যাডল

এটি বি 1 কে কভার করে এবং সমস্ত স্থান নেয়; /
মিকাস

4
এটি পরিষ্কারভাবে কাজ করে না, উচ্চতা: 100 %টি ধারকটির 100% (আমার মনে হয় প্রায়শই পুরো ভিউপোর্ট) - এর উচ্চতা কাঙ্ক্ষিতের চেয়ে বেশি হবে।
বিটি

25

ধরুন আপনার আছে

<body>
  <div id="root" />
</body>

সাধারণ সিএসএসের সাহায্যে আপনি নিম্নলিখিতটি করতে পারেন। একটি কার্যকারী অ্যাপ্লিকেশন দেখুন https://github.com/onmyway133/Lyrics/blob/master/index.html

#root {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

ফ্লেক্সবক্সের সাহায্যে আপনি পারেন

html, body {
  height: 100%
}
body {
  display: flex;
  align-items: stretch;
}

#root {
  width: 100%
}

12

http://jsfiddle.net/QWDxr/1/

"ন্যূনতম উচ্চতা"
বৈশিষ্ট্যটি ব্যবহার করুন প্যাডিংস, মার্জিন এবং সীমানা সম্পর্কে সতর্ক থাকুন :)

html, body {
    margin: 0;
    padding: 0;
    border: 0;
}
#B, #C, #D {
    position: absolute;
}
#A{
    top: 0;
    width: 100%;
    height: 35px;
    background-color: #99CC00;
}
#B {
    top: 35px;
    width: 200px;
    bottom: 35px;
    background-color: #999999;
    z-index:100;
}
#B2 {
    min-height: 100%;
    height: 100%;
    margin-top: -35px;
    bottom: 0;
    background-color: red;
    width: 200px;
    overflow: scroll;
}
#B1 {
    height: 35px;
    width: 35px;
    margin-left: 200px;
    background-color: #CC0066;
}
#C {
    top: 35px;
    left: 200px;
    right: 0;
    bottom: 35px;
    background-color: #CCCCCC;
}
#D {
    bottom: 0;
    width: 100%;
    height: 35px;
    background-color: #3399FF;
}

4
না .. এটি একটি শীর্ষ মার্জিনের সাথে পুরো পৃষ্ঠা পূরণ করে। আমি কেবল নির্দিষ্ট ডিভটি পূরণ করতে চাইB
আলফ্রেড

এটি ক্রোম এবং ফায়ারফক্সে সঠিকভাবে কাজ করে। যদি এটি আপনার পক্ষে কাজ করে না, আপনি
ফ্যাক্স

এটি কাজ করে, তবে এটি ফুটারটি কেটে দিচ্ছে div id= D। আমি চাই না এটি ডি ডি ডি
আলফ্রেড

4
height:100%#B2শৈলীর জন্য একটি সেমিকোলন অনুপস্থিত ।
এমিল

একটি কাস্টম নববারের ভিতরে আমার জন্য কাজ করেছেন।
ভোর

6

আপনি স্টাইলিং উদ্দেশ্যে বি 2 ব্যবহার করতে না পারলে আপনি এই "হ্যাক" ব্যবহার করতে পারেন

#B { overflow: hidden;}
#B2 {padding-bottom: 9999px; margin-bottom: -9999px}

jsFizz


4
ধন্যবাদ, ধন্যবাদ। যাইহোক, এটি হওয়া উচিত margin-bottom: -9999px;। আপনি বিয়োগটি মিস করছেন।
গৌই

5

আমার উদ্দেশ্যটি কী উপযুক্ত তা হ'ল একটি ডিভ তৈরি করা যা সামগ্রিক ব্রাউজার উইন্ডোতে সর্বদা একটি নির্দিষ্ট পরিমাণে আবদ্ধ থাকে।

কমপক্ষে ফায়ারফক্সে যা কাজ করেছিল তা ছিল

<div style="position: absolute; top: 127px; left: 75px;right: 75px; bottom: 50px;">

প্রকৃত উইন্ডোটি স্ক্রোলিংয়ের জন্য বাধ্য না হওয়ায় ইনফার সমস্ত ডি-সাইজিংয়ের সময় ডিভটি তার সীমানাগুলি উইন্ডো প্রান্তে সংরক্ষণ করে।

আশা করি এটি কারও কিছুটা সময় সাশ্রয় করবে।


1

বি 2 ধারক অবস্থান আপেক্ষিক

অবশিষ্ট উচ্চতার শীর্ষ অবস্থান B2 +

B2 + উচ্চতা B1 এর উচ্চতা বা অবশিষ্ট উচ্চতা


প্যারেন্ট নোডকে আপেক্ষিক স্থানে সেট করা আমার সম্পর্কহীন সমস্যার সমাধান করেছে! ধন্যবাদ!
ডিজারস

1

আমি ব্যবহার height: stretch;। আপনি এখানে ব্যবহার সম্পর্কে কিছু বিশদ জানতে পারেন।


মানটি উচ্চতায় বিদ্যমান নেই। দয়া করে আপনার নিজের লিঙ্কটি পড়ুন।
নেলসন টেক্সসিরা

-5

আকারগুলি পরিবর্তিত হতে পারলে আমি এটি জাভাস্ক্রিপ্ট সমাধান (জ্যাকুয়ারি) দিয়ে সমাধান করব।

window.setTimeout(function () {
    $(document).ready(function () {
        var ResizeTarget = $('#B');

        ResizeTarget.resize(function () {
            var target = $('#B2');
            target.css('height', ResizeTarget.height());
        }).trigger('resize');
    }); 
}, 500);

8
আপনি এটি আপনার প্রশ্নের সাথে যুক্ত করতে চাইতে পারেন :)
এনকেসিএসএস

48
একটি javascriptবা jqueryট্যাগ অনুপস্থিতি কি যথেষ্ট নয়?
কাপা

4
এটিও সম্পূর্ণ অপ্রয়োজনীয়। সিএসএস গত কয়েক বছরে অনেক এগিয়েছে। চেকআউট-ফ্লেক্স-বাক্স এবং ক্যালক ()।
শন হুইনারি

4
ফ্লেক্সবক্স <
আই 10

@ কনস্ট্যান্টমিয়ারিং আসল প্রশ্নটি হল, কেউ কি <আইই 10 সম্পর্কেও চিন্তা করে? ;)
ক্লোনকেক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.