Строчные элементы как блочные — где граница дозволенного?
Часто вижу, как при помощи span делают кнопки. span ведет себя как блок.
Вижу, как задавая свойства блока a тоже делают кнопки.
Еще вижу li, которым также задают свойства блока.
Не считаю все это чем-то предосудительным.
Но помню было правило про строчные и блочные элементы, что строчные элементы нельзя делать блочными.
И вот собственно вопрос: правило работает? Если работает, то явно не во всех ситуациях. Тогда в каких ситуациях оно применимо? Есть причины соблюдать это правило?
Нет никакой разницы, какой стиль отображения задан элементу. Более того, свойство display и существует для того, чтобы менять дефолтные предполагаемые стили элементов на требуемые.
Здесь все на совести разработчика, но желательно придерживаться здравого смысла: если что-то ведет себя как кнопка, делать кнопкой, если что-то ведет себя как блок - делать блоком, если список блоков - то почему бы и не сделать Li блочными? в этом нет ничего плохого