2012-06-07 93 views
0

我在我的视图中有一个ID =“电子邮件”的文本框,我需要ID保持原样。但是,在css文件中有一个#Email字段,我的文本框在该字段中获取样式。我怎样才能让它忽略这种风格?在CSS中使文本框忽略样式

+0

您可以对其进行分组,也可以通过重置属性来覆盖它。检查我的答案。 –

+0

Praveen Kumar有正确的答案,但另一个指针是,在单个文档上重新使用id不是最佳实践(即具有两个id为Email的元素)。 – JellicleCat

回答

0
在你的CSS文件

尝试#email这是不存在的<input id="email">

0

不能不改变ID或覆盖所施加的样式。这是什么CSS 确实。尽量避免样式表中这样的含糊之处。

0

如果你想覆盖你的财产。写这样你的文本框其他ID这个

input#Email{ 
color:red; 
} 
0

更好地改变了ID从Email

0

的选项有:

  1. 更改CSS,它指向一个ID明确的,所以你会期待它 做到这一点,ID绑定样式不是我最喜欢的,无论如何,考虑 使它成为一个常规样式,所以你可以在你的 标记中使用class =“email”,或者使它更具体,所以它不是一个全身ID绑定
  2. 在标记更改ID(您已经表明你不能 做到这一点)
  3. 删除使用jQuery,凌乱和类哈克
2

你能组#Email在CSS里面需要的地方?例如,可能是#Email应该是一些.article什么的。

而不必像CSS的:

#Email {background: #ccc;} 

你可以考虑写为:

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

,或者,你可以做到这一点的方式。既然你知道,你不会希望input#Email要的风格,你可以写一个CSS:

input#Email {background: none;} 

和RESET上述全局样式。

希望这会有所帮助! :)

0

情况下,你可以定义“的风格=‘’”属性(显式风格的文本框)之前写一些父元素的id和手动覆盖已发送的样式。但是你不能全盘否认所有的风格。

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

您无法使CSS设置被忽略。您需要以某种方式覆盖它。也就是说,如果样式设置不存在,则无法告诉浏览器执行该操作,但可以按照自己的方式来指定显示元素。

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

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