ইন্টারনেট এক্সপ্লোরার 7 এ একেবারে অবস্থানকারী প্যাটার্নে শতকরা প্রস্থের শিশু উপাদান

I have an absolutely positioned div containing several children, one of which is a relatively positioned div. When I use a percentage-based width on the child div, it collapses to '0' width on Internet Explorer 7, but not on Firefox or Safari.

যদি আমি পিক্সেল প্রস্থ ব্যবহার করি, এটি কাজ করে যদি পিতা বা মাতা তুলনামূলকভাবে স্থির হয়, তবে সন্তানের কাজগুলিতে শতাংশের প্রস্থ

  1. এখানে কি কিছু আছে যা আমি অনুপস্থিত?
  2. এটিকে পিক্সেল-ভিত্তিক প্রস্থ ছাড়াও এটির জন্য একটি সহজ সমাধান আছে শিশু? করুন
  3. এখানে কি CSS স্পেসিফিকেশন আছে যা এটিকে কভার করে?
0
যোগ সম্পাদিত
মতামত: 48

4 উত্তর

এখানে কিছু নমুনা কোড আছে। আমি মনে করি এই আপনি খুঁজছেন কি। নিম্নোক্ত ফায়ারফক্স 3 (ম্যাক) এবং IE7 এ ঠিক একই প্রদর্শন করে।

<div class="snippet" data-lang="js" data-hide="false" data-console="false" data-babel="false"><div class = "snippet-code"> <�পূর্ব বর্গ = "স্নিপেট-কোড-সিএসএস lang-css প্রিন্ট-প্রিন্ট-ওভাররাইড"> # বিএসডিভি {   অবস্থান: পরম;   বামে: 100 পিএক্স;   শীর্ষ: 100 পিএক্স;   প্রস্থ: 80%;   উচ্চতা: 60%;   পটভূমি: # 999; } # পিটিটিচিল্ড {   প্রস্থ: 60%;   উচ্চতা: 40%;   পটভূমি: #CCC; } #reldiv {   অবস্থান: আপেক্ষিক   বাম: ২0px;   শীর্ষ: 20px;   উচ্চতা: 25px;   প্রস্থ: 40%;   পটভূমি: লাল; } </কোড>

  <div id = "absdiv">
    <div id = "reldiv"> </div>
    <div id = "pctchild"> </div>


</কোড>
</div>

0
যোগ

8 এর আগে IE এর বক্স মডেলের একটি সাময়িক দৃষ্টিভঙ্গি রয়েছে যা বেশিরভাগ উল্লেখযোগ্যভাবে শতাংশ ভিত্তিক প্রস্থের সাথে একটি সমস্যা সৃষ্টি করে। আপনার ক্ষেত্রে এখানে একটি সুনির্দিষ্টভাবে div ডিফল্টরূপে কোন প্রস্থ নেই। এর প্রস্থ তার বিষয়বস্তু পিক্সেল প্রস্থ উপর ভিত্তি করে কাজ করা হবে এবং বিষয়বস্তু রেন্ডার করা হয় পরে গণনা করা হবে। তাই IE এ আপনার তুলনামূলক অবস্থান div মিলিত হয় এবং তার প্যারেন্টকে 0 এর একটি প্রান্তে থাকে তাই কেন এটি নিজেই 0 তে কমে যায়।

আপনি যদি এই কাজের গভীরতার আলোচনায় আরও অনেক কিছু নিয়ে কাজ করতে চান, তবে আপনার কাছে একটি হতাশার বিষয় আছে এখানে < / একটি>।

0
যোগ

শতাংশ প্রস্থের শিশু কেন না?   একেবারে পালিত মূল পিতা বা মাতা কাজ   IE7?

কারণ এটি ইন্টারনেট এক্সপোডার

আমি এখানে অনুপস্থিত কিছু আছে?

অর্থাৎ, আপনার সহকর্মী / ক্লায়েন্টদের সচেতনতা বৃদ্ধির জন্য যে IE sucks

শিশুর উপর পিক্সেল ভিত্তিক প্রস্থ ছাড়াও কি একটি সহজ সমাধান আছে?

লাইট লেআউট তৈরি করার সময় যখন তারা আরো উপযোগী হয় তখন আপনি তাদের প্যাডিং এবং মার্জিন এবং ফন্ট মাপের জন্য ব্যবহার করতে পারেন em ইউনিটগুলি ব্যবহার করুন। তাই আপনার সাদা স্থানটি আপনার লেখার অনুপাতিকভাবে বৃদ্ধি পায় এবং যদি এটি পুনরায় আকার দেওয়া হয় (যা সত্যিই আপনার প্রয়োজন)। আমি মনে করি না শতাংশ ems চেয়ে একটি সূক্ষ্ম নিয়ন্ত্রণ দিতে; আপনি ems এর শততম (0.01 এম) মধ্যে উল্লেখ করার থামাতে কিছুই নেই এবং ব্রাউজার হিসাবে এটি উপযুক্ত দেখায় হিসাবে ব্যাখ্যা করবে।

এখানে কি CSS স্পেসিফিকেশন আছে যা এইটিকে কভার করে?

যতক্ষণ পর্যন্ত আমি মনে করি em এবং% 'গুলি সিএসএস 1.0 এ ফিরে একা ফন্ট মাপের জন্য ছিল।

0
যোগ

আমি মনে করি এই পুরাতন ব্রাউজারে hasLayout সম্পত্তিকে বাস্তবায়িত করার পদ্ধতিটির সাথে কিছু করার আছে।

আপনি কাজ আছে কিনা দেখতে IE8 এ আপনার কোড চেষ্টা করেছি, অত্যধিক? IE8 এর একটি ডিবাগার রয়েছে ( F12 ) এবং IE7 মোডেও চালানো যায়।

0
যোগ