Según CSS2 specs, el ancho representado de un elemento de tipo caja es igual a la suma de su anchura, a la izquierda/borde derecho y el relleno a la izquierda/derecha (izquierda/margen derecho entra en juego también). Si su cuadro tiene un ancho de '100%' y también tiene margen, borde y relleno, afectarán (aumentarán) el ancho ocupado por el objeto.
Por lo tanto, si su área de texto debe tener un ancho del 100%, asigne valores al ancho, margen-izquierda/derecha, borde-izquierda/derecha y relleno-izquierda/derecha de tal manera que su suma sea igual al 100%.
En CSS3 tenemos three box-sizing models. Puede utilizar border-box
modelo:
La anchura y altura especificadas (y respectivas propiedades mín/máx) en este elemento a determinar el cuadro de borde del elemento. Es decir, cualquier relleno o borde especificado en el elemento se presenta y dibuja dentro de este ancho y alto especificados. El ancho y alto del contenido se calcula restando el ancho del borde y el relleno de los lados respectivos de las propiedades 'ancho' y 'alto' especificadas.
¿Qué navegador (s) se está utilizando para probar? –
Agregue '* {box-sizing: border-box;}' a su hoja de estilo, y el tamaño actuará como espera. Paul Irish confirmó que es seguro para todos los navegadores modernos: http://www.paulirish.com/2012/box-sizing-border-box-ftw/ –