2016-04-17 13 views
0

style Ich habe einige HTML, die zurückgegeben wird, wenn ich ein Formular abschicken, das ich nicht ändern kann.Ist es möglich, eine Spanne als Tooltip mit css

<div> 
    <label>Enter your email</div> 
    <input type="text" name="email" value="[email protected]" /> 
    <div class="error">That email is not valid</div> 
<div> 

Ich möchte es um Stil, so dass die div.error ein Symbol zeigt, das, wenn ich den Mauszeiger über zeigt den Text als Tooltip.

Kann dies mit css allein gemacht werden?

Antwort

1

Sie einen schweben auf einem div verwenden können, um das Kind Spanne anzuzeigen:

.error { 
 
    position: relative; 
 
} 
 
.error:hover::before { 
 
    display: block; 
 
    position: absolute; 
 
    left: 20px; 
 
    bottom: 100%; 
 
    border: 1px solid red; 
 
    border-radius: 3px; 
 
    padding: 5px; 
 
    background: rgba(0, 0, 0, 0.7); 
 
    color: white; 
 
    content: attr(data-tooltip); 
 
}
<div> 
 
    <label>Enter your email</label> 
 
    <input type="text" name="email" value="[email protected]" /> 
 
    <div class="error" data-tooltip="That email is not valid">icon</div> 
 
</div>
:

.error { 
 
    position: relative; 
 
} 
 

 
.error > span { 
 
    display: none; 
 
} 
 

 
.error:hover > span { 
 
    display: block; 
 
    position: absolute; 
 
    left: 20px; 
 
    bottom: 100%; 
 
    border: 1px solid red; 
 
    border-radius: 3px; 
 
    padding: 5px; 
 
    background: rgba(0, 0, 0, 0.7); 
 
    color: white; 
 
}
<div> 
 
    <label>Enter your email</label> 
 
    <input type="text" name="email" value="[email protected]" /> 
 
    <div class="error">icon<span>That email is not valid</span></div> 
 
</div>

Sie auch eine Pseudo-Elemente anstelle der Spanne verwenden können

+0

Das funktioniert super. Ich kann den HTML-Code nicht ändern (ohne JS zu verwenden, was nicht bevorzugt wird). Stattdessen habe ich ein Hintergrundbild verwendet, um mein Icon zu zeigen. – chriskelly

+1

Ich bin froh, dass es dir gefällt :) –

Verwandte Themen