Immer wieder gern!
Bedauere nicht Deinen knappen Kenntnisstand, sondern erfreue Dich Deiner Fähigkeit, ihn zu erweitern. Trotzdem solltest Du ein paar kleine Unterscheidungen vorwegnehmen, die Dir das Lernen erleichtern:
HTML-Elemente wie div erzeugen zunächst einmal nicht etwa einen Rahmen oder eine Box oder sonst irgendetwas Grafisches, sondern einfach nur eine Kapselung für den jeweiligen Inhalt. Wie dieser Inhalt daraufhin formatiert wird, bestimmt das CSS - entweder das aus der Seite oder das vom Server mitgelieferten.
Standardmäßig wird primär zwischen sogenannten Block- und Inline-Elementen unterschieden (Tabellen fallen aus diesem Schema teilweise heraus): Erstere schaffen klar getrennte Unterteilungen (die auch durch einen Rahmen hervorgehoben werden können) und Letztere bleiben im Textfluss. Innerhalb eines Inline-Elements darf normalerweise kein Block-Element stehen. Das betrifft jedoch ausschließlich das HTML, nicht das CSS.
Es mit CSS nämlich durchaus möglich, ein Inline-Element rein optisch in ein Block-Element zu verwandeln - das geht mit der "display"-Eigenschaft. Die overflow-Eigenschaft hingegen bestimmt das Verhalten gegenüber dem Inhalt, insbesondere, wenn der Inhalt größer ist als das umgebende Element.
Bei all diesen wunderbaren Möglichkeiten muss man jedoch berücksichtigen, dass es einen Browser gibt, der die entsprechenden Standards nicht vollständig umsetzt und teilweise mit seltsamen Erweiterungen und Fehlern spickt.
Trotzdem ist das kein Grund, Stilangaben in den HTML-Code zu schreiben (bspw. background im body-Tag) - denn genau dafür, Elemente mit Stilangaben zu versehen, ist CSS gedacht.
Gruß, LX
RFC 1925, Satz 6: Es ist einfacher, ein Problem zu verschieben (...), als es zu lösen.