Удаление пунктирной нижней границы из текста заголовка подсказки CSS

#javascript #css #tooltip

Вопрос:

Я хотел бы удалить пунктирную нижнюю границу из текста, связанного с подсказкой. Этот код используется в Qualtrics для изменения опроса для клиента. Было бы лучше отредактировать оформление текста в этом случае? Мне нужно, чтобы он был стабильным в разных браузерах. По общему признанию, я не обучен кодированию — просто самоучка, поэтому, пожалуйста, укажите контекст ваших ответов, чтобы я мог либо найти дополнительную информацию о ваших указаниях, либо проанализировать ее вместе с тем, что я уже знаю.

     jQuery( function()
{
    var targets = jQuery( '[rel~=tooltip]' ),
        target  = false,
        tooltip = false,
        title   = false;
 
    targets.bind( 'mouseenter', function()
    {
        target  = jQuery( this );
        tip     = target.attr( 'title' );
        tooltip = jQuery( '<div id="tooltip"></div>' );
 
        if( !tip || tip == '' )
            return false;
 
        target.removeAttr( 'title' );
        tooltip.css( 'opacity', 0 )
               .html( tip )
               .appendTo( 'body' );
 
        var init_tooltip = function()
        {
            if( jQuery( window ).width() < tooltip.outerWidth() * 1.5 )
                tooltip.css( 'max-width', jQuery( window ).width() / 2 );
            else
                tooltip.css( 'max-width', 340 );
 
            var pos_left = target.offset().left   ( target.outerWidth() / 2 ) - ( tooltip.outerWidth() / 2 ),
                pos_top  = target.offset().top - tooltip.outerHeight() - 20;
 
            if( pos_left < 0 )
            {
                pos_left = target.offset().left   target.outerWidth() / 2 - 20;
                tooltip.addClass( 'left' );
            }
            else
                tooltip.removeClass( 'left' );
 
            if( pos_left   tooltip.outerWidth() > jQuery( window ).width() )
            {
                pos_left = target.offset().left - tooltip.outerWidth()   target.outerWidth() / 2   20;
                tooltip.addClass( 'right' );
            }
            else
                tooltip.removeClass( 'right' );
 
            if( pos_top < 0 )
            {
                var pos_top  = target.offset().top   target.outerHeight();
                tooltip.addClass( 'top' );
            }
            else
                tooltip.removeClass( 'top' );
 
            tooltip.css( { left: pos_left, top: pos_top } )
                   .animate( { top: ' =10', opacity: 1 }, 50 );
        };
 
        init_tooltip();
        jQuery( window ).resize( init_tooltip );
 
        var remove_tooltip = function()
        {
            tooltip.animate( { top: '-=10', opacity: 0 }, 50, function()
            {
                jQuery( this ).remove();
            });
 
            target.attr( 'title', tip );
        };
 
        target.bind( 'mouseleave', remove_tooltip );
        tooltip.bind( 'click', remove_tooltip );
    });
}); 
 #tooltip
{
    text-align: center;
    color: #FFFFFF;
    font-family: sans-serif;
    background: #008CAE;
    position: absolute;
    z-index: 100;
    padding: 15px;
}
 
    #tooltip:after /* triangle decoration */
    {
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid #111;
        content: '';
        position: absolute;
        left: 50%;
        bottom: -10px;
        margin-left: -10px;
    }
 
        #tooltip.top:after
        {
            border-top-color: transparent;
            border-bottom: 10px solid #111;
            top: -20px;
            bottom: auto;
        }
 
        #tooltip.left:after
        {
            left: 10px;
            margin: 0;
        }
 
        #tooltip.right:after
        {
            right: 10px;
            left: auto;
            margin: 0;
        } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<abbr rel="tooltip" title="The curricula available for teacher use provides guidance for how to differentiate lessons, activities, and assessments; includes the principles of Universal Design for Learning; and teachers are trained in implementation of the curriculum.">General education teachers have access to a curriculum that promotes differentiated instruction for all students. </abbr> 

Ответ №1:

Оформление текста похоже на то, как это сделать, либо ориентируясь на тег, либо добавляя класс и ориентируясь на него:

 abbr {
  text-decoration: none;
}
 

Возможно, при реализации этого вы также учтете соображения доступности. Обычно хорошей идеей является дать пользователям какое-либо указание, когда что-то интерактивно. Интересно, удалит ли удаление подчеркивания какие-либо признаки того, что доступна подсказка?

Комментарии:

1. Это может больше не иметь значения, но некоторые браузеры также использовали подчеркивание с помощью border свойства, поэтому добавление border-bottom: none; должно охватывать большинство браузеров.

2. Спасибо тебе, Росс. Ваша рекомендация решила проблему, и я благодарю вас за то, что вы осветили вопросы доступности. После некоторого раздумья я добавил небольшой графический знак вопроса для каждого вопроса и указания, чтобы напомнить пользователям о опции подсказки. drive.google.com/file/d/1Iayu19YH2NjPqttHa1VA-paSohwX8wQN/…