Страницы

Поиск по вопросам

воскресенье, 26 января 2020 г.

Как в scss/sass импортировать не весь файл, а один стиль запретить?

#css #bootstrap #sass #scss


В bootstrap есть стиль для ссылок и кнопок, выделение точками вокруг элемента + цвет
+ подчеркивание на событии :focus, выглядит это так:

a {
  color: $link-color;
  text-decoration: none;

  &:hover,
  &:focus {
    color: $link-hover-color;
    text-decoration: $link-hover-decoration;
  }

  &:focus {
    @include tab-focus;
  }


и

@mixin tab-focus() {
  // Default
  outline: thin dotted;
  // WebKit
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}


Если outline: none; еще можно сделать после импорта .scss в своем файле, но что делать
с цветом и подчеркиванием, если нужно, чтобы цвет и подчеркивание сохранялись те, что
и были, то есть если была синяя ссылка с подчеркиванием, то при клике она должна оставаться
такой же. Если же прописать конкретный цвет и подчеркивание, то для другой, например
красной ссылки без подчеркивания, она будет изменяться, а не оставаться собой.

То есть, нужно вообще не импортировать эти стили или как то удалить их после импорта.
Ведь редактировать исходники .scss неправильно? Тогда как удалить все :focus ы? 
    


Ответы

Ответ 1



В данном случае необходимо писать свой миксин наподобие @mixin tab-focus(), только с указанием параметров, которые вы сможете указывать для конкретных классов. получается @mixin tab-focus($outline_dotted, $outline_offset, $outline_size ) { outline: $outline_dotted; // WebKit outline: $outline_size ; outline-offset: $outline_offset } a{ &:focus { @include tab-focus('none', '-2px', '5px'); } }

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

Отправить комментарий