Отрисовка пользовательских стилей в bootstrap-vue

Я пытаюсь добавить несколько пользовательских стилей в компонент раскрывающегося меню, который использует Bootstrap-Vue. Я использую документацию здесь.

Вот мой шаблон:

<div class = "container">
  <b-dropdown id = "dropdownMenuButton" text = "Dropdown Button" no-caret class = "custom-dropdown">
    <b-dropdown-item>First Action</b-dropdown-item>
    <b-dropdown-item>Second Action</b-dropdown-item>
    <b-dropdown-item>Third Action</b-dropdown-item>
    <b-dropdown-divider></b-dropdown-divider>
    <b-dropdown-item>Something else here...</b-dropdown-item>
    <b-dropdown-item disabled>Disabled action</b-dropdown-item>
  </b-dropdown>
</div>

Я обнаружил, что могу стилизовать #dropdownMenuButton, но когда раскрывающийся список отображается в браузере, он создает элемент внутри #dropdownMenuButton, и я не могу его стилизовать. Я пробовал сделать это вот так:

<style scoped>
  #dropdownMenuButton > button {
    width: 100%;
  }

  #dropdownMenuButton__BV_toggle_ {
    width: 100%;
  }
</style>

Но не повезло. К вашему сведению, идентификатор создаваемой кнопки - dropdownMenuButton__BV_toggle_.

может вы можете посмотреть это: stackoverflow.com/questions/48699688/…

Diego Avila 08.06.2018 16:54
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
7
1
10 818
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Это связано с тем, что вы создаете стили, привязанные к компоненту, и поскольку раскрывающийся список bootstrap vue является еще одним компонентом, вы не сможете сделать это со стилями с ограниченной областью.

https://vue-loader.vuejs.org/guide/scoped-css.html

Попробуйте удалить атрибут scoped следующим образом.

<style>
  #dropdownMenuButton > button {
    width: 100%;
  }

  #dropdownMenuButton__BV_toggle_ {
    width: 100%;
  }
</style>

Спасибо, сработало !! Кроме того, есть ли из двух разных способов выбора элемента кнопки предпочтительный метод (родительский / дочерний стиль по сравнению с идентификатором элемента)? Идентификатор не отображается в моем шаблоне (он создается с помощью bootstrap-vue), поэтому я не хочу ссылаться на него.

sandramedina 10.06.2018 04:30

Вы также можете использовать ключевое слово /deep/, чтобы просто повлиять на дочерние компоненты, если вы не хотите загромождать глобальные стили:

<style scoped>
  /deep/ #dropdownMenuButton > button {
    width: 100%;
  }

  /deep/ #dropdownMenuButton__BV_toggle_ {
    width: 100%;
  }
</style>

+1 ты сумасшедший, я потратил почти 2 часа и получил немного разочарования, наконец / глубоко / отлично работает @randy ... спасибо ...

RGKrish183 16.04.2020 13:43

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