Постоянно сталкиваюсь с двумя очень неправильными ситуациями, когда дизайнеры и программисты, создающие движок Битрикса, не изолируют свой код CSS от кода клиента.
Ситуация 1: Клиент прописывает стили для сайта. Ну, например, ссылки должны быть зелёными. Заходим в какое-нибудь окно редактирования административной панели (в публичке), а там - зелёные ссылки! Т.е. стили сайта повлияли на стили в интерфейсе движка. Такого быть не должно! Мало ли какие у клиента будут стили для инпутов, и они "поползут" в вёрстке. Может у клиента сайт на синем фоне, а ссылки белые. А в окне Битрикса выползут ссылки "белые на белом", т.е. "пропадут". И т.п.
Лечение: Битрикс должен заключать свой HTML в контейнер, а стили прописывать с директивой !important
Объяснить разработчикам, что служебные стили Битрикса начинаются с bx- и лучше их не использовать.
<div class="bx-admin-panel"> ......... </div>
.bx-admin-panel a !important { ............. } |
Ситуация 2: Клиент прописывает стили для сайта. И использует где-то на странице стандартный компонент. Этот компонент внезапно перекрывает стили шаблона и получается каша. Например, пропадает элемент! Оказывается, в компоненте был прописан вот такой стиль в общем пространстве имён!!!
div.empty {width: 1px; height: 1px;} |
Лечение: Опять же Битрикс все свои замечательные придумки должен заключать в пространство имён.
<div class="bx-super-component"> .... <div class="empty"></div> .... </div>
.bx-super-component div.empty {width: 1px; height: 1px;}
|
Научите своих дизайнеров, верстальщиков и программистов хорошему!
Это не проблема клиента! Это проблема некачественного неизолированного кода! Клиент должен быть свободен от таких раздумий "а не пришло ли в голову разработчикам Битрикса использовать такой-то стиль...."