Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有任何系统定义/内置样式或CSS功能模拟菜单选择的外观?_Javascript_Html_Css - Fatal编程技术网

Javascript 是否有任何系统定义/内置样式或CSS功能模拟菜单选择的外观?

Javascript 是否有任何系统定义/内置样式或CSS功能模拟菜单选择的外观?,javascript,html,css,Javascript,Html,Css,我试图模拟菜单的外观,让它遵循系统用于高亮显示的当前颜色/样式 例如,给定此分区 <div>Make Me Look Like I'm a Menu Item that's Hovered Over</div> 让我看起来像是一个悬停在上面的菜单项 …是否有任何系统定义的样式/类/选择器/什么可以应用于该div的CSS,使其看起来像突出显示的菜单项 注:“系统定义”指的是操作系统的定义。例如,Windows的突出显示默认为蓝色,但您可以应用一个“森林”主题,该主题在所

我试图模拟菜单的外观,让它遵循系统用于高亮显示的当前颜色/样式

例如,给定此分区

<div>Make Me Look Like I'm a Menu Item that's Hovered Over</div>
让我看起来像是一个悬停在上面的菜单项
…是否有任何系统定义的样式/类/选择器/什么可以应用于该div的CSS,使其看起来像突出显示的菜单项

注:“系统定义”指的是操作系统的定义。例如,Windows的突出显示默认为蓝色,但您可以应用一个“森林”主题,该主题在所有应用程序中重新定义为绿色。我希望我的网页遵循这一点,因为这个特定的功能是模拟菜单

如果重要的话,这只适用于谷歌浏览器

注意:我知道我可以在CSS中定义我自己的“突出显示”类,我在其中设置字体、文本和背景颜色,这就是我目前正在做的,但这意味着我正在定义这些东西,而不是选择系统使用的那些东西,这正是我正在尝试做的

我甚至不确定系统是否定义了这些东西。这基本上就是我要问的。。。如果有


如果没有,是否有任何常量可以通过Javascript访问,然后通过编程应用?这也是一个选项。

如果我理解正确,您会问是否已经有实现/编码的CSS类,您可以应用于某些DIV元素,使其看起来突出显示

当你说“系统”是什么意思,你指的是CSS 3.0本身吗

无论如何,我认为CSS本身不会为您提供预定义的类和外观,因为您需要做以下两件事之一:

  • 正如您已经提到的,编写您自己的CSS,或者
  • 用一个很好的框架为你做这件事
  • 您可能想看看:

    • 引导
    • HTML5样板文件
    • 语义用户界面
    这些框架有许多可以暗示的完整设计模式,因此它们是系统(框架)定义的,而不是用户定义的

    关于highlighter本身,有一个很好的教程介绍如何简单地做到这一点:

    一般注意事项:当您使用CSS时,您的“操作系统”是您的浏览器,用于呈现HTML+CSS+JavaScript代码,因此不同的浏览器可能会预览相同的代码,但略有不同

    希望这有帮助, 最好的,是的。带着警告

    表单控件通常采用系统颜色、大小、字体等,无需您的努力

    从用户的操作系统中提取字体、颜色和其他属性的规范可以追溯到、继续并保持不变。只看字体(编辑:我添加了菜单颜色作为最后两种),选项集是有限的,但很简单:

    • font:caption
      用于字幕控件(例如按钮、下拉列表等)的字体
    • font:icon
      用于标记图标的字体
    • font:menu
      菜单中使用的字体(例如下拉菜单和菜单列表)
    • font:messagebox
      对话框中使用的字体
    • font:small caption
      用于标记小控件的字体
    • font:status bar
      窗口状态栏中使用的字体
    • 颜色:菜单
      菜单背景
    • color:menutext
      菜单中的文本
    然后是苹果打破了规范,比如
    font:-Apple-system-caption1
    。所以这是一个移动的目标

    是显式的,从弃用说明中引用的规范中似乎缺少

    我在2015年7月题为“的帖子中有更多的细节和链接


    简而言之,阅读规范,抽取一些示例,并对其进行测试。在我的帖子中有一个代码笔的例子,你可以用它作为基础。

    是的,这就是我害怕的。哦,作为记录,我所说的“系统定义”基本上是指操作系统级别。例如,在Windows上,默认为蓝色,但有人可以应用使其变为绿色的主题。Chrome的菜单都是这样的。因为我的网页是一个弹出窗口,实际上是在模拟上下文菜单,所以我也希望它能够捕捉到这一点。不知道CSS是否以这种方式暴露了系统中的东西。我想不会。哦,现在我完全理解你的问题了。看起来你在做桌面应用程序开发。换句话说,你的“操作系统”是特定的浏览器,所以你的问题的完整答案是:1)是的,框架是你所需要的2)不同的浏览器以不同的方式呈现(显示)一些元素,所以当你开发时,你要检查其中几个的设计。关于highlighter本身,有一个简单的教程介绍了如何制作:是的,我想知道的是操作系统如何为运行在其中的应用程序显示界面。例如,即使两个不同的浏览器呈现不同的效果(这对它本身来说是不好的,但我离题了),它的操作系统部分通常是相同的,这意味着应用程序的主窗口、主菜单、首选项窗格等。我想知道的是,CSS(或通过Javascript访问的东西)是否考虑到了这一点,让您能够访问这些信息。@technogek,OP不需要框架。框架不会从操作系统级别继承。CSS内置了这一点,但是框架通常是自以为是的,如果没有很多覆盖,很难定义OS风格。哇!这是一个可怕的信息财富。谷歌搜索的日子并没有分享这样的东西。这就是为什么我如此爱你!很好的发现。注意:不保证菜单颜色会起作用。祝你好运。这绝对是一个开始!如果它不起作用,那么我就做我现在正在做的,那就是自己定义它。不是最优的,但也不是太坏。