0

我有一个 id="Email" 在我看来的文本框,我需要 id 保持原样。但是,css 文件中有一个#Email 字段,我的文本框获取该字段中的样式。我怎样才能忽略这种风格?

4

8 回答 8

2

你可以#Email在你的 CSS 中将它们分组到所需的位置吗?例如,可能是#Email应该进来的一些.article东西。

而不是像这样的CSS:

#Email {background: #ccc;}

你可以考虑写成:

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

或者,您也可以这样做。既然你知道你不希望inputwith#Email被设置样式,你可以写一个 CSS:

input#Email {background: none;}

并重置上述全局样式。

希望这可以帮助!:)

于 2012-06-07T08:07:52.437 回答
0

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

于 2012-06-07T08:06:11.807 回答
0

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

input#Email{
 color:red;
}
于 2012-06-07T08:06:54.603 回答
0

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

于 2012-06-07T08:07:13.337 回答
0

您的选择是:

  1. 更改 CSS,它明确指向一个 ID,因此您希望它这样做,ID 绑定样式不是我最喜欢的,考虑使其成为常规样式,以便您可以在标记中使用 class="email" 或制作它更具体,因此它不是一揽子 ID 绑定
  2. 更改标记中的 ID(您已表明不能这样做)
  3. 使用jQuery删除类,乱七八糟
于 2012-06-07T08:07:13.337 回答
0

在你的 css 文件中尝试写一些父元素 id 之前#email不存在的情况下<input id="email">

于 2012-06-07T08:08:41.527 回答
0

您可以定义 'style=""' 属性(文本框的显式样式)并手动覆盖交付的样式。但你不能只是全局“否认”所有风格。

<textbox id="email" style="...">
...
</textbox>
于 2012-06-07T08:09:11.463 回答
0

您不能忽略 CSS 设置。您需要以一种或另一种方式覆盖它。也就是说,如果样式设置不存在,您无法告诉浏览器执行它会执行的操作,但您可以告诉它以您的方式显示元素。

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

input, input#Email {
  font: 100% Calibri, sans-serif;
  color: black;
  background: white;
}
于 2012-06-07T08:11:05.770 回答