让嵌入窗体的 WebBrowser 控件无边框(转)

  前一段时间升级了一个程序,将程序的主界面用网页来设计,效果非常好,用 HTML+CSS 可以实现更加丰富的界面效果,比直接用 Delphi 来得容易。

  实现的方法很简单,在窗体添加一个 WebBrowser 组件,然后执行以下代码:

  WebBrowser1.Navigate('D:\Soft\HomePage.html');

  但随之而来出现了一个问题:WebBrowser 组件在未载入 HTML 之前是无边框的,当载入 HTML 之后,WebBrowser 四周出现了一个三维边框,和程序本身的风格极不协调,查看了 WebBrowser 的所有属性,没有属性可以改变这一设置。

  经过测试以后发现,该边框并不是 WebBrowser 产生的,而是 WebBrowser 中载入的 HTML 产生的,如果是这样的话,那问题就好解决了,真接用 CSS 去掉边框:

  body { border: 0px; overflow: auto; /*可自动隐藏或显示滚动条;设为 hidden 完全隐藏滚动条*/ }


  当你高兴地设置以上 CSS 后,却发现 WebBrowser 的边框却依然存在,是 CSS 错了吗?NO,是你的 DOCTYPE 出了问题,以上的 CSS 在 XHTML 下是无效果的,将 DOCTYPE 设为 HTML4 即可:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
posted @ 2008-05-04 13:07  jetz  阅读(2666)  评论(1编辑  收藏  举报