Dynamic web apps in the first "bubble" era were generally either perl/cgi or ASP (without the .NET suffix, obviously). Javascript was used, but only for small things like required field validations. Databases would be SQL Server or Oracle or Sybase, typically. PHP and MySQL was also used. Servers were mostly either Sun or Microsoft (for ASP), though there was some Linux.
The main difference from today was that almost all dynamic content was generated server-side (of course we do still see that today also, but it's not "trendy"). Layouts were table-based and yes, styles were almost always in-line and not in separate stylesheets. Very little JavaScript, because it was common for browsers to not support it, there were significant quirky differences between browsers, and the CPU speeds of the day meant you couldn't do anything substantial with it anyway. If it was used, it was again typically in-line in an "onblur" or "onsubmit" handler.
Security of web apps at the time was laughable by today's standards. SSL had a significant impact on server performance and was mostly limited to use on the login page, if it was used at all. SQL injection was only beginning to be understood by most developers, many (most?) sites used SQL queries made with unescaped concatenated strings and were vulnerable.
If they were really on board with Microsoft technologies, they might have abstracted their logic into business objects likely written in VB6, running in a COM layer in Microsoft Transaction Server, which called stored procedures in SQL Server. Or they might have used Java and JSP and servlets
Almost nobody had broadband unless they worked at a university or tech company. Dial-up was the norm elsewhere so page assets had to be pretty minimal. Many people had screens that were 640x480 so most websites designed for that.
I still see a lot of code in languages like PHP that is quite similar to what was being written in 2000.