Я не думаю, что есть идеальное решение этой проблемы с чистым CSS.Первая проблема заключается в том, что когда вы размещаете span
внутри тега a
, span
хочет расширить только до ширины ссылки.Если вы поместите span
после a
, можно приблизиться к тому, что вы пытаетесь сделать, но вам нужно будет установить margin-top: 1.3em
, а затем установить отрицательное поле для перемещения подсказки влево.,Тем не менее, это будет фиксированный параметр, поэтому он не будет находиться точно в начале каждой ссылки.
Я выбрал решение jQuery, которое динамически устанавливает left
(и хороший небольшой эффект затухания навсегдамера).
Демонстрация: http://jsfiddle.net/wdm954/9jaZL/7/
$('.hasTooltip').hover(function() {
var offset = $(this).offset();
$(this).next('span').fadeIn(200).addClass('showTooltip');
$(this).next('span').css('left', offset.left + 'px');
}, function() {
$(this).next('span').fadeOut(200);
});