vue-router: как убрать подчеркивание с router-link

Это приводит к подчеркнутой ссылке:

<li><router-link to="/hello">Hello</router-link></li>

Насколько я понимаю, элемент router-link генерирует тег a.

Я пробовал эти вещи в CSS:

router-link{
    text-decoration: none;
}

router-link a{
    text-decoration: none;
}

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

..но, к сожалению, ничего из этого не работает.


person rpivovar    schedule 28.06.2017    source источник


Ответы (8)


Теги компонентов Vue не генерируют теги HTML.
Посмотрите в инспекторе DOM, чтобы узнать, какие теги HTML существуют на самом деле.

Вам нужно использовать обычные имена классов.

person SLaks    schedule 28.06.2017
comment
Ах, я понимаю, о чем вы говорите. router-link превращается в a. li a { } в CSS вроде работает. Спасибо. - person rpivovar; 28.06.2017

Если кто-то, использующий Vuetify, сталкивается с этим вопросом, обратите внимание, что приведенные выше ответы на стили не работают из-за встроенных стилей Vuetify. Вместо этого вы должны использовать встроенные стили CSS:

<router-link
 style="text-decoration: none; color: inherit;"
 to="/hello" }}">
person Winters    schedule 22.04.2020

Вы можете попробовать настроить таргетинг на ссылку элемента списка следующим образом:

li a {
    text-decoration: none;
}
person Emma Earl Kent    schedule 28.06.2017

Он преобразован в <a ...
Итак, чтобы удалить подчеркивание, попробуйте это

a { text-decoration: none; }
person JPilson    schedule 04.06.2019
comment
Этот сработал для меня. Спасибо. Я добавил скрипт в файл vue. - person No One; 12.03.2021

Вы можете использовать тег prop ссылки router, чтобы использовать класс li css следующим образом:

<li><router-link tag="li" to="/hello">Hello</router-link></li>

Ссылка теперь будет использовать свойства li css, но по-прежнему будет работать как обычная ссылка маршрутизатора.

person alexcodes    schedule 19.11.2019
comment
tag = 'span' мне подходит. Спасибо за ваш ответ. это мне помогает. - person Kabkee; 17.03.2020

Добавьте класс в тег router-link:

<router-link class="routerLink" to="/hello">Hello</router-link>

Затем передайте классу css:

.routerLink{
     text-decoration: none;
 }

Это должно работать :)

person Nobin Jacob    schedule 05.03.2020

SCSS

div /deep/ .v-list a {
    text-decoration: none;
}

CSS

div >>> .v-list a{
    text-decoration: none;
}
person Kowayne Wynter    schedule 06.05.2020
comment
/ deep / устарел [Deprecation] /deep/ combinator is no longer supported in CSS dynamic profile. - person Alex Montoya; 30.05.2020

Хотя этот ответ кажется вполне очевидным. Я думаю, что мои коллеги выше забыли упомянуть, что если вы используете vuetify с фреймворком Laravel, эту проблему можно решить следующим образом. Доступ:

файл resources \ sass \ app.scss

И закомментируйте строку:

@import '~ bootstrap / scss / bootstrap';

Обычно это решает проблему такого типа, которая на самом деле является конфликтом библиотеки.

person Rafael Furtado    schedule 29.12.2020