A:-webkit-any-link {украшение текста: подчеркивание; } можно писать только в инлайн-стиле, почему?

a,
a:link,
a:visited,
a:hover,
a:active{
    text-decoration: none;
}

a:-webkit-any-link{
    text-decoration: none !important;
}

/*Navigation*/

.nav ul {
    margin: 0;
}

.nav li {
    display: inline;
}

.nav a {
    display: inline-block;
    padding: .5em;
    color: white;
    text-decoration: none;
}

.main-nav {
    text-align: center;
    font-size: 1.1em;
    border-bottom: 1px solid rgba(255, 255, 255, .3)
}

.nav a:hover {
    background-color: rgba(255, 255, 255, .3)
}

.search-container{
    position: fixed;
    top:3rem;
    right:0;
}

#search-container a{
    text-decoration: none;
}
 <header class = "main-header">
            <nav class = "main-nav nav">
                <ul>
                    <li><a href = "index.html">HOME</a></li>
                    <li><a href = "store">STORE</a></li>
                    <li><a href = "about.html">ABOUT</a></li>
                    <li><a href = "fans">FANS</a></li>
                </ul>
            </nav>
</header>

        <section class = "search-container" id = "search-container">
            <input type = "text" id = "search-text" placeholder = "Search..">
            <p id = "feedback"></p>
            <a href = "/store?category=music" >MUSIC</a>
            <a href = "/store?category=merch" >MERCH</a>
            <a href = "/purchase" style = "text-decoration: none">CART</a>
        </section>

Итак, у меня есть эти ссылки в файле EJS, и я хочу, чтобы они не подчеркивались. В этом же файле у меня есть некоторые <nav class = "nav"><li><a href = "/store">Link</a></li></nav>которые я легко написал

.nav a {
    text-decoration: none;
}

и это работает как шарм. Но почему-то те, что ниже, просто не будут!

<section class = "search-container" id = "search-container">
    <a href = "/store?category=music" >MUSIC</a>
    <a href = "/store?category=merch" >MERCH</a>
    <a href = "/purchase" style = "text-decoration: none">CART</a>
</section>

Пробовал гуглить и разными способами. Посмотрите, что я пробовал:

a,
a:link,
a:visited,
a:hover,
a:active{
    text-decoration: none;
}

a:-webkit-any-link{
    text-decoration: none !important;
}

#search-container a{
    text-decoration: none;
}

Ничего из вышеперечисленного не работает, и я вижу, что это было

a:-webkit-any-link {
    text-decoration: underline;
}

всегда появляется. Но, судя по любому приведенному выше коду, они должны были быть перезаписаны, не так ли?

В конце концов я попробовал встроенный стиль, например:

<a href = "/purchase" class = "btn btn-primary" style = "text-decoration: none">CART</a>

Наконец-то это работает. К вашему сведению, 1. style.css правильно связан, иначе навигационные ссылки не будут работать, как и другие стили. 2. Проблема возникает как в Chromium, так и в Firefox в Linux. 3. Я попробовал сниппеты, но они никак не могут повторить мою проблему. 4. Я использовал много методов, таких как добавление id или даже !important, но ни один из них, кажется, не перезаписывает упрямую ссылку a:-webkit-any-link { text-decoration: underline; }.

Мне просто интересно, почему это происходит?

Рассмотрите возможность использования Фрагменты стека для предоставления примера, показывающего минимальный код, необходимый для воспроизведения вашей проблемы. Вы также можете отметить, в каких браузерах вы заметили такое поведение.

Heretic Monkey 17.06.2019 22:28

Если он работает встроенно, но не в CSS, вероятно, ваш CSS недостаточно специфичен и переопределяется в другом месте. Или ваш CSS неправильно связан с вашим документом и вообще не применяется.

Tyler Roper 17.06.2019 22:29
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
2
1 056
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я решил скопировать свой css и вставить его обратно. Каким-то образом это работает сейчас, и мне больше не нужен встроенный стиль. Без понятия, но это решило проблему!

Важно отметить, что файлы CSS кэшируются вашим браузером. Вы можете внести несколько изменений в свой CSS, но ваш браузер не будет повторно извлекать файл, потому что он считает, что у него уже есть самая последняя версия. Несколько советов, как это обойти: Стратегии очистки кеша CSS. (В Chrome, если щелкнуть правой кнопкой мыши кнопку обновления при открытой консоли разработчика, вы получите возможность очистить кеш. Или просто используйте горячую клавишу: CTRL+F5). Это может быть не связано, а просто совет.

Tyler Roper 18.06.2019 15:50

Спасибо, @Tyler Roper, да, я приму это к сведению и в следующий раз рассмотрю все приведенные выше предложения, когда возникнет проблема.

Annie 18.06.2019 16:57

В моем случае указатель курсора не отображался, когда для тега <a> не было определено href или [routerLink] (навигация фактически выполнялась по событию клика и router.navigate()).

Я определил пустой [routerLink] = "", и теперь отображается указатель курсора, и навигация не затрагивается. (Это не тот случай, когда вместо этого используется пустой href = "").

Также стоит упомянуть, что добавление [routerLink] к элементу, отличному от <a>, не даст мне курсор, как это делает href. Добавление cursor: pointer к стилю элемента сделало это локально, но не работало при развертывании на сервере.

<a>doesnt't have a cursor pointer</a>
<a href = "">has a cursor pointer</a>
<a [routerLink] = "" (click) = "navigate()">has a cursor pointer</a>

Другие вопросы по теме