首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webkit外观的样式从何而来?

webkit外观的样式从何而来?
EN

Stack Overflow用户
提问于 2019-10-04 06:53:56
回答 1查看 380关注 0票数 0

我理解-webkit-appearance属性背后的基本思想,以及它如何将平台本机样式应用于元素。但我不明白这些平台本地样式是如何定义的。我认为它们可能在用户代理样式表中,但是没有任何样式可以使移动Safari中的<input type="date" />看起来像这样:

您可以在这里查看Safari的用户代理样式表,它不包括(据我所知)使用日期呈现类型进行输入的样式,如上面的图像。

似乎大多数样式都是通过用户代理样式表中的一个CSS属性完成的,即:

代码语言:javascript
复制
-webkit-appearance: menulist-button;

这将极大地改变移动Safari上输入的可视化输出,使其与示例图像类似。

这些样式(如果不是来自用户代理样式表)从何而来?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-05 05:58:48

在对Webkit源代码进行了大量的调查和挖掘之后,我找到了答案。

在基于Webkit的浏览器中,具有appearance CSS属性的元素----从浏览器的用户代理样式表接收它们的平台--原生样式。这些样式在renderTheme文件中的UA样式表之外定义,该文件是Webkit引擎内部的一部分。

例如,您可以在这里定义我最初的问题中所要求的样式:https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/rendering/RenderThemeIOS.mm#L623

为了彻底解决这些问题:在mobile中,<input type="date" />从Safari的用户代理样式表接收-webkit-appearance: menulist-button-webkit-appearance: menulist-button应用的附加样式(不是用户代理样式表Webkit文件。中的)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58231309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档