/ / Não é possível substituir o preenchimento de CSS - css, google-chrome

Não é possível substituir o preenchimento de CSS - css, google-chrome

Eu tenho o seguinte CSS que está sendo aplicado a tabelas:

.myTable
{
width: 99%;
border-collapse:collapse;
word-wrap:break-word;
border:1px solid #28282C;
background-color: #F7F6F3;
}

.myTable td
{
padding: 16px 4px 0px 4px;
text-align:left;
vertical-align:top;
}

Porque eu não quero que o padding seja aplicado para formar elementos em minhas tabelas, eu também tenho esse CSS:

.myTable td input
{
padding:0px 0px 0px 0px !important;
}

No entanto, isso não funciona. O preenchimento teimosamente permanece, a menos que eu coloque um preenchimento maior. Por exemplo, se eu fizer isso:

.myTable td input
{
padding:50px 50px 50px 50px !important;
}

Em seguida, os elementos do formulário são substituídos corretamente pelo preenchimento mais recente e gigantesco. O que estou perdendo aqui? Como faço para substituir / cancelar o preenchimento em elementos filho usando CSS?

Editar: Eu descobri depois de cavar através doHTML renderizado. Os elementos de entrada estavam bem, a causa era que o ASP.NET renderiza cada caixa de seleção em uma caixa de seleção em seu próprio TD, que estava recebendo o preenchimento da folha de estilo e fazendo parecer que as entradas estavam sendo preenchidas. Obrigado a todos

Respostas:

2 para resposta № 1

Isso está funcionando exatamente como você digitou. Você aplicou padding ao TD. Isso aplica padding a cada TD, independentemente do que está nele.

Seu segundo estilo para a entrada seria além de o preenchimento definido no TD. Portanto, não está escrevendo nada.

Você poderia tentar aplicar margem negativa ao INPUT para contrabalançar o preenchimento no TD pai. Não tenho certeza se todos os navegadores vão gostar disso ou não.

Como alternativa, forneça os TDs que possuem a entrada de sua própria classe:

<td class="withInput">

Então você pode usar este seletor no seu css:

td.withInput {padding: 0px;}

0 para resposta № 2

Nada está errado com o seu código. Você pode até mesmo remover o CSS para o INPUT. INPUT não herdará valores de preenchimento do TD pai. Mostre-nos a página para que possamos ajudá-lo.

O único problema que você terá é com o IE7 e mais antigos. Nesse caso, use MARGEM NEGATIVA para seus elementos INPUT.

Hacks para IE7 e IE6

input{
*margin: -2px;
_margin: -2px;
}