2012-06-07 3 views
0

У меня есть текстовое поле с id = «Электронная почта» на мой взгляд, и мне нужен идентификатор, чтобы он остался как есть. Тем не менее, есть поля #Email в файле css, и мое текстовое поле получает стиль в этих полях. Как я могу заставить его игнорировать этот стиль?Сделать текстовое поле игнорировать стиль в css

+0

Вы можете сгруппировать его или переопределить, сбросив атрибуты. Проверьте мой ответ. –

+0

Правильный ответ Правэна Кумара, но другой указатель заключается в том, что переиздание идентификаторов одного документа (например, наличие двух элементов с идентификатором электронной почты) не является лучшей практикой. – JellicleCat

ответ

0

в файле CSS попробовать написать некоторый родительский элемент идентификатор перед тем #email, который не присутствует в случае <input id="email">

0

Вы не можете, не меняя идентификатор или перезаписывая стили. Это то, что CSS делает. Старайтесь избегать двусмысленностей, подобных этому в ваших таблицах стилей.

0

Если вы хотите переписать свое имущество. Написать как этот

input#Email{ 
color:red; 
} 
0

Better изменения ID для вашего текстового поля от Email к другим ID

0

варианты:

  1. Изменение CSS, это указывает на ID явно, так что вы хотите ожидайте этого , чтобы сделать это, стили, связанные с идентификаторами, в любом случае не являются моими любимыми, рассмотрите , сделав его обычным стилем, чтобы вы могли использовать class = "email" в своей разметке или сделать ее более конкретным, так что это не идентификатор одеяла привязка
  2. Изменение идентификатора в разметке (вы указали, вы не можете сделать это )
  3. Удалить класс, используя JQuery, грязный и Hacky
2

Можете ли вы сгруппировать #Email в вашем CSS внутри требуемое место? Например, может быть #Email должен находиться внутри некоторого .article или что-то в этом роде.

Вместо CSS, как:

#Email {background: #ccc;} 

Вы можете рассмотреть письменном виде:

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

Или, в качестве альтернативы, вы можете сделать этот путь. Поскольку вы знаете, что вы не хотите, чтобы input с #Email, чтобы быть в стиле, вы можете написать CSS:

input#Email {background: none;} 

И сбросить выше глобальные стили.

Надеюсь, это поможет! :)

0

Вы могли бы определить «стиль =„“» атрибут (явный стиль для текстового поля) и перезапишите созданные стили вручную. Но вы не можете просто глобально «отрицать» все стили.

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

Вы не можете сделать настройку CSS просто проигнорированной. Вы должны переопределить его, так или иначе. То есть вы не можете сказать браузеру делать то, что он сделал бы, если бы настройки стиля не присутствовали, но вы можете сказать, что они отображают элементы по-вашему.

Если у вас есть несколько полей ввода текста, и на одно из них влияет какое-либо правило CSS, то обычно лучше всего устанавливать стиль всех текстовых полей ввода равномерно (не обязательно одинаково, поскольку, по меньшей мере, ширина может быть разнообразны для содействия удобству использования). Но поскольку существует правило CSS с использованием селектора идентификаторов, который имеет высокую специфичность, вам нужно учитывать это, чтобы ваше правило также применялось к этому элементу. Например:

input, input#Email { 
    font: 100% Calibri, sans-serif; 
    color: black; 
    background: white; 
} 
Смежные вопросы