Ответ 1
У меня есть решение, которое работает, но может быть не лучшим способом.
button:after {
content:' ' attr(title);
visibility: hidden;
opacity:0;
transition: visibility 0s linear 0.5s, opacity 0.5s linear, font 0.05s linear;
font-size: 0;
}
button:hover:after {
content:' ' attr(title);
visibility: visible;
opacity:1;
transition-delay:0s;
font-size: 13px;
}
Фон
Ваш подход является аналогом использования свойства отображения. Поэтому кредиты идут на этот Переходы на экране: свойство с моим маленьким взломом, чтобы уменьшить размер шрифта до 0 в исходном состоянии :after
Обновление
Даже более плавный переход:
button:after {
content: ' ' attr(title);
font-size: 0;
opacity: 0;
transition: opacity 0.2s 0s ease, font-size 0.2s 0.2s ease;
}
button:hover:after {
font-size: inherit;
opacity: 1;
transition: font-size 0.2s 0s ease, opacity 0.2s 0.2s ease;
}
См. JSFiddle