【问题标题】:C# WinForm WebBrowser CSS button:hover and button:active [duplicate]C# WinForm WebBrowser CSS 按钮:悬停和按钮:活动 [重复]
【发布时间】:2019-11-25 17:21:36
【问题描述】:


我在 WinForm (C#) 中有一个 WebBrowser 控件,这个 WebBrowser 加载一个具有这样的 css 的页面:

button {
    border: 0;
    width: 280px;
    height: 120px;
    position: relative;
    text-align: center;
    border-radius: 22px;
    padding: 3px 0px 3px 3px;
    margin: 5px 1px 3px 0px;
    transition: 0.3s ease-in-out box-shadow;
}

    button:hover {
        box-shadow: 0 0 18px rgba(81, 203, 238, 1);
    }

    button:active {
        box-shadow: 0 0 18px rgba(81, 203, 238, 1);
    }

这在 IE 中有效,当我触摸(是触摸屏)按钮时,它以弓形阴影突出显示,但在 WinForm 内的 WebBrowser 中不起作用,仅在释放按钮时发生,我不明白为什么。

提前感谢您的帮助。

【问题讨论】:

    标签: c# css winforms webbrowser-control


    【解决方案1】:

    这是因为 WebBrowser 控件默认以 IE7 模式呈现。 要覆盖此行为,您有两种方法:

    • 使用 IE X-UA-Compatible Meta 标头
    • 使用特定于应用程序的 FEATURE_BROWSER_EMULATION 注册表项

    我认为你可以完全控制加载的页面,所以我建议你使用第一种方式:

    <!DOCTYPE html>
    <html> 
      <head> 
        <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
        ... other headers
      </head>
      <body>
        ... content
      </body>
    </html>
    

    来源:https://weblog.west-wind.com/posts/2011/may/21/web-browser-control-specifying-the-ie-version

    如果您无法控制 html 代码,请阅读上面的源代码以找到该主题的详细说明。

    【讨论】:

    • 不幸的是,这两个设置在触摸屏上对我不起作用:(
    • 感谢帮助我
    猜你喜欢
    • 2010-12-02
    • 2020-04-27
    • 2014-07-05
    • 2018-11-05
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    相关资源
    最近更新 更多