modx-pro / pdoTools

Library for creating fast snippets for MODX Revolution.
95 stars 87 forks source link

CSS классы пагинации pdoPage #314

Open biz87 opened 3 years ago

biz87 commented 3 years ago

Резюме

Современный подход к планированию и формированию CSS классов требует использования БЭМ блоков. Это промышленный стандарт. Все классы объявленные внутри блока должны иметь одинаковое название На данный момент блок объявляется с классом .pagination, внутри уже почему то .page-item и .page-link. Это бардак. Сделано насколько я помню для обратной совместимости с древним компонентом.

Предложение

Собственно предлагаю привести все к стандарту по БЭМ. Пометить старые классы как depricated Добавить следующую структуру

.pagination
.pagination__page
.pagination__link

Классы active, disabled которые обозначают состояние изменить на

.pagination__page--active
.pagination__page--disabled
sergant210 commented 2 years ago

Я не шибко силён в этом БЭМ. Можешь прислать PR?

CrazyBoy49z commented 2 years ago

Думаю критически можно удалить уже в 3 версии, depricated в css впервые слышу.

С плюсов БЭМ читабельней
С минусов(не критично) не очень нравится pagespeed так как названия длиннее, и файлы больше размером.

Сделано насколько я помню для обратной совместимости с древним компонентом. Всё верно, но и раньше никто не использовал БЭМ

dimasites commented 2 years ago
.pagination__page--active
.pagination__page--disabled

Идею поддерживаю, но лучше на чистом БЭМ без отклонений: https://ru.bem.info/methodology/quick-start/#Модификатор .pagination__page_active .pagination__page_disabled

biz87 commented 2 years ago
.pagination__page--active
.pagination__page--disabled

Идею поддерживаю, но лучше на чистом БЭМ без отклонений: https://ru.bem.info/methodology/quick-start/#Модификатор .pagination__page_active .pagination__page_disabled

По всему выходит что так правильно. Готов поклясться, что во времена моей молодости модификаторы писали через двойной дефис

EMDM45 commented 2 years ago

Идею поддерживаю, но лучше на чистом БЭМ без отклонений: https://ru.bem.info/methodology/quick-start/#Модификатор .pagination__page_active .pagination__page_disabled

а еще лучше так: .pagination__item .pagination__item_active .pagination__item_disabled .pagination__link или .pagination__button и т.п.

Всё таки "page" - это "страница", а у блока pagination элементы с цифрами - это НЕ страницы.

Готов поклясться, что во времена моей молодости модификаторы писали через двойной дефис

Да, а еще были префиксы типа: b-pagination