Возьмём, например, меню в любой популярной CMS, например, Wordpress. Чаще всего этот элемент верстается списком ul>li*5
. Но ведь, его можно сверстать и с помощью div>a*5
. Допустим, вы этого не знаете и верстаете вторым вариантом. А потом понимаете, что дефолтный модуль CMS делает это немного иначе, а у вас уже стили все прописаны, которые теперь придётся исправлять... Либо править дефолтный модуль. Такая же история есть про Opencart'овское меню переключения языка и валюты. Сверстал бы это выпадающее меню одинаково, но вот незадача - у валюты используется button
, а у языка а
. А переписывать логику намного геморройнее, чем сменить html-тег.
Либо вам нужно знать CMS очень хорошо, чтобы потом не пришлось перевёрстывать и при условии, что вам жизненно важно разделить процесс вёрстки и интеграции вёрстки в CMS, либо делать это прямо на CMS со всеми плюшками от webpack/npm/nodejs/bower/gulp/grunt или кому что там нравится.
imho :)