Tengo un Html que contiene algo como:
(Varios divs dentro de Un div).

<div class="a">
    <div class="b"></div>
</div>

Mi css se parece a:

.a div {
    border: solid;
    border-width: thin;
}

.b {
    border: none;
    border-width: 0px;
    border-collapse: collapse;
}

Por alguna razón b los valores de no anular una.
sin embargo, si acabo de escribir una, en lugar de».div» no voy a obtener el comportamiento esperado para los otros divs dentro de un.

La única manera que tengo de este trabajo es el uso de «¡importante!» (es decir, «border: none!importante»;), pero que parece menos que elegante.

encantaría alguna idea de lo que está pasando allí..

Ehud.

InformationsquelleAutor EhudFisher | 2012-01-12

3 Comentarios

  1. 1

    .a div tiene una mayor especificidad que .b.

    Si desea que el css para .b para reemplazar el .a uno, le dan una especificidad mayor aún, por ejemplo .a div.b.

    (O puede utilizar !important, sí, pero que no es recomendado aquí.)

    • Que es algo intuitivo, al menos para mí, pero funciona como un encanto (por CIERTO acabo de utilizar «.b div» y que trabajaba demasiado).
    • Que raro, .b div no se supone que el trabajo, ya que ustedes no tienen divs dentro de su .b, al menos no en su ejemplo. De todos modos, la especificidad es un concepto muy importante dentro de CSS, te sugiero leer sobre ella.
  2. 3

    Su selectores están equivocados.

    Lugar de

    a. div {

    Escribir

    div.a {

    (seleccione cualquier div con una clase de «a»)

    Lugar de

    b {

    (que en realidad se trata de estilo de todos los b elementos)

    Uso

    .b {

    (que dice que seleccione algo que se define por la clase «b» )

    EDITAR (en respuesta a la respuesta)

    Para seleccionar todos los divs que están dentro de un div con la clase «a», utilice el siguiente: selector-

    div.a div 
    • Mi selectores (en el código) estaban bien, pero lo que puse en la pregunta, obviamente, estaba equivocado. Mi selectores son «.b» y «.un div». Lo siento, voy a editar el post original. La solución, sin embargo, no funciona para mí. Lo que estoy tratando de seleccionar no son todos los div con una clase, pero todos los divs en virtud de un elemento cuya clase es una.
    • Editado con un nuevo selector para usted, señor.
  3. 0

    Especificidad puntuación es calculado por el CSS de los compiladores, la puntuación más alta de entre declaración llega a modificar el contenido.

    Puntuación se calcula generalmente, por este orden:

    inline   id-element   class-element   no.-of-elements
      $          $             $                $

    ($) -> 1 si el tipo de especificidad existe en el código

    ($) -> 0 si el tipo de especificidad no existe en el código

    Así que aquí
    para .a div puntuación será 0012
    para .b puntuación será 0011

    Claramente la primera gana por lo que se hace para modificar el contenido aunque .b intenta reemplazar .a div

    (O)

    usted puede utilizar !important en la declaración para finalizar la declaración,

Dejar respuesta

Please enter your comment!
Please enter your name here