Стиль HTML-элемента не работает в стиле с ограниченной областью действия

По какой-то причине мой стиль элемента не работает при использовании области видимости. При проверке элемента стиль не применяется при использовании области действия. Мне нужно использовать область действия, потому что я хочу, чтобы стиль применялся только к этому компоненту. Я использую nuxt.js, понятия не имею, связано ли это с проблемой.

Не работает:

<style scoped>

    a {
        color: red !important;
        text-decoration: underline !important;
    }

</style>

Работающий:

<style>

    a {
        color: red !important;
        text-decoration: underline !important;
    }

</style>

Есть идеи?

Где a по отношению к <style>? Можете ли вы предоставить репродукцию Codepen/Codesandbox?

tony19 14.07.2019 00:03
<a> должен быть внутри компонента, а не слот внутри компонента
Ohgodwhy 14.07.2019 00:36
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
1
2
2 946
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Как объяснено в соответствующая документация, CSS с областью действия применяет атрибут data- ко всем селекторам в предоставленном CSS, чтобы он применялся только к элементам компонента, а не за его пределами, или к вложенным подкомпонентам.

Например, с этой разметкой:

<app>
  <a>outside link</a>
  <Parent>
    <a>parent link</a>
    <Child>
      <a>child link</a>
    </Child>
  </Parent>
</app>

scoped CSS <Parent> повлияет только на родительскую ссылку и не повлияет на внешнюю ссылку ни дочерней ссылки.

Судя по тому, что вы описываете, вы пытаетесь создать ссылку на подкомпонент.


Чтобы ваши селекторы CSS с ограниченной областью действия оказывали глубокое влияние (также применялись к подкомпонентам), вы должны использовать комбинатор deep >>>:

<style scoped>
  * >>> a {
    color: red;
    text-decoration: underline;
  }
</style>

Чтобы увидеть это в действии, рассмотрим этот пример.

Спасибо! Это сработало и отличное объяснение!

Jonas 14.07.2019 10:42

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