【问题标题】:CSS and TWebbrowser delphiCSS 和 TWebbrowser delphi
【发布时间】:2011-02-24 16:20:34
【问题描述】:

我想知道是否可以操纵网站的 CSS。例如输入字段中的颜色?我看了几个问题,但我不清楚它是否可能。

例如,在Google Chrome中,只要选择一个字段,它就会显示外地周围的金色线。是否可以在任何网站上在 delphi 中执行此操作和其他操作。编写应用于在 Twebbrowser 中打开的网站的 CSS 代码?仅供个人观看

谢谢

我也可以使用此代码更改输入字段背景的颜色吗?我可以更改背景颜色和更改字体大小,但似乎无法弄清楚输入字段的颜色或边框。这是代码:

http://www.delphidabbler.com/tips/58

【问题讨论】:

  • Chrome 就是这样做的,它不是基于 CSS 的。 TWebBrowser 基于 IE,不会以相同的方式突出显示字段。你依靠渲染引擎来做这样的事情。可以想象,可以通过 DOM 注入一些 CSS,但这将是一项艰巨的任务。
  • @David Heffernan - 我正在学习,唯一最好的方法就是尝试。这就是我正在做的......
  • @Lakkerw:我认为自学更有效率,只有在你真的、真的遇到问题时才提问。而且,正如大卫所说,你应该从简单的事情开始,而不是高级的事情。您需要先学习基础知识。
  • @ Andreas Rejbrand,David Heffernan - 谢谢,如果仍然感兴趣,我添加了一些代码。
  • 恭喜,您似乎已经掌握了剪贴板:delphidabbler.com/tips/58

标签: css delphi twebbrowser


【解决方案1】:

加载页面后,可以通过从代码中添加样式表来修改 CSS:

var
   document: IHTMLDocument2;
   stylesheet: IHTMLStyleSheet;
   stylesheetIndex: Integer;
begin

   // Inject CSS Style Sheets
   document := webBrowser1.Document as IHTMLDocument2;

   stylesheetIndex := document.styleSheets.length;
   if stylesheetIndex > 31 then
      raise Exception.Create('Already have the maximum amount of CSS stylesheets');

   stylesheet := document.createStyleSheet('', stylesheetIndex);
   stylesheet.cssText := ...

【讨论】:

  • 嗨,对不起,我不确定我是否理解正确。 BUt at stylesheet.csstext:= 从那里可以填写首选的css代码?
  • 是的,如果您加载 google.com,然后将 cssText 设置为 'body { background-color: black }';,您应该会看到黑色背景
【解决方案2】:

使用@jasonpenny 的答案添加样式表,接下来您需要更改具有焦点的输入元素周围的边框,在 CSS 中称为焦点伪类或选择器。有关详细信息,请参阅以下文章:

http://www.w3schools.com 网站包含大量有关 Web 开发的信息。它还允许您使用许多示例,这样您就可以看到更改内容时的效果。如果您正在尝试学习如何进行 css 样式设置,则最好掌握那里的所有信息,而不是同时学习编程和编程语言。

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 2017-07-15
    相关资源
    最近更新 更多