Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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
Html 将默认类应用于所有类型的*n*_Html_Css - Fatal编程技术网

Html 将默认类应用于所有类型的*n*

Html 将默认类应用于所有类型的*n*,html,css,Html,Css,是否有一种默认情况下将类应用于元素的方法?例如,我想将类foo应用于所有input元素: .foo { ... } 我有限的知识让我相信,我每次都需要提高分数: <input type='text' class='foo' /> <input type='password' class='foo' /> ... ... 但是,很明显,我希望我可以在默认情况下以某种方式将该类应用于CSS中的所有input元素。我期待你的回答 更新 为了澄清我自己,我不想复制已经存在

是否有一种默认情况下将
类应用于元素的方法?例如,我想将类
foo
应用于所有
input
元素:

.foo { ... }
我有限的知识让我相信,我每次都需要提高分数:

<input type='text' class='foo' />
<input type='password' class='foo' />
...

...
但是,很明显,我希望我可以在默认情况下以某种方式将该类应用于CSS中的所有
input
元素。我期待你的回答

更新
为了澄清我自己,我不想复制已经存在于
foo
中的CSS,因为如果我需要更改
foo
的样式,我不想在多个地方更改CSS。此外,我将把它应用于不仅仅是所有
输入
元素。

您可以使用jQuery这样的框架轻松地向元素添加类:

$(document).ready(function() {
    $('input').addClass('foo');
});
编辑:要解决您的最新更新

如果您只想在某些条件下“扩展”一个类,您可以为该情况添加第二个类。。。e、 g:

<input class="foo bar" />

<style type="text/css">
    .foo.bar {
        color: #123;
    }
</style>

.foo.bar{
颜色:#123;
}

这将只应用同时是
.foo
.bar
的元素,并且不会影响全局
.foo
样式,这些样式仍将应用于所有
.foo
元素(包括这些)

您可以使用类似jQuery的框架轻松地向元素添加类:

$(document).ready(function() {
    $('input').addClass('foo');
});
编辑:要解决您的最新更新

如果您只想在某些条件下“扩展”一个类,您可以为该情况添加第二个类。。。e、 g:

<input class="foo bar" />

<style type="text/css">
    .foo.bar {
        color: #123;
    }
</style>

.foo.bar{
颜色:#123;
}
这将只应用同时是
.foo
.bar
的元素,并且不会影响全局
.foo
样式,全局
.foo
样式仍将应用于所有
.foo
元素(包括这些)

这是应用css的代码


这是应用css的代码

您可以使用javascript的
文档.getElementsByTagName(标记)函数

例如:

var tags = document.getElementsByTagName("input");
for(i = 0;i<tags.length;i++){
    tags[i].className = "foo";
}
var tags=document.getElementsByTagName(“输入”);

对于(i=0;i您可以使用javascript的
document.getElementsByTagName(标记);
函数

例如:

var tags = document.getElementsByTagName("input");
for(i = 0;i<tags.length;i++){
    tags[i].className = "foo";
}
var tags=document.getElementsByTagName(“输入”);

对于(i=0;i如果您的意思是希望采用
.foo
规则中的所有样式,并将其应用于
输入
s,则只需选择这两种样式:

.foo, input { ... }

如果您的意思是希望将
.foo
规则中的所有样式也应用于
输入
s,只需选择这两种样式:

.foo, input { ... }

您可以尝试使用或之类的样式表预处理器。这将允许您在此处或此处使用变量和其他技巧,以帮助您避免重复CSS。如果您想在将CSS提供给用户之前对其进行处理,可以使用这些和服务器端的Javascript实现

当然,CSS最终还是会产生重复的代码,但是您不必自己编写两次相同的代码

例如,在以下情况下:

.foo {
   color: #222222;
   padding: 10px;
}

input {
   .foo;
}

您可以尝试使用或之类的样式表预处理器。这将允许您在此处或此处使用变量和其他技巧,以帮助您避免重复CSS。如果您想在将CSS提供给用户之前对其进行处理,可以使用这些和服务器端的Javascript实现

当然,CSS最终还是会产生重复的代码,但是您不必自己编写两次相同的代码

例如,在以下情况下:

.foo {
   color: #222222;
   padding: 10px;
}

input {
   .foo;
}

在本例中,它不会影响OP也需要的密码字段。您可以将其用于paassword Too。在本例中,它不会影响OP也需要的密码字段。您可以将其用于paassword Too。好的,这很有意义,谢谢。尽管有个问题,我本应该更清楚,但我想要的样式是applied存在于一个jQuery UI自定义样式表中,我试图避免修改该样式表。有什么方法可以在我的样式表中构建扩展样式来完成同样的事情吗?@BigM:恐怕标准CSS不可能,只有一个预处理器(见beanland的回答)。即使这样,我也不确定是否可以从其他样式表中获取规则并将其放入Sass/LESS样式表中。因此,由于我可能不会再次下载该自定义样式表,因此这确实是最好的方法,我应该修改该样式表并在将来进行更新(如果存在的话)手工?@BigM:我建议改为在脚本中进行。(我最初对另一个答案发表了评论,说使用脚本太过分了,但由于您刚刚提到您使用的是jQuery UI,也许这还是值得考虑的。您可能还想重新标记您的问题。)我也曾考虑过使用jQuery,但在听了你的回答后,我不禁要问,我从jQuery UI获取此样式表的某种更新的可能性有多大?想法?因为它让我从不同的角度看到了它,我认为简单地添加这些元素是一种非常好的方法。好的,那么这就是这很有道理,谢谢。不过问题是,我本应该澄清得更好,但我想要应用的样式存在于jQuery UI自定义样式表中,我试图避免修改该样式表。有没有办法在我的样式表中构建扩展样式来完成同样的任务?@BigM:恐怕标准CSS不可能做到这一点,只有w使用预处理器(参见beanland的回答)。即使如此,我也不确定是否可以从其他样式表中获取规则并将其放入Sass/LESS样式表中。因此,由于我可能不会再次下载该自定义样式表,这确实是最好的方法,我应该修改该样式表并在将来进行更新(如果存在的话)手工?@BigM:我建议用脚本来代替