определение исключения CSS для типа ввода - PullRequest
5 голосов
/ 22 августа 2011

Я создал файл 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" />

Ответы [ 5 ]

18 голосов
/ 22 августа 2011

Следующий селектор поможет вам в CSS3 исключить тип image:

input:not([type="image"])

Если вы не хотите полагаться на CSS3 - вероятно, нет, из-за совместимости браузера -Вы должны изменить свои начальные селекторы, чтобы они были более конкретными:потому что он не будет специально исключать любые типы ввода, но вы будете включать только те типы, на которые do хотите настроить таргетинг.а, б и в и я хочу исключить б.Вы можете сказать, что я хочу нацелиться только на a и c.

0 голосов
/ 22 августа 2011

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

0 голосов
/ 22 августа 2011

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

В противном случае вы можете попытаться использовать более конкретный набор селекторов-потомков для нацеливания на этот конкретный элемент.

0 голосов
/ 22 августа 2011

Если вас не волнует IE 8 и ниже, вы можете использовать :not(). В противном случае вам нужно будет либо переопределить все стили, которые вы применяете для ввода изображения, либо найти какой-то другой способ сделать селектор более конкретным (например, добавить класс для каждого ввода).

0 голосов
/ 22 августа 2011

Вы могли бы дать ввод, который вы НЕ хотите, чтобы стилизовали class = "nostyle", а затем определить в CSS ...

.nostyle {
    margin: 0;
    border: 0;
    }

... или что бы вы хотели, чтобы нестандартные входные данные были.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...