html — Bootstrap и БЭМ. Как совмещать?
Вопрос задан
Изменён 6 лет 8 месяцев назад
Просмотрен 2k раз
Работодатель требует писать код по методологии БЭМ. Почитала про БЭМ и вроде бы и все просто, но в то же время не понятно)
Нужноли что бы элементы (блоки сетки бутстрапа) были без класса БЭМ? только .container
.row
?
Например:
<body> <div></div> <header> <div> <div> <div> <div> </div> <div> <div> <h2><a href="#">Taffle</a></h2> </div> </div> <div></div> </div> </div> <div> <nav> <ul> <li>Home</li> <li>Shop</li> <li>Promo</li> <li>About</li> <li>Blog</li> <li>Contact</li> </ul> </nav> </div> </div> </header> <div></div> <footer></footer>
Или правильнее будет такой вариант?
</div> <div> <div> <h2><a href="#">Taffle</a></h2> </div> </div> <div></div> </div> <nav> <ul> <li>Home</li> <li>Shop</li> <li>Promo</li> <li>About</li> <li>Blog</li> <li>Contact</li> </ul> </nav> </header> <div></div> <footer></footer>
- html
- css
- bootstrap
- dom
- бэм
Стили бутсрапа можно вообще не трогать, используй их как в первом примере. А все остальное верстаешь в стиле БЭМ.
А именно от бутстрапа что требуется? Если нужно только grid, то есть проект на бэм, bem-grid называется.
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Учимся любить БЭМ | Frontender Magazine
Должен признаться: когда я впервые услышал о БЭМ, я подумал,
что идея как-то не очень. Зачем так усложнять именование в CSS?
Можно же называть классы проще: .form-group
или .accordion
. Какой смысл заморачиваться классами вроде .accordion__child
и .accordion__child--highlighted
?
В январе я работал над одним проектом с моим коллегой Йелле (Jelle), который в своем коде использует БЭМ-синтаксис. Сначала я сомневался в этом подходе, но, так как он был ведущим HTML/CSS разработчиком проекта, ему и карты в руки.
Со временем я узнал БЭМ получше и убедился, что у него есть свои достоинства: в основном он полезен для больших приложений с огромным количеством компонентов.
Представьте себе интерфейс панели управления со множеством виджетов и множеством страниц с разными состояниями. Представьте продукт, который должен оставаться стабильным, хотя над его CSS-компонентами работает много разных людей. Вот тут-то БЭМ и обретает смысл.
Логика БЭМ (Блок — Элемент — Модификатор):
- Есть блок, например,
.
- Есть элемент, например,
.my-element__sub-element
(два подчёркивания подряд обозначают дочерний элемент) - И, может быть, модификатор, например,
.my-element__sub-element—-highlighted
(двойной дефис означает модификатор состояния).
Более развёрнутое объяснение можно найти тут.
Это даёт следующие преимущества:
Логика именования позволяет сразу понять что именно обозначает конкретный CSS-класс.
Каждый элемент находится в пространстве имён, что делает поиск и замену в рамках проекта более надёжным.
Это упрощает понимание того, какой CSS можно изменять.
Уменьшается вероятность конфликта между классами.
Выбор HTML-тегов более-менее независим от CSS (при условии, что в начале CSS-файла находится ресет).
Повышается производительность. Так как CSS-селекторы читаются справа налево, а БЭМ основан на использовании одного класса (не на вложенности SCSS), он работает быстрее.
Уменьшается количество проблем с весом селекторов, так как обычно используется только имя класса, без учёта вложенности.
Компоненты легко переносятся из проекта в проект. На практике это означает улучшение качества кода и повышение скорости разработки.
Конечно, у БЭМ есть свои недостатки:
Имена классов могут стать длинными и пугающими (но меня это не останавливает, потому что они обладают «логикой», которую можно применить с пользой, например, для автоматической проверки кода).
Разметка может содержать массу классов, которые, на самом деле, делают совсем немного (так что HTML, опять таки, начинает выглядеть жутковато).
Фреймворки, например, Bootstrap, не содержат БЭМ, так что попытка комбинировать их с БЭМ может привести к неоднородности в пространстве имён и возникновению путаницы.
С моей точки зрения, для сайтов, которые поддерживают один или несколько человек, БЭМ необязателен, и я скорее буду использовать normalize. css и простое именование.
Для больших проектов БЭМ — отличный выбор. Он потребует некоторых усилий в начале работы, но сэкономит массу времени в долгосрочной перспективе. Так что вперёд!
Значение начальной загрузки в kallisto
Значение начальной загрузки в kallisto
1
Вход в режим редактирования
3,4 года назад
sg927357 &утриф; 20
Каков параметр начальной загрузки по умолчанию в инструменте kallisto на этапе количественного определения??? Каким должно быть хорошее значение начальной загрузки для данных rna-seq?
Каллисто • 2,1 тыс. просмотров
• связь 3,4 года назад от sg927357 &утриф; 20
Вход в режим редактирования
3,4 года назад
Кевин Блай 84k
Информация здесь. .
kallisto quant каллисто 0.44.0 Вычисляет классы эквивалентности для прочтений и количественно определяет изобилие Использование: kallisto quant [аргументы] FASTQ-файлы Требуемые аргументы: -i, --index=STRING Имя файла для индекса kallisto, который будет использоваться для количественная оценка -o, --output-dir=STRING Каталог для записи вывода Необязательные аргументы: --bias Выполнить коррекцию смещения на основе последовательности -b, --bootstrap-samples=INT Количество образцов начальной загрузки (по умолчанию: 0) --seed=INT Seed для начальной загрузки (по умолчанию: 42) --plaintext Вывести открытый текст вместо HDF5 --fusion Поиск слияний для Pizzly --single Количественное одностороннее чтение --single-overhang Включить чтения, где ненаблюдаемый остаток фрагмента предсказано, чтобы лежать вне стенограммы --fr-stranded Чтение, специфичное для нити, сначала чтение вперед --rf-stranded Чтение, специфичное для цепи, сначала чтение в обратном порядке -l, --fragment-length=DOUBLE Расчетная средняя длина фрагмента -s, --sd=DOUBLE Расчетное стандартное отклонение длины фрагмента (по умолчанию: -l, -s значения оцениваются по парным конечные данные, но требуются при использовании --single) -t, --threads=INT Количество используемых потоков (по умолчанию: 1) --pseudobam Сохранить псевдовыравнивания в транскриптоме в файл BAM --genomebam Псевдовыравнивание проекта с отсортированным по геному BAM-файлом -g, --gtf GTF-файл для информации о транскриптоме (требуется для --genomebam) -c, --chromosomes Файл, разделенный табуляцией, с именами и длинами хромосом (необязательно для --genomebam, но рекомендуется)
Нет правильного или неправильного значения для использования. Когда я использую Kallisto, я по умолчанию использую 50 бутстрапов.
Обратите внимание, что загруженные значения затем выводятся в файл изобилия.h5
.
• связь 3,4 года назад от Кевин Блай 84к
Войдите в систему, прежде чем добавить свой ответ.
[БАМ-20392] Пользовательский интерфейс Bamboo доступен после сбоя задачи обновления после начальной загрузки и не отображаются планы сборки
Подробности
Тип: Ошибка
Статус: Закрыто (Просмотр рабочего процесса)
Приоритет: Высокий
Разрешение: Исправлено
Влияет на версии/версии: 6. 8.0
Исправить версии/ы: 6,9.0, 6.8.2
Компоненты: Обновление
Ярлыки:
Нет
Сводка проблем
При сбое задач обновления после начальной загрузки пользовательский интерфейс Bamboo по-прежнему доступен, и сбой неизвестен, пока не будет проверен журнал. Планы сборки недоступны, так как кеш планов отключен из-за того, что приложение находится в подвешенном состоянии при начальной загрузке.
Действия по воспроизведению
Воспроизведение с использованием BAM-20391 шагов: задача обновления 60903 (заполнение столбца PLAN_NAME в таблице BRS (после начальной загрузки)) не выполняется на Microsoft SQL Server
- Установка Bamboo 6. 8.1, подключенного к Microsoft SQL Server база данных
- Создать план сборки
- Обновление до Bamboo 6.9.0
Ожидаемые результаты
Пользовательский интерфейс Bamboo недоступен, и в пользовательском интерфейсе отображаются ошибки задачи обновления после начальной загрузки.
Фактические результаты
Пользовательский интерфейс Bamboo доступен, и сбой неизвестен (за исключением того, что некоторые функции не работают в зависимости от того, какая задача обновления завершается сбоем).
Поскольку обновление не удалось, кэш планов отключен, поэтому планы сборки не видны , и в журнал записывается следующее:
2019-04-07 18:47:16,086 WARN [http-nio-8085-exec-2] [ImmutablePlanCacheServiceImpl] Попытка загрузить план PLAN-TITLE при отключенном кеше 2019-04-07 18:47:16,087 ОШИБКА [http-nio-8085-exec-2] [ImmutablePlanCacheServiceImpl] com.atlassian.bamboo.plan.cache.ImmutablePlanCacheServiceImpl$PlanCacheDisabledException: кеш плана отключен в com. atlassian.bamboo.plan.cache.ImmutablePlanCacheServiceImpl$1.load(ImmutablePlanCacheServiceImpl.java:110) в com.atlassian.bamboo.plan.cache.ImmutablePlanCacheServiceImpl$1.load(ImmutablePlanCacheServiceImpl.java:103) на com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527) на com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319) на com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282) на com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197) на com.google.common.cache.LocalCache.get(LocalCache.java:3937) на com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941) на com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824) на com.atlassian.bamboo.utils.collections.AlwaysInvalidatingCacheDecorator.get(AlwaysInvalidatingCacheDecorator.java:65) на com.atlassian.bamboo.utils.collections.AlwaysInvalidatingCacheDecorator.getUnchecked(AlwaysInvalidatingCacheDecorator.