在css中使文本框忽略样式

时间:2012-06-07 08:03:55

标签: css

我的视图中有一个id =“Email”的文本框,我需要保持id不变。但是,css文件中有一个#Email字段,我的文本框会获取该字段中的样式。如何让它忽略那种风格?

8 个答案:

答案 0 :(得分:2)

您可以将CSS中的#Email分组到所需的位置吗?例如,可能#Email应该进入某些.article或其他内容。

而不是像CSS一样使用CSS:

#Email {background: #ccc;}

你可以考虑写作:

.article #Email, p #Email {background: #ccc;}

或者,您也可以这样做。既然您知道自己不希望input设置#Email,那么您可以编写CSS:

input#Email {background: none;}

并重置上述全局样式。

希望这有帮助! :)

答案 1 :(得分:0)

你不能,不能不改变ID或覆盖强加的样式。这就是CSS 所做的。尽量避免在样式表中出现类似歧义。

答案 2 :(得分:0)

如果您想覆盖您的财产。像这样写

input#Email{
 color:red;
}

答案 3 :(得分:0)

更好地将文本框的ID从Email更改为其他ID

答案 4 :(得分:0)

您的选择是:

  1. 更改CSS,它明确指向一个ID,因此您可以期待它 要做到这一点,ID绑定样式无论如何都不是我的最爱,考虑一下 使它成为一种常规风格,这样你就可以使用class =“email”了 标记或使其更具体,因此它不是一揽子ID绑定
  2. 更改标记中的ID(您已表明不能 这样做)
  3. 使用jQuery,messy和hacky删除类

答案 5 :(得分:0)

在你的css文件中

尝试在#email之前写一些父元素id,这在<input id="email">

的情况下不存在

答案 6 :(得分:0)

您可以定义'style =“”'属性(文本框的显式样式)并手动覆盖传递的样式。但你不能只是全球'拒绝'所有风格。

<textbox id="email" style="...">
...
</textbox>

答案 7 :(得分:0)

您无法忽略CSS设置。你需要以这种或那种方式覆盖它。也就是说,如果样式设置不存在,你不能告诉浏览器做它会做什么,但是你可以用你的方式告诉它显示元素。

如果您有多个文本输入字段,其中一个受某些CSS规则的影响,那么通常最好均匀地设置所有文本输入字段的样式(不一定相同,因为至少宽度可能会有所不同促进可用性)。但由于存在使用id选择器的CSS规则,它具有很高的特异性,因此您需要将其考虑在内,以便您的规则也将应用于该元素。例如:

input, input#Email {
  font: 100% Calibri, sans-serif;
  color: black;
  background: white;
}