Html 如何对这一现象进行理论化<;部门>;标签

Html 如何对这一现象进行理论化<;部门>;标签,html,css,Html,Css,我对CSS的理解是,通常如果设置,则中的所有内容都会受到影响。但是,如果将html按钮放入其中,则按钮上单词的颜色不会受到影响。我对这个例外感到有点不安。如何对其进行合理解释?这是关于用户对用户界面的期望 按钮(和其他用户界面小部件)更喜欢与操作系统类似。在Windows上,用户希望按钮是灰色的,带有黑色文本,所以浏览器就是这样显示的。您必须非常努力地覆盖该行为,这是有意的。您将希望在CSS中查找继承规则;某些属性值将级联到某些子元素,而某些子元素则不会。事实上,许多CSS属性的一个可能值是继承

我对CSS的理解是,通常如果设置
,则
中的所有内容都会受到影响。但是,如果将html按钮放入其中,则按钮上单词的颜色不会受到影响。我对这个例外感到有点不安。如何对其进行合理解释?

这是关于用户对用户界面的期望


按钮(和其他用户界面小部件)更喜欢与操作系统类似。在Windows上,用户希望按钮是灰色的,带有黑色文本,所以浏览器就是这样显示的。您必须非常努力地覆盖该行为,这是有意的。

您将希望在CSS中查找继承规则;某些属性值将级联到某些子元素,而某些子元素则不会。事实上,许多CSS属性的一个可能值是继承,这表明该值并不总是默认值。

按钮和其他一些元素具有自己的样式。此样式依赖于浏览器。在不同的浏览器中,按钮的外观可能会有所不同。

这是因为输入元素从父元素继承样式信息是不切实际的,这意味着无论何时设置表单样式,都必须为表单中使用的每种类型的输入创建样式规则,以确保它们不会意外出现。但是,您可以强制输入使用css继承其父项的样式:

input {
    color: inherit;
}
该代码将导致所有输入元素继承其父元素的文本颜色样式。

层叠样式表(CSS)的“层叠”部分意味着,一般来说,您是对的:对象上的属性集将层叠到它下面的对象

但是,对于某些属性来说,这是没有意义的,因此这些属性是显式非级联的(例如,如果在div上设置了边框,则不希望其所有子级都有边框)

如果我们在DOM中处理原始XML,那么它就到此为止了。这种颜色确实会一路飘落下来。然而,我们处理的是HTML,HTML有一些预先存在的条件、异常和覆盖。例如,
始终默认为
显示:块
将默认为
显示:内联

按钮和输入字段有很多默认值和替代值,这就是为什么它们显示为按钮和输入字段,而不必对它们进行大量的样式设置。这也是为什么它们会覆盖某些CSS规则的级联效果,包括颜色

通过为替代样式指定
inherit
,可以替代替代。因此,如果您希望按钮采用之前指定的红色,您可以执行以下操作:

.mybutton {
    color:inherit;
}

浏览器本身具有
input
类型的默认样式,这取决于它运行的操作系统。所以对于Windows,它很可能是灰色的,对于苹果操作系统的蓝色和圆形(花式)

在CSS中有非常简单的方法来覆盖它,我在我的网站中一直使用它,自定义按钮和输入字段,以便更好地将我的网站设计与图像匹配,正如前面提到的,颜色值可以继承或更改

下面是一篇很好的使用CSS的文章规则,可能会对您有所帮助


:)?即使他们这样做了,那又如何回答这个问题呢?这并不能真正回答这个问题,因为所描述的行为适用于所有种类的HTML元素,而不仅仅是按钮。与其说什么属性是如何继承的,不如说是什么属性是如何继承的。
默认设置为
display:inline我认为如果spans不显示,全世界的web开发人员都会患动脉瘤。确认!哎呀。呵呵/我打字太快了。我会编辑的!我将+1作为第一个回答者,链接到CSS继承规则的全面概述。