নিছক সিএসএস-সলিউশন
অনিচ্ছাকৃতভাবে চলমান ডিভের জন্য কন্টেন্টহীন প্রথম সন্তানের প্রিপেন্ড করতে নিম্নলিখিত কোডটি ব্যবহার করুন:
.parent:before
{content: '';position: relative;height: 0px;width: 0px;overflow: hidden;white-space: pre;}
এই পদ্ধতির সুবিধাটি হ'ল আপনার কোনও বিদ্যমান উপাদানগুলির সিএসএস পরিবর্তন করার দরকার নেই এবং তাই নকশায় ন্যূনতম প্রভাব পড়ে। এই তার পাশে, উপাদান যে যোগ করা হয় একটি সিউডো-উপাদান, যা হয় না করে DOM-ট্রি হবে।
সিউডো-উপাদানগুলির জন্য সমর্থন বিস্তৃত: ফায়ারফক্স 3+, সাফারি 3+, ক্রোম 3+, অপেরা 10+ এবং আই 8+। এটি যে কোনও আধুনিক ব্রাউজারে কাজ করবে (নতুনের সাথে সতর্ক থাকুন ::before
, যা আইই 8 তে সমর্থিত নয়)।
প্রসঙ্গ
যদি কোনও উপাদানের প্রথম সন্তানের একটি থাকে margin-top
তবে পিতামাতারা অনর্থক মার্জিনকে ভেঙে ফেলার উপায় হিসাবে তার অবস্থানটি সামঞ্জস্য করবে। কেন? এটা ঠিক এরকম।
নিম্নলিখিত সমস্যাটি দেওয়া:
<style type="text/css">
div {position: relative;}
.parent {background-color: #ccc;}
.child {margin-top: 40px;}
</style>
<div class="parent"><!--This div moves 40px too-->
<div class="child">Hello world!</div>
</div>
আপনি কোনও সাধারণ স্থানের মতো সামগ্রী সহ শিশুকে যুক্ত করে এটি ঠিক করতে পারেন। তবে আমরা সকলেই কেবল ডিজাইনের ইস্যুতে স্পেস যুক্ত করতে ঘৃণা করি। অতএব, white-space
জাল সামগ্রীতে সম্পত্তিটি ব্যবহার করুন ।
<style type="text/css">
div {position: relative;}
.parent {background-color: #ccc;}
.child {margin-top: 40px;}
.fix {position: relative;white-space: pre;height: 0px;width: 0px;overflow: hidden;}
</style>
<div class="parent"><!--This div won't move anymore-->
<div class="fix"></div>
<div class="child">Hello world!</div>
</div>
যেখানে position: relative;
ঠিক করার সঠিক অবস্থান নিশ্চিত করে। এবং white-space: pre;
আপনাকে কোনও কন্টেন্ট - একটি সাদা জায়গার মতো - সংশোধন করতে হবে না makes এবং height: 0px;width: 0px;overflow: hidden;
নিশ্চিত করে নিন যে আপনি কখনই সমাধানটি দেখতে পাবেন না।
আপনি যোগ করতে হবে পারে line-height: 0px;
বা max-height: 0px;
তা নিশ্চিত করার জন্য উচ্চতা আসলে শূন্য প্রাচীন ইন্টারনেট ব্রাউজার (আমি নিশ্চিত না আছি) রয়েছে। এবং allyচ্ছিকভাবে আপনি <!--dummy-->
এটি পুরানো আই ব্রাউজারগুলিতে যুক্ত করতে পারেন, যদি এটি কাজ না করে।
সংক্ষেপে, আপনি কেবল সিএসএস দিয়ে এই সব করতে পারেন (যা এইচটিএমএল ডিওএম-ট্রিটিতে একটি আসল শিশুকে যুক্ত করার প্রয়োজনীয়তা সরিয়ে দেয়):
<style type="text/css">
div {position: relative;}
.parent {background-color: #ccc;}
.child {margin-top: 40px;}
.parent:before {content: '';position: relative;height: 0px;width: 0px;overflow: hidden;white-space: pre;}
</style>
<div class="parent"><!--This div won't move anymore-->
<div class="child">Hello world!</div>
</div>