Necesitas configurar left: 0
y right: 0
.
Esto especifica qué tan lejos para compensar los bordes del margen desde los lados de la ventana.
Al igual que 'arriba', pero especifica hasta qué punto el borde del margen derecho de un cuadro está desplazado hacia el [izquierdo / derecho] del borde [derecho / izquierdo] del bloque que contiene el cuadro.
Fuente:
http://www.w3.org/TR/CSS2/visuren.html#position-props
Nota: el elemento debe tener un ancho menor que la ventana o, de lo contrario, ocupará todo el ancho de la ventana.
Si pudiera usar consultas de medios para especificar un margen mínimo , y luego hacer la transición a auto
tamaños de pantalla más grandes.
.container {
left:0;
right:0;
margin-left: auto;
margin-right: auto;
position: absolute;
width: 40%;
outline: 1px solid black;
background: white;
}
<div class="container">
Donec ullamcorper nulla non metus auctor fringilla.
Maecenas faucibus mollis interdum.
Sed posuere consectetur est at lobortis.
Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Sed posuere consectetur est at lobortis.
</div>