Семантично ли е ползването на div и span?
Покрай стилизирането на една от задачите с формуляри се запитах дали използването на div и span е семантично правилно. Много трудно става подреждането на разните input, label, checkbox, select и т.н. ако не се използват div или span.
Та ми е чудно дали е добра практика семантичните тагове да се вкарват в несемантични с цел подредба?
Винаги може да направиш даден елемент да се държи като блоков (т.е. с поведение на <div>), използвайки CSS:
span {
display: block;
}
Друго нещо което помага в подобни случаи е да направиш блоковите елементи да се държат като inline елементи:
section {
display: inline-block;
}
Да, това ясно, но самият факт, че трупаш много на брой eднакви семантични елементи в body-то например, било то и блокови, почва да прави подреждането им доста триково. Например ти можеш да имаш няколко header-a(header като header на страницата, header на основния section), footer, nav и т.н. На мен ми изглежда по-лесно да позиционирам всеки от тях в отделен div, който вече да си позиционирам пак отделно в body-то.