Это возможно, но несколько сложно сделать что-то с Linker в GWT. Идея высокого уровня будет:
- Поместите все компоненты GWT через < DIV ID = «GWT»> ... </DIV>
- Добавить линкера в файл GWT модуля, который будет обрабатывать CSS-файлы.
- В компоновщике преобразуйте GWT CSS (например, standard.css), чтобы вставить #gwt перед каждым правилом выбора.
Первая часть проста, просто добавьте идентификатор к вашему корневому элементу.
Вторая часть также легко, просто добавить код, который выглядит, как это в файл Module.gwt.xml:
<define-linker name="cssLinker" class="com.you.bootstrap.linker.CssRenamingLinker" />
<add-linker name="cssLinker"/>
Твердая часть реализации компоновщик. Это можно сделать вручную, но вам может быть проще использовать что-то вроде SAC.
Используя Linker, вы можете преобразовать свой CSS, вставив #gwt перед каждым селектором. Используя SAC, вы можете сделать это, переопределив все методы DocumentHandler, чтобы просто выпустить каждый из своих аргументов в OutputStream. В DocumentHandler.startSelector() вы должны сначала выпустить «#gwt» перед каждым селектором.
[Изменить] Это предполагает, что стандарт GWT standard.css определяет стили, которые переопределяют стили бутстрапа. Если нет, вам, возможно, придется «улучшить» CSS GWT со значениями по умолчанию. Список рекомендованных по умолчанию W3C here.
Преимущество в том, что это устойчиво к будущему - если стили GWT меняются или стили бутстрапа меняются, это должно быть надежным.
Надежда, что помогает,
Адам
Вы хотите сделать это, не вынимая определения списков Bootstrap в? – thedjpetersen
В принципе, да. – caarlos0