Я хочу использовать Twitter Bootstrap, но только для определенных элементов, поэтому мне нужно найти способ добавить мой префикс ко всем классам Twitter Bootstrap или использовать меньше миксинов. У меня еще нет опыта в этом, поэтому я не совсем понимаю, как это сделать. Вот пример HTML, который я пытаюсь стилизовать:
<div class="normal-styles">
<h1>dont style this with bootstrap</h1>
<div class="bootstrap-styles">
<h1>use bootstrap</h1>
</div>
</div>
В этом примере Twitter Bootstrap будет использовать оба стиля h1
, но я хочу быть более избирательным в отношении того, в каких областях я применяю стили Twitter Bootstrap.
twitter-bootstrap
less
Андрей
источник
источник
Ответы:
Это оказалось проще, чем я думал. И Less, и Sass поддерживают пространство имен (даже используя один и тот же синтаксис). Когда вы включаете bootstrap, вы можете сделать это в селекторе для его пространства имен:
Обновление: для более новых версий LESS, вот как это сделать:
Здесь был дан ответ на аналогичный вопрос.
источник
@import
исходного Bootstrap. У меня тоже были проблемы с модальными окнами, я думаю, потому что Bootstrap применяет определенные классы к тегу тела верхнего уровня. Не помню, нашел ли я решение. В конце концов, мне кажется, я написал свою собственную модальную замену.@ Андрей отличный ответ. Вы также захотите отметить, что bootstrap изменяет тело {}, в основном для добавления шрифта. Итак, когда вы используете пространство имен через LESS / SASS, ваш выходной файл css выглядит так: (в начальной загрузке 3)
но, очевидно, внутри вашего div не будет тега body, поэтому в вашем содержимом начальной загрузки не будет шрифта начальной загрузки (поскольку все начальной загрузки наследуют шрифт от родителя)
Чтобы исправить, ответ должен быть таким:
источник
margin: 0;
Собрав ответы @Andrew, @Kevin и @adamj вместе (плюс несколько других стилей), если вы включите следующее в файл с именем "bootstrap-namespaced.less", вы можете просто импортировать 'bootstrap-namespaced.less' в любой less файл:
источник
Добавление пространства имен в начальный CSS нарушит модальную функциональность, поскольку начальная загрузка добавляет класс 'modal-backdrop' непосредственно в тело. Обходной путь - переместить этот элемент после открытия модального окна, например:
Вы можете удалить элемент в обработчике события hide.bs.modal.
источник
this.modalService.open('myModal', {container: '#modalgoeshere'})
Используйте версию файлов .less. Определите, сколько файлов вам нужно, а затем оберните эти файлы .less с помощью:
Это даст вам результат:
источник
Я сделал GIST с Bootstrap 3 внутри класса с именем .bootstrap-wrapper https://gist.github.com/onigetoc/20c4c3933cabd8672e3e
Я начал с этого инструмента: http://www.css-prefix.com/ А остальное исправил поиском и заменой в PHPstorm. Все шрифты @ font-face размещены на maxcdn.
Пример первой строки
источник
Пространство имен нарушает div фона модального плагина, поскольку он всегда добавляется непосредственно в тег <body>, минуя ваш элемент пространства имен, к которому применены стили.
Вы можете исправить это, изменив ссылку на плагин до того,
$body
как он покажет фон:$body
Свойство определяет , где будет добавлен фон.источник
Чтобы лучше объяснить все шаги, о которых говорил Эндрю, для тех, кто не знает, что такое Less. Вот ссылка, которая довольно хорошо объясняет, как это делается, шаг за шагом Как изолировать Bootstrap или другие библиотеки CSS
источник
Самое простое решение - начать использовать собственные сборочные изолированные классы css для Bootstrap.
Например, для Bootstrap 4.1 загрузите файлы из каталога css4.1 -
https://github.com/cryptoapi/Isolate-Bootstrap-4.1-CSS-Themes
и оберните свой HTML в div с классом bootstrapiso:
Шаблон страницы с изолированным бутстрапом 4 будет
источник
Я столкнулся с той же проблемой, и метод, предложенный @Andrew, к сожалению, не помог в моем конкретном случае. Классы Bootstrap столкнулись с классами из другого фреймворка. Так был создан этот проект https://github.com/sneas/bootstrap-sass-namespace . Не стесняйтесь использовать.
источник
В качестве дополнительной заметки для всех. Чтобы модальные окна работали с фоном, вы можете просто скопировать эти стили из bootstrap3.
источник
Первый клон бутстрапа с github:
Требования к установке:
Откройте scss / bootstrap.scss и добавьте свое пространство имен:
Скомпилировать бутстрап:
Открыть
dist/css/bootstrap.css
и удалить пространство имен изhtml
иbody
тега.Затем скопируйте содержимое папки dist в свой проект, и все готово.
Радоваться, веселиться!
источник