Znacznik <div> to prawdziwy fundament przy budowaniu struktury strony internetowej i organizowaniu układu elementów. Jest to tzw. znacznik blokowy (block-level), który pozwala grupować różne fragmenty treści, a następnie pozycjonować je względem siebie za pomocą CSS. Bez <div> trudno wyobrazić sobie rozplanowanie całych sekcji (np. nagłówków, menu, głównej treści, stopki). To właśnie dzięki temu znacznikowi możemy stosować flexboxa, grida czy pozycjonowanie absolutne i względne, co daje masę możliwości w praktycznym układaniu layoutu. Moim zdaniem to taki trochę szwajcarski scyzoryk HTML-a – niby prosty, a jakże wszechstronny. W praktyce często używa się <div> nawet do tymczasowego dzielenia sobie strony w fazie projektowania. Warto pamiętać, że według współczesnych standardów (HTML5) powinniśmy używać znaczników semantycznych (np. <section>, <article>, <nav>) tam, gdzie to możliwe, ale <div> wciąż zostaje podstawą wszędzie tam, gdzie nie da się zastosować nic bardziej opisowego. Przykład praktyczny: jeśli chcemy, żeby dwie kolumny treści były obok siebie, wrzucamy je do dwóch <div> i nadajemy im odpowiednie style CSS (np. display: flex albo float). Dzięki temu mamy pełną kontrolę nad wyglądem strony i jej responsywnością. Z doświadczenia wiem, że bez umiejętnego wykorzystywania <div> ciężko zrobić coś sensownego w nowoczesnym web developmencie.
Wiele osób myli zastosowanie podstawowych znaczników HTML, co jest całkiem zrozumiałe na początku nauki front-endu. <b> jest używany wyłącznie do pogrubiania tekstu, nie tworzy żadnych bloków ani nie wpływa na organizację układu strony – to znacznik wewnętrzny (inline), więc nawet nie przerwie linii. <br> natomiast to bardzo prosty element służący tylko do łamania linii, zupełnie nie daje możliwości pozycjonowania czy grupowania jakichkolwiek bloków treści – jego użycie do budowy układu byłoby wręcz błędem i niezgodne z dobrymi praktykami. <img> wprowadza grafikę na stronę, ale sam z siebie jest elementem liniowym i nie nadaje się do zarządzania blokami zawartości. Spotykam się czasem z błędnym podejściem, że można układać stronę na <br> czy <img>, ale to prowadzi do nieczytelnego, trudnego do edycji kodu. Współczesne standardy zdecydowanie zalecają wykorzystywanie znaczników blokowych oraz CSS do stylowania i pozycjonowania, zamiast przełamywania linii czy wciskania grafik dla uzyskania efektów wizualnych. To, co naprawdę pozwala sensownie zarządzać układem, to korzystanie ze znaczników blokowych (np. <div>, <section>, <header>), a potem nakładanie na nie reguł CSS – czy to flexbox, grid czy pozycjonowanie absolutne. Z mojego doświadczenia wynika, że próby „oszukania” przeglądarki za pomocą <br> albo nadmiernego stosowania <img> do budowy layoutu szybko kończą się frustracją, chaosem w kodzie i problemami z responsywnością. Warto od początku wyrabiać sobie dobre nawyki i rozumieć, do czego realnie służy każdy znacznik HTML.