Tengo un div para el que quiero especificar un ancho y alto FIJOS, y también un relleno que se puede cambiar sin disminuir el ancho / alto DIV original o aumentarlo, ¿hay algún truco CSS para eso, o una alternativa usando el relleno?
93
Declare esto en su CSS y debería ser bueno:
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
Esta solución se puede implementar sin utilizar envoltorios adicionales.
Esto obligará al navegador a calcular el ancho de acuerdo con el ancho "externo" del div, lo que significa que el relleno se restará del ancho.
fuente
Parece que estás buscando simular el modelo de caja IE6. Puede usar la propiedad de CSS 3 box-sizing: border-box para lograr esto. Esto es compatible con IE8, pero para Firefox necesitaría usar
-moz-box-sizing
y para Safari / Chrome, use-webkit-box-sizing
.IE6 ya calcula la altura de forma incorrecta, por lo que eres bueno en ese navegador, pero no estoy seguro de IE7, creo que calculará la altura de la misma manera en el modo peculiar.
fuente
prueba este truco
div{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
esto obligará al navegador a calcular el ancho de acuerdo con el ancho "externo" del div, lo que significa que el relleno se restará del ancho.
fuente
Para lograr un resultado coherente en varios navegadores, normalmente agregaría otro
div
dentro dediv
y no le daría un ancho explícito, y unmargin
. Elmargin
simularápadding
para el div externo.fuente