2016-05-15 4 views
2

Ich verwende den mdl-Tooltip auf einem Material-Symbol. Was kann ich tun, damit der Tooltip am Symbol haftet?Wie kann ich den mdl Tooltip machen, um an dem Icon zu bleiben?

Normalerweise sieht der Tooltip wie diese, aber wenn der Tooltip ist auf einem falschen div gescrollt:

enter image description here

Aber auf Scroll sieht es wie folgt aus:

enter image description here

Code: HTML

<div> 
    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label"> 
     <input class="mdl-textfield__input" type="text" id="headerLogoLinkField" onchange="updateHeaderLogoLink()" > 
     <label class="mdl-textfield__label" for="headerLogoLinkField">Header Logo Link...</label> 
    </div> 
    <div id="header-logo-reset" class="icon material-icons toinline">replay</div> 
    <div class="mdl-tooltip toinline" for="header-logo-reset"> 
     Reset To Default 
    </div> 
</div> 

CSS

.toinline { 
display: inline; 
} 
+1

Setzen Sie Ihre absolute Position Tooltip in eine relative Position Eltern und es w krank Arbeiten Ich nehme an –

+0

Will versuchen, dass ich neu in CSS bin, so dass ich nach oben schauen muss. –

+1

Wird eine Geige für Sie als Antwort in wenigen Minuten machen –

Antwort

1

So, wie ich in den Kommentaren gesagt, diese Art von Verhalten vermeiden Sie Ihren absolute Position Tooltip innerhalb eineine relativ Eltern setzen können.

Hier ist eine Geige zum Beispiel mit Inhalt Text über und unter dem Eingabetext. Wenn Sie den Mauszeiger über Ihre Eingabe bewegen und blättern, können Sie sehen, dass die QuickInfo am selben Ort bleibt und sich nicht bewegt.

HTML-Teil

<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label"> 
    <input class="mdl-textfield__input" type="text" id="headerLogoLinkField" onchange="updateHeaderLogoLink()" > 
    <label class="mdl-textfield__label" for="headerLogoLinkField">Header Logo Link...</label> 
    <div class="mdl-tooltip toinline" for="header-logo-reset"> 
     Reset To Default 
    </div> 
    </div> 

CSS Teil

.toinline { 
    background: #333; 
    position: absolute; 
    color: #fff; 
    padding: 5px; 
    display: none; 
    top: -30px; 
    left: 50px; 
} 

.mdl-textfield:hover .toinline { 
    display: block; 
} 

.mdl-textfield { position: relative; } 

Fiddle

+0

Aus irgendeinem Grund kann ich das Symbol jetzt nicht sehen. –

+0

Bekam es. Vielen Dank. –

+0

Warum haben Sie diese Antwort als gelöst geklärt? –