当我注意到之前从未遇到的CSS函数时,我只是在浏览this stylesheet: -webkit-named-image()
我做了一些挖掘,并在SO here和开发者页面here上找到了链接。我能找到的这个函数唯一明显有效的参数是public string getUserFullName(object user)
{
user = UserPrincipal.FindByIdentity(ContextType.Domain, user);
string loggedInUserDisplayName = user.DisplayName;
return loggedInUserDisplayName ;
}
UserPrincipal loggedInUser = new UserPrincipal(ContextType.Domain);
// line above throws cannot convert from 'System.DirectoryServices.AccountManagement.ContextType' to 'System.DirectoryServices.AccountManagement.PrincipalContext'
getUserDetails(loggedInUser);
和apple-pay-logo-black
,例如:
apple-pay-logo-white
我有很多问题,例如:
此功能已弃用或目前仍有效吗? (根据this link和this one的新近度,我认为它不会被弃用。这个函数还有其他可接受的参数(除了上面提到的那个)吗?这个函数是否类似于div { background-image: -webkit-named-image(apple-pay-logo-black) ;}
函数,只要传递的函数参数可以引用或不引用?它是Safari专用的吗?
简而言之,如何找到有关此功能的更多信息以及实际用例?
答案 0 :(得分:6)
此CSS功能是特定于供应商的,因此没有规范。它用于显示WebKit中嵌入的一些命名图像。
要发现此函数的有效参数,一种解决方案是查看source code of WebKit。与此CSS函数关联的C ++函数是drawNamedImage
类的Theme
。
virtual void drawNamedImage(const String&, GraphicsContext&, const FloatRect&) const;
drawNamedImage
的实施中有评论:
void Theme::drawNamedImage(const String& name, GraphicsContext& context, const FloatRect& rect) const
{
// We only handle one icon at the moment.
if (name != "wireless-playback")
return;
但是每个主题都可以覆盖此功能并定义自己的命名图像。 Cocoa theme定义了值wireless-playback
,apple-pay-logo-black
和apple-pay-logo-white
。
WebKit的源代码中还没有定义命名图像的其他主题。
答案 1 :(得分:1)
-webkit-named-image()CSS生成器允许站点按名称请求艺术作品并获取平台变体,并且最近被添加到webkit。
检查此错误,该错误已在一段时间后得到解决 https://bugs.webkit.org/show_bug.cgi?id=164235
目前我所知道的Safari现在附带内置图像,我们可以使用-webkit-named-image()。
根据条带文档:
第2步:在您的网站上添加Apple Pay按钮 首先在产品页面上的HTML中添加一个按钮。 Safari现在>附带内置的Apple Pay图像;您可以将它们与Safari的 - > webkit命名图像功能一起使用。默认情况下应该隐藏此按钮。
我认为这是为了在互联网上创造统一的风格。