আপনি প্রকৃত title
বৈশিষ্ট্যটি স্টাইল করতে পারবেন না
title
বৈশিষ্ট্যের পাঠ্য কীভাবে প্রদর্শিত হয় তা ব্রাউজার দ্বারা সংজ্ঞায়িত করা হয় এবং ব্রাউজার থেকে ব্রাউজারে পরিবর্তিত হয়। ব্রাউজারটি title
বৈশিষ্ট্যের উপর ভিত্তি করে ব্রাউজারটি প্রদর্শন করে এমন সরঞ্জামদণ্ডে কোনও ওয়েবপৃষ্ঠার জন্য কোনও স্টাইল প্রয়োগ করা সম্ভব নয় ।
তবে আপনি অন্যান্য বৈশিষ্ট্য ব্যবহার করে খুব অনুরূপ কিছু তৈরি করতে পারেন।
আপনি সিএসএস এবং একটি কাস্টম বৈশিষ্ট্য (উদাহরণস্বরূপ data-title
) দিয়ে সিউডো-টুলটিপ তৈরি করতে পারেন
এই জন্য, আমি একটি data-title
বৈশিষ্ট্য ব্যবহার করব । data-*
বৈশিষ্ট্যগুলি হ'ল ডিওএম উপাদান / এইচটিএমএলে কাস্টম ডেটা সঞ্চয় করার একটি পদ্ধতি। এগুলি অ্যাক্সেস করার একাধিক উপায় রয়েছে । গুরুত্বপূর্ণভাবে, তারা সিএসএস দ্বারা নির্বাচিত হতে পারে।
প্রদত্ত আপনার সাথে উপাদানের নির্বাচন করতে সিএসএস ব্যবহার করতে পারেন data-title
বৈশিষ্ট্য, তাহলে আপনি তৈরি করতে সিএসএস ব্যবহার করতে পারেন :after
(অথবা :before
) content
অ্যাট্রিবিউট ব্যবহার করে এর মান রয়েছে সেটা attr()
।
স্টাইলযুক্ত টুলটিপ উদাহরণ
আরও বড় এবং একটি ভিন্ন পটভূমির রঙ সহ (প্রশ্নের অনুরোধ অনুযায়ী):
[data-title]:hover:after {
opacity: 1;
transition: all 0.1s ease 0.5s;
visibility: visible;
}
[data-title]:after {
content: attr(data-title);
background-color: #00FF00;
color: #111;
font-size: 150%;
position: absolute;
padding: 1px 5px 2px 5px;
bottom: -1.6em;
left: 100%;
white-space: nowrap;
box-shadow: 1px 1px 3px #222222;
opacity: 0;
border: 1px solid #111111;
z-index: 99999;
visibility: hidden;
}
[data-title] {
position: relative;
}
<a href="example.com" data-title="My site"> Link </a> with styled tooltip (bigger and with a different background color, as requested in the question)<br/>
<a href="example.com" title="My site"> Link </a> with normal tooltip
আরও বিস্তৃত স্টাইলিং ( এই ব্লগ পোস্ট থেকে অভিযোজিত ):
[data-title]:hover:after {
opacity: 1;
transition: all 0.1s ease 0.5s;
visibility: visible;
}
[data-title]:after {
content: attr(data-title);
position: absolute;
bottom: -1.6em;
left: 100%;
padding: 4px 4px 4px 8px;
color: #222;
white-space: nowrap;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-box-shadow: 0px 0px 4px #222;
-webkit-box-shadow: 0px 0px 4px #222;
box-shadow: 0px 0px 4px #222;
background-image: -moz-linear-gradient(top, #f8f8f8, #cccccc);
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f8f8f8),color-stop(1, #cccccc));
background-image: -webkit-linear-gradient(top, #f8f8f8, #cccccc);
background-image: -moz-linear-gradient(top, #f8f8f8, #cccccc);
background-image: -ms-linear-gradient(top, #f8f8f8, #cccccc);
background-image: -o-linear-gradient(top, #f8f8f8, #cccccc);
opacity: 0;
z-index: 99999;
visibility: hidden;
}
[data-title] {
position: relative;
}
<a href="example.com" data-title="My site"> Link </a> with styled tooltip<br/>
<a href="example.com" title="My site"> Link </a> with normal tooltip
জ্ঞাত সমস্যা
একটি বাস্তব title
টুলটিপ থেকে পৃথক, উপরের সিএসএস দ্বারা উত্পাদিত সরঞ্জামদণ্ডটি প্রয়োজনীয়ভাবে পৃষ্ঠায় দৃশ্যমান হওয়ার গ্যারান্টিযুক্ত নয় (অর্থাত্ এটি দৃশ্যমান অঞ্চলের বাইরেও থাকতে পারে)। অন্যদিকে, এটি বর্তমান উইন্ডোর মধ্যে থাকার নিশ্চয়তা রয়েছে, যা প্রকৃত সরঞ্জামদণ্ডের ক্ষেত্রে নয়।
তদ্ব্যতীত, সিউডো-টুলটিপটি মৌলটি যে মৌলের উপর রয়েছে তার তুলনায় সিউডো-টুলটিপযুক্ত উপাদানটির সাথে তুলনামূলকভাবে অবস্থান করে has আপনি সিউডো-টুলটিপ প্রদর্শিত হবে যেখানে সূক্ষ্ম-সুর করতে চাইতে পারেন। এটি উপাদানটির সাথে সম্পর্কিত কোনও পরিচিত অবস্থানে উপস্থিত হওয়া পরিস্থিতির উপর নির্ভর করে কোনও উপকার বা ঘাটতি হতে পারে।
আপনি ব্যবহার করতে পারবেন না :before
বা :after
উপাদান যা পাত্রে করা হয় না
"একটি ইনপুট ক্ষেত্রে সিউডো-এলিমেন্টের আগে: বা পরে: আমি কি একটি ব্যবহার করতে পারি?" এই উত্তরের একটি ভাল ব্যাখ্যা রয়েছে ?
কার্যকরীভাবে, এর অর্থ এই যে তোমার মত উপাদানে সরাসরি এই পদ্ধতি ব্যবহার করা যাবে না <input type="text"/>
, <textarea/>
, <img>
, ইত্যাদি সহজ সমাধান একটি উপাদান যে একটি ধারক নয় মোড়ানো হয় <span>
বা <div>
এবং ধারক উপর সিউডো-টুলটিপ আছে।
একটি ধারকহীন <span>
উপাদান মোড়ানোর জন্য সিউডো-টুলটিপ ব্যবহারের উদাহরণ :
[data-title]:hover:after {
opacity: 1;
transition: all 0.1s ease 0.5s;
visibility: visible;
}
[data-title]:after {
content: attr(data-title);
background-color: #00FF00;
color: #111;
font-size: 150%;
position: absolute;
padding: 1px 5px 2px 5px;
bottom: -1.6em;
left: 100%;
white-space: nowrap;
box-shadow: 1px 1px 3px #222222;
opacity: 0;
border: 1px solid #111111;
z-index: 99999;
visibility: hidden;
}
[data-title] {
position: relative;
}
.pseudo-tooltip-wrapper {
/*This causes the wrapping element to be the same size as what it contains.*/
display: inline-block;
}
Text input with a pseudo-tooltip:<br/>
<span class="pseudo-tooltip-wrapper" data-title="input type="text""><input type='text'></span><br/><br/><br/>
Textarea with a pseudo-tooltip:<br/>
<span class="pseudo-tooltip-wrapper" data-title="this is a textarea"><textarea data-title="this is a textarea"></textarea></span><br/>
উপরে লিঙ্ক করা ব্লগ পোস্টের কোড থেকে (যা আমি এখানে প্রথমে উত্তরে দেখেছি যে এটি চুরি করেছে), data-*
এট্রিবিটের পরিবর্তে কোনও বৈশিষ্ট্য ব্যবহার করা আমার কাছে স্পষ্ট বলে মনে হয়েছিল title
। এটি করার জন্য সেই উত্তরের (এখন মুছে ফেলা) উত্তরে স্নোসটর্ম দ্বারা একটি মন্তব্যেও পরামর্শ দেওয়া হয়েছিল ।