মাইক এবং রবার্টকে তাদের সহায়ক পোস্টগুলির জন্য অনেক ধন্যবাদ!
আপনার এইচটিএমএলে যদি দুটি উপাদান থাকে এবং আপনি চান :hover
একটির উপরে ও অন্যের মধ্যে একটি শৈলীর পরিবর্তন লক্ষ্য তবে দুটি উপাদান অবশ্যই সরাসরি সম্পর্কিত হতে হবে - পিতা-মাতা, শিশু বা ভাইবোন। এর অর্থ এই যে দুটি উপাদান অবশ্যই একটির অন্যের মধ্যে থাকতে পারে বা উভয়ই একই বৃহত্তর উপাদানের মধ্যে থাকা আবশ্যক।
আমার ব্যবহারকারীরা আমার সাইটের মাধ্যমে এবং :hover
হাইলাইট হওয়া শর্তগুলি পড়ার সাথে সাথে আমি ব্রাউজারের ডানদিকে একটি বাক্সে সংজ্ঞা প্রদর্শন করতে চেয়েছিলাম ; সুতরাং, আমি চাইনি যে 'পাঠ্য' উপাদানটির ভিতরে 'সংজ্ঞা' উপাদানটি প্রদর্শিত হোক।
আমি প্রায় ছেড়ে দিয়েছি এবং আমার পৃষ্ঠায় জাভাস্ক্রিপ্ট যুক্ত করেছি, তবে এটিই ভবিষ্যতের ডাং! আমাদের পছন্দসই প্রভাবগুলি অর্জন করতে আমাদের উপাদানগুলি কোথায় রাখতে হবে তা জানিয়ে আমাদের সিএসএস এবং এইচটিএমএল থেকে ব্যাক সাস সহ্য করা উচিত নয়! শেষ পর্যন্ত আমরা আপস করলাম।
ফাইলে প্রকৃত এইচটিএমএল উপাদানগুলি :hover
একে অপরের বৈধ টার্গেট হওয়ার জন্য বাসা বাঁধতে হবে বা একটি একক উপাদানের মধ্যে থাকা থাকতে হবে , তবে সিএসএস position
অ্যাট্রিবিউটটি আপনি যেখানে চান সেখানে যে কোনও উপাদান প্রদর্শন করতে ব্যবহার করা যেতে পারে। আমি অবস্থানটি ব্যবহার করেছি: আমার লক্ষ্য নির্ধারণের জন্য স্থির:hover
এটিএমএল ডকুমেন্টে তার অবস্থান নির্বিশেষে ব্যবহারকারীর স্ক্রিনে যেখানে আমি এটি চেয়েছিলাম সেখানে কর্মের ।
এইচটিএমএল:
<div id="explainBox" class="explainBox"> /*Common parent*/
<a class="defP" id="light" href="http://en.wikipedia.or/wiki/Light">Light /*highlighted term in text*/
</a> is as ubiquitous as it is mysterious. /*plain text*/
<div id="definitions"> /*Container for :hover-displayed definitions*/
<p class="def" id="light"> /*example definition entry*/ Light:
<br/>Short Answer: The type of energy you see
</p>
</div>
</div>
সিএসএস:
/*read: "when user hovers over #light somewhere inside #explainBox
set display to inline-block for #light directly inside of #definitions.*/
#explainBox #light:hover~#definitions>#light {
display: inline-block;
}
.def {
display: none;
}
#definitions {
background-color: black;
position: fixed;
/*position attribute*/
top: 5em;
/*position attribute*/
right: 2em;
/*position attribute*/
width: 20em;
height: 30em;
border: 1px solid orange;
border-radius: 12px;
padding: 10px;
}
এই উদাহরণে একটি লক্ষ্য :hover
মধ্যে একটি উপাদান থেকে কমান্ড #explainBox
আবশ্যক পারেন হতে #explainBox
মধ্যে অথবা এছাড়াও #explainBox
। #explainBox
প্রযুক্তিগতভাবে এইচটিএমএল ডকুমেন্টের মধ্যে অবাঞ্ছিত অবস্থানে থাকা সত্ত্বেও # সংজ্ঞাগুলিতে নির্ধারিত অবস্থানের বৈশিষ্ট্যগুলি এটিকে পছন্দসই স্থানে (বাহিরে ) উপস্থিত হতে বাধ্য করে ।
আমি বুঝতে পারি যে এটি #id
একাধিক এইচটিএমএল উপাদানের জন্য একই ব্যবহার করা খারাপ ফর্ম হিসাবে বিবেচিত হয় ; তবে, এই ক্ষেত্রে #light
স্বতন্ত্রভাবে #id
'ডি উপাদানগুলিতে স্ব স্ব অবস্থানের কারণে স্বতন্ত্রভাবে বর্ণনা করা যেতে পারে । id
#light
এই ক্ষেত্রে পুনরাবৃত্তি না করার কোনও কারণ আছে কি ?
~
জন্য 'ঘনক্ষেত্র DOM এবং শেয়ার একটি পিতা বা মাতা মধ্যে ধারক পর কোথাও'