Quitar atributo !important en css

El otro dia, y viendo que los atributos por defecto de cada navegador da problemas a la hora de posicionar una web, decidí hacer un css "0" o una inicialización de css, vamos con los valores por defecto que yo quiero (básicamente quitar los que hay o ponerlos a cero).

El tema es que tengo lo siguiente en el css:

* {font: 12px black verdana;border:0px transparent none;padding: 0px;border-spacing: 0px;
background: transparent;margin: 0px;height:auto !important;}

El problema, es que por defecto, al trabajar con div, la altura sea automática, se amplie en función del contenido ... Pero he aquí, que cuando hay un elemento que por lo que sea quiero que tenga un valor fijo, le ponga el valor que le ponga sigue mandando el definido como "height:auto !important;" . P.ej en la siguiente definición no hace caso de min-height y tampoco lo haría del height (ya lo he probado) así pues mi pregunta es ¿se puede quitar el ! Important? ¿Existe algo a ! Normal?:

div{min-height: 50px;
font:14px black Verdana;position:relative;display:table-cell;width:200px;left:100px;
background:whitesmoke;
}

1 Respuesta

Respuesta
4

La única manera de quitar el ! Important a una regla CSS es aplicarle otra regla con ! Important pero que tenga una mayor especifidad en los selectores CSS. La especifidad es un número que se calcula dependiendo de los selectores que tenga tu regla CSS. Por ejemplo, una regla que ataque directamente a un id, tiene mayor especifidad respecto a otra que ataque a una clase. Si quieres profundizar más sobre el tema, te dejo un enlace en el que está bastante bien explicado: http://css-tricks.com/specifics-on-css-specificity/

No obstante, para lo que quieres hacer de inicializar los valores CSS para que no te afecten los de los navegadores, esta solución no me parece la manera más correcta, ni mucho menos. Lo más adecuado en este caso, es utilizar una hoja de estilos que ya se encargue de realizar todo esto, ya que es algo muy habitual. Te recomiendo una que es de las más utilizadas, Normalize.css Te dejo un enlace desde donde puedes descargar la última versión: http://necolas.github.io/normalize.css/

Gracias por contestar.

O sea, que cambiar un !important es hacerlo por otro de mayor prioridad de mayor "rango" por así decirlo, pero seguirá siendo !important, anular un !important como se "anula" un borde, un tamaño de fuente, no es posible ...

De la existencia de hojas css, que "limpian" los valores de los navegadores, ya lo sabía, pero haciendolo de esta manera, aunque no te parezca lo mejor, se aprende ... sino ¿como hubiese sabido lo que planteo del "!important"? ... Las calculadoras están muy bien, pero primero aprende a sumar, aunque sea con los dedos. ;-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas