Идеальное решение было бы совместимо с несколькими браузерами, а это предложение не так; Я тестировал его только на Ubuntu 9.10, хотя с Chrome, Firefox, Epiphany и Opera, и, похоже, он надежно работает в тех, что подразумевает надежность в их аналогах Windows. Очевидно, IE - это совершенно другой котелок с рыбой.
Как говорится:
Эта идея основана на следующем (x) html:
<form>
<fieldset>
<button disabled title="this is disabled">disabled button</button>
</fieldset>
</form>
И использует следующий CSS для достижения чего-то близкого к вашей цели:
button {
position: relative;
}
button:hover:after {
position: absolute;
top: 0;
left: 75%;
width: 100%;
content: attr(title);
background-color: #ffa;
color: #000;
line-height: 1.4em;
border: 1px solid #000;
}
button {
position: relative;
box-sizing: border-box;
}
button:hover:after {
position: absolute;
top: 0;
left: 75%;
width: 100%;
content: attr(title);
background-color: #ffa;
color: #000;
line-height: 1.4em;
border: 1px solid #000;
box-shadow: 2px 2px 10px #999;
}
<form>
<fieldset>
<button disabled title="this is disabled">disabled button</button>
</fieldset>
</form>
Это не идеал, но это была лучшая идея не-JavaScript, которую я мог придумать.