CSS и не () с использованием детей - PullRequest
0 голосов
/ 09 августа 2011

Я хочу применить атрибут ко всем input [type = text] элементам, но исключаю определенные элементы.Элементы для исключения не имеют никакого класса, но их родительский родитель имеет.

HTML выглядит как

<tr class="filters">
    <td>
        <input type="text" name="aName">
    </td>
    <td>
        <input type="text" name="anotherName">
    </td>
        ...
</tr>

Я пробовал этот CSS:

input[type=text]:not(tr.filters > td > input[type=text])
{
    min-width:400px;
}

, но этоне работает.Разве нельзя использовать not () таким образом?

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Это невозможно с :not() в качестве селектора CSS. :not() псевдокласс принимает только простой селектор (что означает ровно один селектор type, .class, #id, [attribute] или :pseudo-class) , Комбинаторы, такие как , > и +, не допускаются.

Значение по умолчанию min-width равно нулю, поэтому вы можете просто использовать вместо него правило переопределения и установить его так:

input[type="text"] {
    min-width: 400px;
}

tr.filters > td > input[type="text"] {
    min-width: 0;
}
0 голосов
/ 09 августа 2011

Почему бы тебе не использовать что-то подобное?

tr:not(.filters) td input[type=text]
{
    min-width:400px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...