दिलचस्प पोस्ट
REST एपीआई त्रुटि रिटर्न अच्छे अभ्यास मैं फिल्म के रूप में UIImage सरणी कैसे निर्यात करूं? डेटाबेस का डिफ़ॉल्ट मिलान कैसे बदला जाए? पाठ अंतर एल्गोरिथ्म जनहित याचिका का उपयोग करने के लिए सफेद स्थान का ट्रिम करें सेवा डेटा परिवर्तित होने पर स्कोप मान अपडेट करें Angular.js का चयन करें बॉक्स में डिफ़ॉल्ट विकल्प कैसे होगा पायथन क्यों कार्यात्मक प्रोग्रामिंग के लिए बहुत अच्छा नहीं है? decltype और कोष्ठक @ Html.HiddenFor ASP.NET MVC में सूचियों पर काम नहीं करता है बड़ी संख्या के मापांक की गणना कैसे करें? WPF उपयोगकर्ता नियंत्रण में डेटा बाइंडिंग पाठ फ़ाइलों में स्ट्रिंग की खोज कैसे करें? यूआरएल एन्कोडिंग स्पेस वर्ण: + या% 20? पांडों में सेटिंगविथकॉपी चेतावनी से निपटने के लिए कैसे?

एंकर टैग के अंदर शीर्षक विशेषता की शैली को कैसे बदलना है?

उदाहरण:

<a href="example.com" title="My site"> Link </a> 

मैं "शीर्षक" विशेषता को कैसे बदलूं? डिफ़ॉल्ट रूप से, यह सिर्फ पीले रंग की पृष्ठभूमि और छोटे फ़ॉन्ट है। मैं इसे बड़ा और पृष्ठभूमि रंग बदलना चाहूंगा।

[संपादित करें] क्या शीर्षक विशेषता के लिए सीएसएस सेटिंग है?

वेब के समाधान से एकत्रित समाधान "एंकर टैग के अंदर शीर्षक विशेषता की शैली को कैसे बदलना है?"

CSS3 के साथ अब सामग्री गुण का उपयोग करके आसानी से title विशेषता को शैली में संभव है। यहां एक छोटा डेमो है:

