De acuerdo con las especificaciones de CSS2 , el ancho renderizado de un elemento de tipo cuadro es igual a la suma de su ancho, borde izquierdo / derecho y relleno izquierdo / derecho (el margen izquierdo / derecho también entra en juego). Si su caja 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 necesita ser 100% de ancho, asigne valores a ancho, margen izquierdo / derecho, borde izquierdo / derecho y relleno izquierdo / derecho de tal manera que su suma sea igual al 100%.
En CSS3 tenemos tres modelos de tamaño de caja . Puedes usar el border-box
modelo:
El ancho y alto especificados (y las propiedades mínimas / máximas respectivas) en este elemento determinan el cuadro de borde del elemento. Es decir, cualquier relleno o borde especificado en el elemento se coloca y dibuja dentro de este ancho y alto especificado. El ancho y la altura del contenido se calculan restando el borde y los anchos de relleno de los lados respectivos de las propiedades especificadas de 'ancho' y 'alto'.