Some CSS isn't bad, but requiring it to not have a broken page is. Additionally, forced style choices implemented through CSS and HTML tags such as <font> or attributes such as bgcolor, color, link, vlink, and alink, were afterthoughts. These would later give way to disfeatures used by so-called "web designers" who wanted everyone to see materials with the mindset that everyone uses the same web browser on the same screen size with the same operating system and fonts installed.
For example, a web "designer" implements CSS code to make all paragraph tags sized at default 16 pixels, along with the text color to default black. The font face is set to Tahoma with a fallback to sans-serif. The page goes live, and several years later, perse finds two typos in the same word: sans-serif was written as "sans sref", and the page now used the browser default font on machines running BSD, GNU/Linux, Mac OS or anything else -- which was ultimately not the intended way it was supposed to look. This nonhypothetical example which happened to me around 2015 can happen to anyone. (It also shows the importance of spellcheckers.) Unless a "designer" has multiple platforms and browsers to test on, it will be easy for per to miss numerous design flaws.
Plain HTML pages are beneficial, as they can load fast due to being lightweight, can properly fit many screen sizes, looks relatively the same across web browsers, is very accessible to anyone that visited your page, is great at getting points across, and can work well with screen readers, text-based web browsers, printers, and so on.
With all of the above having been said: this is, in fact, a "proper web site". You do not need to have tons of bloat, many scripts, and the digital equivalent to burn-out-your-retina blue LEDs everywhere to have a good web site. Perhaps it's better I found this out sooner than later.
But you still want either some or many photos on your web pages? That is still possible, even with styles such as floats in many cases. The web pages on presumed.net will sometimes contain photos on them -- for example, both the Coco Server home page and my personal home page.
Other pages will include symbols on them, such as the Chell Aperture server.
And here is an example where I use align=right to float the image of some wild berries over to the right side of the page. All of this was done without unnecessary complexity and bloat, and without scripts to do the work for the web browser, that the web browser will still need to do on its own.
In the past, people would have also aligned images using tables.
Normally when I used this method, borders were off. They are enabled here as a part of the demonstration only.
Optionally, you can just not use a table:
The above images add about 105KB to the overall size of the page, but that is nothing compared to the over 1MB that a typical "modern" web site is. There is no reason that web sites need to be image reliant either. What difference does it make if a file loads 0.1 seconds after the text does? There is no reason to make the page load take 3 seconds longer in order to blur every image until a pointless bloated script "replaces" the worthless placeholder images with the real ones. That also adds more data required to view the page! Similarly, overstyling images can lead to other similar issues to overstyling CSS in general. Placing a flashy background image might seem nice when you think about it, but in practice you get a hard-to-read web page. There is always forcing text colors to resolve many issues with this, but there you go forcing style choices now. Imagine what the printer will output with extra colors everywhere on the page.
If the state of the so-called "modern" web was not bad enough, it has already gotten to the point that we are creating workarounds rather than fixing the problem itself. In terms of workarounds, the digital equivalent of using a Band-Aid® on an avulsion will become a thing sooner than later. But it's all good, since this is "modern", and people's short attention spans will not be able to handle reading a few paragraphs of text.
Images can be good when used in ways that make sense. When used for nonsense, as text substitutes, for "tracker" substitutes, or other similar concepts, then they are bad and the page is better off without them. For more information on images gone bad, see the FTC's article regarding tracking pixels and what they found from medical treatment companies using them in inappropriate places.
Just because Mozilla creates Firefox, and it's not either Google Crome (includes Brave and Edge, which are only Chrome clones and nothing else) or Microsoft Internet Explorer, that doesn't make them good. Consider using GNU IceCat instead, or if you don't want graphical at all, see Lynx (linked below).