我已经在css文件上创建了输入类型样式,通过它,我正在改变输入类型文本框的样式,以及我在我的整个网页中使用的样式。但是,现在我遇到了一个问题,我想要一个特定的输入类型,不应该受我创建的css文件的影响。简而言之,我想要特殊输入类型的css异常。所以......输入样式保持不变,不受css样式的影响。任何想法,如何实现这一点。 理念将不胜感激!!!
这是我的css文件的代码
input
{
color:#000000;
font-size:14px;
border:#666666 solid 2px;
height:24px;
margin-bottom:10px;
width:200px;
}
textarea
{
color:#000000;
font-size:14px;
border:#666666 solid 2px;
height:124px;
margin-bottom:10px;
width:200px;
}
我希望如此,它不应该应用于此
<input type="image" src="images/loginbutton.png" style="width:80px;height:40px" />
答案 0 :(得分:18)
以下选择器可帮助您在CSS3中排除image
类型:
input:not([type="image"])
如果您不想依赖CSS3 - 由于浏览器兼容性,您可能不会这样做 - 您应该将初始选择器更改为更具体,如下所示:
input[type="text"], input[type="password"]
修改:似乎需要更深入的解释
这将起作用的原因是因为它不会专门排除任何输入类型,但您只会包含做想要定位的类型。
所以不要说我有a,b和c而我想排除b。你可以说我只想定位a和c。
答案 1 :(得分:0)
你可以给出你不想要被称为class =“nostyle”的输入,然后在CSS中定义......
.nostyle {
margin: 0;
border: 0;
}
...或者你想要非风格输入的任何东西。
答案 2 :(得分:0)
如果您不关心IE 8及更低版本you can use :not()
。否则,您将需要覆盖您为图像输入应用的所有样式,或者找到一些其他方法使选择器更具体(例如为每个输入添加一个类)。
答案 3 :(得分:0)
这可能太明显了,但是你可以在textarea上设置一个你不希望应用该样式的id吗?然后给这个元素自己的风格?
否则,您可以尝试使用一组更具体的后代选择器来定位该特定元素。
答案 4 :(得分:0)
有办法做你要求的,但我建议不要这样做。我建议制作所有样式元素(包括输入等)在CSS中有实际的类而不仅仅是输入。这样你就可以轻松地使项目没有类或者有不同的类。
我理解这不会回答你的问题,但希望这会对你有所帮助,如果你确实改变它,就像编写更多CSS一样麻烦,从长远来看,它可能更好,可能是这样的:
input.normal {
color:#000000;
font-size:14px;
border:#666666 solid 2px;
height:24px;
margin-bottom:10px;
width:200px;
}
input.alternate {
something:here;
}