Frames outdated by CSS?

drdeutsch

2[H]4U
Joined
Sep 17, 2004
Messages
3,775
So I've been teaching myself XHTML, CSS, and Dreamweaver (will soon be teaching myself PHP as well) for a huge undertaking - rewriting and redesigning the webpage for my school's department.

It's currently written in HTML 4.0 transitional in frames and is not pretty. Put together with Namo Webeditor who knows how long ago.

Anyway, been doing a lot of studying, so I know tables are outdated and I should use CSS for that, but I haven't heard anything about frames. I realize I could probably get the same effect in CSS, but I found it odd that every CSS resource is telling me that tables are outdated but hasn't touched frames.

I'm a noob at this and learning from the ground up, so I'm just curious: does anyone use frames anymore or should I stick with CSS and do everything in there (not a problem either way.) To be honest, the page looks like crap so I'm most likely scrapping everything and redesigning from the ground up.
 
I hate frames. They were sort of trendy back then. Nowadays they're more annoying than practical.

Tables are not outdated per se, as they are still useful for displaying information pulled from a database, such as PHP output. But, alas, pages relying on tables for structure have been replaced by div-based designs.

Stick with CSS and divs.
 
divs and style="blah:200px;" is the way now

frames have been outdated for a long time
 
actually, using px and pt and other fixed units is evil. people who override font sizes for ease of reading will hate you. use em whenever possible (px for things like borders isn't the problem, px for font sizes, div sizes can be, also, don't set line-height)
 
actually, using px and pt and other fixed units is evil. people who override font sizes for ease of reading will hate you. use em whenever possible (px for things like borders isn't the problem, px for font sizes, div sizes can be, also, don't set line-height)

Since I'm new at this, that is great info! thanks
 
Reason I ask is because the website currently uses frames in order to facilitate the publishing of news.

The main frame of the index.html is news/events. The secretary uses a PHP-based submission form to write up the news, make a description, etc. When she submits it, it publishes to the .html file that displays in that particular frame and is updated.

I know nothing about PHP/MySQL (yet) so I definitely have my work cut out for me.... will it be fairly simple to replicate this procedure with CSS if I just want one index.html page and still want to use a PHP-based submission form to create new News and Events Items on that main page to display whenever it's loaded?
 
Frames have been on the outs for a long time, but CSS had nothing to do with it. They would have been "replaced" by Server Side Includes, such as with PHP.
 
well SSI includes and PHP won't pull off what CSS can do to get a "menu" to float and hang in the same place as some one scrolls. This will help emulate what frames could pull off in that regard.
 
Unfortunately, frames are far from dead. There are XHTML doctypes that continue to support them, and they will continue to be supported for quite some time.

Accessibility is the biggest buzz nowadays, and the reason there is so much emphasis on xhtml compatibility. That being said, don't let the "anti-table" retoric you read fool you. The real issue with tables was that people used them to layout pages. For the sake of accessibility (look up the WAI and WCAG at www.w3.org), tables should only be used for displaying tabular data.

As far as your current solution, it doesn't look like frames has anything to do with your solution. I would assume your form processing is handled by some peice of code that is completely seperate from how you display your data... I could be wrong, but I really don't think killing frames would hurt. PHP could easily handle your form submissions, write them to a file/database and your new index page could parse that data and display it accordingly.

Good luck.
 
I agree with Liu Kang, frames are going to be around for awhile... unfortunately. I have seen VERY few web sites which frames are used that actually need them. Frames are pretty much a crutch for people who don't know how to do any development. Further, they are not very SEO friendly.

Tables are for tabular data; that is if your data does not belong in a spreadsheet, it should not go into a table.

The concept for using CSS is separating the content from the design. Try to use external style sheets as much as possible, avoid using the style="" attribute.

Google for any of a thousand MySQL / PHP tutorials, that'll get you started with basic web form handling and database setup.

Before you even start "designing", you should consider writing an outline of what you're going to do with the site. Include all the major sections, then break down the sections, so you can really "see" what you need to do. I try to do an outline for any medium to major task I take on, mainly so I can use it as a checklist for features. This will really help you, especially if you start getting into programming.
 
We use frames because we need them - we have a media player which needs to keep playing no matter where the user goes on our site, and there are two main ways to accomplish that: pop the player out, or run it in the outer frame while the user surfs around in the inner frame.
 
You could probably use an iFrame. They're a little more manageable and not so...awful, I guess.
 
Frames were replaced by tables and tables were replaced by css for website layouts. Tables are still good for just that. Tables.

It's more of a pain to make a table in css than to use the actual table code.

So, tables still have a place in the world, just less than what it was before.
 
Frames haven't really been replaced, and are still useful in some situations as mentioned by Qualm (iframes are still frames). They are also useful on administration sites (phpmyadmin, zope, etc use them) and a few other niche areas.

As for public websites that need indexing for searches and such, sure frames are terrible, but thats not to say they still don't have a use.

With that being said, I don't think I have created a page with frames since 1997 or so.
 
You could probably use an iFrame. They're a little more manageable and not so...awful, I guess.

Yes, they are iFrames.

Something I should note - our SEO is terrible as a result, and we have an ongoing dev team project to figure out how we can fix that particular problem.
 
Yeah, iFrames don't do much for SEO, but they're easier to manipulate than standard frames. They're nice for static content that doesn't necessarily pertain to the page, although PHP includes are better.

Putting a media player in an iFrame should be fine though. The media player doesn't seem to affect SEO anyway.
 
Frames were replaced by tables and tables were replaced by css for website layouts. Tables are still good for just that. Tables.

It's more of a pain to make a table in css than to use the actual table code.

So, tables still have a place in the world, just less than what it was before.

tables definitely didn't 'replace' frames. Both serve very different purposes. Sure you could abuse the hell out of frames and tables, but their uses would never really overlap. Not in the sense that one would replace the other at least.

Also, why would you want to make a table in CSS? If you're actually showing tabular data, than you should use a table. Tables may have less of a 'place' in the web world, however that place is exactly what they were originally intended for. It's good to see them back home ;)
 
Back
Top