सीएसएस

 a { color: #900; text-decoration: none; } a:hover { color: red; position: relative; } a[title]:hover:after { content: attr(title); padding: 4px 8px; color: #333; position: absolute; left: 0; top: 100%; z-index: 20; 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, #eeeeee, #cccccc); background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #eeeeee),color-stop(1, #cccccc)); background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc); background-image: -moz-linear-gradient(top, #eeeeee, #cccccc); background-image: -ms-linear-gradient(top, #eeeeee, #cccccc); background-image: -o-linear-gradient(top, #eeeeee, #cccccc); } 

डेमो http://jsfiddle.net/tDQWN/

यह कैसे करना है इसका उदाहरण यहां दिया गया है:

 a.tip { border-bottom: 1px dashed; text-decoration: none } a.tip:hover { cursor: help; position: relative } a.tip span { display: none } a.tip:hover span { border: #c0c0c0 1px dotted; padding: 5px 20px 5px 5px; display: block; z-index: 100; background: url(../images/status-info.png) #f0f0f0 no-repeat 100% 5%; left: 0px; margin: 10px; width: 250px; position: absolute; top: 10px; text-decoration: none } 
 <a href="#" class="tip">Link<span>This is the CSS tooltip showing up when you mouse over the link</span></a> 

सीएसएस टूलटिप उपस्थिति को बदल नहीं सकता। यह ब्राउज़र / ओएस आधारित है यदि आप कुछ अलग करना चाहते हैं, तो आपको डिफ़ॉल्ट टूलटिप के बजाए तत्व पर फ़िसल करते समय मार्कअप उत्पन्न करने के लिए जावास्क्रिप्ट का उपयोग करना होगा।

मैंने सोचा कि मैं अपने 20 लाइन जावास्क्रिप्ट समाधान यहाँ पोस्ट करेंगे। यह सही नहीं है, लेकिन कुछ के लिए उपयोगी हो सकता है कि आप अपने टूलटिप्स से क्या जरूरत है।

इसका उपयोग कब किया जाए

  • स्वचालित रूप से एक HTML विशेषता के साथ सभी HTML तत्वों के लिए टूलटिप को परिभाषित करता है (इसमें भविष्य में दस्तावेज़ को गतिशील रूप से जोड़ा गया तत्व शामिल हैं)
  • हर टूलटिप के लिए जरूरी नहीं जावास्क्रिप्ट / एचटीएमएल परिवर्तन या हैक्स (केवल TITLE विशेषता, शब्दार्थ स्पष्ट)
  • बहुत हल्का (लगभग 300 बाइट्स जिप्प और मिनिफाइड)
  • आप केवल एक बहुत ही बुनियादी शैली योग्य टूलटिप चाहते हैं

जब उपयोग नहीं करने के लिए

  • JQuery की आवश्यकता होती है, इसलिए यदि आप jQuery का उपयोग नहीं करते तो इसका उपयोग न करें
  • नेस्टेड तत्वों के लिए खराब समर्थन दोनों टूलटिप्स हैं
  • आपको स्क्रीन पर एक से अधिक टूलटिप की आवश्यकता होती है
  • आपको टूलटिप को कुछ समय बाद गायब होने की आवश्यकता है

कोड

 // Use a closure to keep vars out of global scope (function () { var ID = "tooltip", CLS_ON = "tooltip_ON", FOLLOW = true, DATA = "_tooltip", OFFSET_X = 20, OFFSET_Y = 10, showAt = function (e) { var ntop = e.pageY + OFFSET_Y, nleft = e.pageX + OFFSET_X; $("#" + ID).html($(e.target).data(DATA)).css({ position: "absolute", top: ntop, left: nleft }).show(); }; $(document).on("mouseenter", "*[title]", function (e) { $(this).data(DATA, $(this).attr("title")); $(this).removeAttr("title").addClass(CLS_ON); $("<div id='" + ID + "' />").appendTo("body"); showAt(e); }); $(document).on("mouseleave", "." + CLS_ON, function (e) { $(this).attr("title", $(this).data(DATA)).removeClass(CLS_ON); $("#" + ID).remove(); }); if (FOLLOW) { $(document).on("mousemove", "." + CLS_ON, showAt); } }()); 

इसे कहीं भी चिपकाएं, जब भी आप DOM तैयार होने से पहले यह कोड चलाते हैं, तब भी काम करना चाहिए (DOM तैयार होने तक यह आपकी टूलटिप्स नहीं दिखाएगा)।

अनुकूलित करें

आप इसे थोड़ा अनुकूलित करने के लिए दूसरी पंक्ति पर var घोषणाओं को बदल सकते हैं।

 var ID = "tooltip"; // The ID of the styleable tooltip var CLS_ON = "tooltip_ON"; // Does not matter, make it somewhat unique var FOLLOW = true; // TRUE to enable mouse following, FALSE to have static tooltips var DATA = "_tooltip"; // Does not matter, make it somewhat unique var OFFSET_X = 20, OFFSET_Y = 10; // Tooltip's distance to the cursor 

अंदाज

अब आप निम्न सीएसएस का उपयोग कर अपने टूलटिप्स को स्टाइल कर सकते हैं:

 #tooltip { background: #fff; border: 1px solid red; padding: 3px 10px; } 

मैं एक जावास्क्रिप्ट टूलटिप की सिफारिश करेगा मैंने ज़ोर के टूलटिप को अक्सर प्रयोग किया है और लचीलेपन से प्यार किया है: http://www.walterzorn.de/en/tooltip/tooltip_e.htm

यदि आप और अधिक आरामदायक हैं तो यहां कुछ jQuery विकल्प भी उपलब्ध हैं: http://www.webdesignbooth.com/15-jquery-plugins-to-create-an-user-friendly-tooltip/

 a[title="My site"] { color: red; } 

यह किसी भी विशेषता के साथ भी काम करता है जिसे आप उदाहरण के लिए जोड़ना चाहते हैं:

एचटीएमएल

 <div class="my_class" anything="whatever">My Stuff</div> 

सीएसएस

 .my_class[anything="whatever"] { color: red; } 

इसे देखें: http://jsfiddle.net/vpYWE/1/