Я работаю над проектом Rails, который только начинается. Мы хотим использовать twitter bootstrap в качестве основы для наших стилей, сначала мы просто будем использовать имена классов bootstrap непосредственно в HTML-коде, как показано в документации по загрузке, но после прочтения следующих сообщений:
Уроки, извлеченные в поддерживаемом css
Пожалуйста, прекратите встраивать классы Bootstrap в свой HTML
стало ясно, почему это не правильно, зачем использовать бутстрап, поэтому после некоторых дополнительных чтений:
среди прочих, казалось, что использование sass @extend было правильным способом избежать использования имен классов начальной загрузки, поэтому вместо этого:
<button type="submit" class="btn">Search</button>
мы сделали бы это:
<button type="submit" class="button">Search</button>
и наш код sass будет выглядеть так:
.button {
@extend ".btn";
}
Проблема с этим подходом, помимо множества дополнительных селекторов, которые будут добавляться каждый раз, когда мы расширяем класс начальной загрузки, просто для использования другого имени, заключается в том, что в тех случаях, когда bootstrap использует селектора, такие как:
.form-search .input-append .btn, .form-search .form-input-append .btn {
border-radius: 0 14px 14px 0;
}
кнопка не получит правильный стиль, потому что sass не будет применять это же правило к нашему имени пользовательского класса, я имею в виду, sass не делает это:
.form-search .input-append .btn, .form-search .input-append .button,
.form-search .form-input-append .btn, .form-search .form-input-append .button {
border-radius: 0 14px 14px 0;
}
Так что, интересно, это правильный способ избежать встраивания имен классов bootstrap в HTML, если да, то как я должен справляться с этой проблемой (это часто случается)? если нет, то что будет лучшим способом использовать пользовательские имена классов, но все равно получить стили из начальной загрузки.
Я очень ценю ваши мысли об этом. Пожалуйста, имейте в виду, что я просто изучаю общий веб-дизайн (css, sass, less, html, js и т.д.).