পরম অবস্থানের ভিতরে সম্পূর্ণ অবস্থান


92

আমার 3 টি divউপাদান রয়েছে।

1 ম divবড় (মোড়ানো) এবং রয়েছে hasposition:relative;

2 য় স্থিত divহয় 1 ম divআপেক্ষিক অবস্থানের নিখুঁত (এবং 1 ম অন্তর্ভুক্ত div)

3 য় 2 য় divঅন্তর্ভুক্ত রয়েছে এবং এটিরও divপরম অবস্থান রয়েছে।

<div id="1st">
   <div id="2nd">
     <div id="3rd"></div>
   </div>
</div>

তৃতীয় divঅবস্থানটি ২ য় div(যেটিও 1 ম এর পরম অবস্থান div) এর সাথে পরম এবং divআপেক্ষিক অবস্থানের সাথে 1 ম নয় কেন?

কারণ তৃতীয়টি divপরম পজিশনে ২ য় স্থানে স্থিত অবস্থান div


এটিই আমি যা খুঁজছি তা হ'ল এবং আপনার প্রশ্নের এই উত্তরগুলি আমার চোখ খুলল: \।
বেনিয়ামিন

পরম: উপাদানটি তার প্রথম অবস্থিত (স্থিতিশীল নয়) পূর্বপুরুষের সাথে তুলনামূলকভাবে
অবস্থানযুক্ত

উত্তর:


95

কারণ position: absoluteঠিক যেমনটি শিশুদের জন্য আপেক্ষিক অবস্থান পুনরায় সেট position: relativeকরে।

এর আশেপাশে কোনও উপায় নেই - আপনি যদি তৃতীয়টিকে divপ্রথমটির তুলনায় একেবারে অবস্থান করতে চান তবে আপনাকে এটিকে প্রথমটির সন্তানের তৈরি করতে হবে।


সুতরাং মূলত পরম অবস্থান এটির পরম অবস্থানের সন্তানের জন্য আপেক্ষিক অবস্থান হয়?
pufos

@ pufos ধরণের। 0px / 0pxশিশুদের জন্য অবস্থান দ্বারা রিসেট পায়position: absolute
Pekka

25
@ ফুফস আমার ধারণা আপনি এটিকে কিছুটা বিভ্রান্ত করছেন। position:relativeএর মানে হল যে উপাদানটি বর্তমান অবস্থান থেকে তুলনামূলকভাবে (উপরে, ডান, নীচে বাম ব্যবহার করে) অবস্থান করবে। position: absoluteমানে ব্রাউজার উইন্ডো বা প্রথম পিতা বা মাতা আপেক্ষিক স্থান হবে position: absoluteবা position: relative
সেলার

আপনি কি এই অনলাইন একটি রেফারেন্স ভাগ করতে পারেন? কারণ আমি কোনও খুঁজে পেলাম না ... এবং ... অনেক অনেক ধন্যবাদ
pufos

4
@ বুফস খুব বেসিক রেফারেন্সটি এখানে: w3.org/TR/CSS2/visuren.html#choose-position
পেক্কা

27

উভয়ই position:relativeএবং position:absoluteপজিশনিং হিসাবে উপকরণযুক্ত উপাদান স্থাপন করে।

আপনার যদি ডিভ 3 এর ভিত্তিতে ডিভিড 3 স্থাপনের প্রয়োজন হয় তবে এটিকে ডিভ 1 এর সরাসরি সন্তানের করুন।

দ্রষ্টব্য যে এর position: relativeঅর্থ উপাদানটি তার প্রাকৃতিক অবস্থানের তুলনায় অবস্থানযুক্ত এবং এর position: absoluteঅর্থ উপাদানটি তার প্রথম position:relativeবা position:absoluteপূর্বপুরুষের তুলনায় অবস্থিত ।


আমি চেয়েছিলাম তৃতীয় ডিভিটি সম্পূর্ণরূপে অবস্থিত ডিভের সাথে নিখুঁত অবস্থানে থাকতে হবে তবে আমি জানতাম না যে এটি স্ট্যান্ডার্ড (ক্রসব্রোজার) কিনা .. এবং আমি অনলাইনে স্পেসিফিকেশনগুলি খুঁজে পেলাম না ... অনেক ধন্যবাদ
pufos

বিভাগে নিরঙ্কুশ অবস্থান: w3.org/TR/CSS21/visuren.html#comp-abspos
মাইক

@ মাইকটুনিক্লিফের নিখুঁত অর্থ উপাদানটি তার প্রথম অবস্থানের সাথে তুলনামূলকভাবে অবস্থানযুক্ত: এটিও স্থির করা হয়েছে
ট্রান কিম ডি

15

স্থিতিশীল অবস্থান: স্থিতিশীল অবস্থানটি কোনও ডিফল্টরূপে কোনও উপাদান নির্দিষ্ট না থাকলে আপনার এইচটিএমএল ফাইলের স্বাভাবিক প্রবাহে প্রদর্শিত হবে।

গুরুত্বপূর্ণ: top, right, bottomএবং leftবৈশিষ্ট্য কোনো প্রভাব একটি স্ট্যাটিক্যালি স্থান উপাদান আছে।

