Since "web projects" can encompass a whole range of efforts (from a simple corporate info site to a massive, fully integrated application), that's a broad question. Since the major differences involve the integration of the "creative" aspects (HTML and associated assets), I'll focus on those:
If the project has already been through a detailed definition (with a detailed site-map and page flow), a suggestion would be to use a page-based estimate. List out all of the pages and classify them as:
Dynamic or Static and Transactional or Informative
Further figure out which ones can be "templated" and which ones would be one-off. Then, provide a person-day estimate for each type (e.g. Dynamic/Transactional; Dynamic/Informative; Static/Transactional; etc.) For example, in the chosen environment, a Dynamic Transactional page takes 5 days to code and unit test. Any pages based off a Template get a 50% (you decide the %) "discount." Put em in a spreadsheet and add it up.
Obviously, this is kinda high-level, but it suggests that you use a function-point type of analysis, except your replace function-point with "page-type."
If the project is more of an application development on top of an appserver with complex business logic, then you might try to only estimate the incremental impact of the actual page creation and integration on top of your existing estimation routine (e.g. for Object estimation). Saving Changes...
You might be interested in a conference sponsored by IIR. I just received a brochure on the conference focussing on "Internet Speed for Internet Projects" - basically a project management seminar for internet projects. Their website is www.iir-ny.com. Saving Changes...