2009-05-11 16 views
6

Bueno tengo 2 CSS incluye¿estilo de sobrescribir orden?

<link href="Styles/layout.css" rel="stylesheet" type="text/css" /> 
<link href="Styles/ATJournal.css" rel="stylesheet" type="text/css" /> 

layout.css

Table.infoBox tr td table tr td 
{ 
    padding: 0px; 
    border: 0px; 
} 

ATJournal.css

table.ATJMainTable tr td 
{ 
    border: 1px solid black; 
    padding: 3px; 
} 

y entonces tenemos esta tabla

<Table class="infoBox"> 
    <tr> 
     <td> 
     <table class="ATJMainTable"> 
      <tr> 
       <td> 
        some text! 
       </td> 
      </tr> 
     </table> 
    </tr> 
</table> 

¿Por qué layout.css sobrescribe ATJournal.css en este caso?

Incluso si cambio el orden de la CSS incluye "layout.css" todavía sobrescribe ATJournal.css ....

Respuesta

11

El selector es más específico.

Table.infoBox tr td table tr td 

es de un estilo células td dentro de una tabla que está dentro de una tabla clasificada con infobox.

table.ATJMainTable tr td 

es de un estilo células td dentro de una tabla clasificada con ATJMainTable

Usted podría utilizar importante para anular la especificidad, o usted podría hacer algo como:

table.infoBox tr td table.ATJMainTable tr td 

para anular específicamente esa pieza .

Como alternativa, ¿puede reducir el selector de la caja de información para que sea menos específico?

3

Es un selector más específico.

Ver here.

10

Puede especificar qué regla gana usando !important.

table.ATJMainTable tr td 
{ 
    border: 1px solid black !important; 
    padding: 3px !important; 
} 

Esto básicamente le dice al navegador, que debe asegurarse de que esta regla es la regla más importante y todos los demás debe ser en cascada a favor de esta regla.

advertencia: querrá usar esto con moderación porque puede causar problemas si es difícil rastrearlo si lo usa demasiado.

+3

Son mejor si tratamos de evitar el uso de esta sintaxis. no está mal usarlo pero si puedes evitarlo deberías. –

+4

Esta no es una respuesta a la pregunta. Puede ser una solución al problema que inspiró la pregunta, pero es una pobre en eso. – Jasper

+0

@Jasper ahora unos años más tarde cuando tengo una mayor comprensión de css cambié la respuesta aceptada ya que esta respuesta no es la correcta para resolver el problema. – Peter

Cuestiones relacionadas