আপেক্ষিক অবস্থান: আপেক্ষিক মান সহ কোনও উপাদানকে অবস্থান দেওয়া আপনার এইচটিএমএল ফাইলের স্বাভাবিক প্রবাহে উপাদানটিকে (এবং এটি স্থান দখল করে) রাখে।

এর পরে আপনি বৈশিষ্ট্য ব্যবহার করে কিছু পরিমাণ দ্বারা উপাদান স্থানান্তর করতে পারেন left, right, topএবং bottom। তবে এটির ফলে উপাদানটি পৃষ্ঠায় থাকা অন্যান্য উপাদানগুলিকে ওভারল্যাপ করতে পারে — যা আপনার পছন্দসই প্রভাব হতে পারে বা নাও পারে।

তুলনামূলকভাবে অবস্থানযুক্ত উপাদানটি তার স্থান থেকে সরে যেতে পারে তবে এটি যে স্থানটি দখল করেছে তা এখনও অবধি রয়েছে।

স্থিতি স্থিতি : কোনও উপাদানে পরম অবস্থান মান প্রয়োগ করা এটিকে স্বাভাবিক প্রবাহ থেকে সরিয়ে দেয়। আপনি যখন নিখুঁত অবস্থানযুক্ত উপাদানটি সরান, তখন এর রেফারেন্স পয়েন্টটি তার নিকটবর্তী উপাদানগুলির উপরের / বামে স্থিতিশীল ব্যতীত ঘোষিত একটি অবস্থান থাকে — এটিকে নিকটস্থ অবস্থান প্রসঙ্গও বলা হয়। সুতরাং, যদি স্থির ব্যতীত অন্য কোনও অবস্থানের সমন্বিত কোনও উপাদান উপস্থিত না থাকে, তবে এটি শরীরের উপাদানটির উপরের-বাম কোণ থেকে অবস্থিত।

আপনার ক্ষেত্রে তৃতীয়টির নিকটতম ধারণযুক্ত পাত্রটি ২ য়।


4

তবুও আরেকটি পরিষ্কার উত্তর answer

আপনার বর্তমান পরিস্থিতি এটি:

#my-parent {position: absolute}
#my-parent .my_child {position: absolute}

এবং আপনি এটির সাথে একধরণের লড়াই করছেন।

আপনি যদি এইচটিএমএল পরিবর্তন করতে পারেন তবে কেবল এটি করুন:

#my-parent {position: absolute}
#my-parent .my-wrapper {position: relative}        /* Since you've added the wrapper in HTML */
#my-parent .my-wrapper .my-child {position: absolute}  /* Now you can play with it */


এই পদ্ধতির আশ্চর্যজনক, কেন এটি আমার সমস্যার সমাধান করে তা এখনও আমার কোনও ধারণা নেই। আমার সমস্যাটি হ'ল অন্য কোনও কারণে আমার তৃতীয় উপাদানটি প্রথম উপাদানটির সন্তান হতে পারে না।
উইন্ডমায়াও

2

কারণ 3 য় divউপাদান একেবারে 2nd স্থান divউপাদান কারণ যেভাবে CSS বৈশিষ্ট ব্যাখ্যা হয় এখানে , হয় কারণ "পিতা বা মাতা" উপাদান (ভাল বললঃ ধারণকারী ব্লক) একটি এর একেবারে স্থান উপাদান নয় , অগত্যা তার অবিলম্বে পিতা বা মাতা উপাদান কিন্তু বরং এর তাত্ক্ষণিক অবস্থানগত উপাদান অর্থাৎ যে কোনও উপাদান যার অবস্থানের staticজন্য উদাহরণ ব্যতীত অন্য কিছুতে সেট করা থাকেposition: relative/absolute/fixed/sticky;

সুতরাং, আপনার কোডে যখনই সম্ভব, আপনি যদি তৃতীয় divউপাদানটি প্রথম দিকে সম্মতিতে একেবারে অবস্থান করতে চান তবে divআপনার দ্বিতীয় divউপাদানটিকে position: static;তার ডিফল্ট মান হিসাবে তৈরি করা উচিত (অথবা কেবলমাত্র position: ...আপনার ২ য় divউপাদানটির নিয়ম সেটটিতে কোনও ঘোষণা সরিয়ে ফেলুন ) ।

উপরে 1 ম করতে হবে ধারণকারী ব্লক 3rd একেবারে স্থান , 2nd উপেক্ষা এই পজিশনিং উদ্দেশ্যে নয়।divdivdiv

আশা করি এটা সাহায্য করবে.


0

যদি কেউ এখনও এর উত্তর খুঁজছেন।

আমি clear: both;প্রথম একেবারে অবস্থিত ডিভের মধ্যে একটি স্টাইল যুক্ত করে এই ফলাফলটি অর্জন করতে সক্ষম হয়েছিল যা শিশুটিকে পুনরায় সেট করে এবং এটির নিজস্ব absoluteঅবস্থান ব্যবহার করার অনুমতি দেয় ।

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