2011-03-10 13 views
16

He encontrado muchas técnicas de diseño que implican márgenes negativos, como este classic para el posicionamiento de la barra lateral. Parece que estas técnicas podrían aplicarse con la misma facilidad con un posicionamiento relativo.Márgenes negativos frente al posicionamiento relativo

Así que en lugar de esto:

.sidebar { 
    margin-left:-600px; 
} 

Se podría hacer esto:

.sidebar { 
    position:relative; 
    left:-600px; 
} 

Parece que el posicionamiento relativo incluso podría ser más limpio en la dirección vertical, como la manipulación margen superior puede haber afectado por problemas de colapso de margen, etc.

¿Hay alguna ventaja para uno sobre el otro, o son prácticamente equivalentes?

de Acción de Gracias

+0

Es difícil explicar este sin gráficos, que soy demasiado perezoso para hacer en este momento. – animuson

+0

No creo que el valor negativo a la izquierda funcione en safari, con 'position relative'. – Ani

Respuesta

22

supongo posicionamiento relativo se desplazará el contenido a la izquierda, pero el espacio original será ocupado por lo menos que haga el siguiente elemento en relación también. Sin embargo, con un margen negativo, el contenido y su espacio original se cambian ambos.

2

Tanto la propiedad de posición como el margen negativo tienen allí usos y nadie es mejor que el otro. Depende de lo que estés tratando de hacer. No coloque todos los elementos de forma relativa o absoluta cuando desee desplazarlo hacia la derecha, arriba, hacia la parte inferior. Supongamos que tiene una etiqueta simple <p> que desea mover hacia la izquierda, no le da una propiedad de posición solo para moverla. El margen es el método adecuado para usar. El margen afectará la posición de otros elementos en su sitio donde la posición flotará sin afectar el posicionamiento de otros elementos. La propiedad de posición aunque se puede usar de muchas maneras, se usa principalmente para los elementos principales que hacen que su sitio ex: ejemplo, encabezado, pie de página, contenedor, menú, contenido restante, contenido correcto.

+2

@ Hussein- ¿Puedes reducir tu respuesta? "El margen afectará la posición de otros elementos en su sitio donde la posición no lo hará". debería ser tu respuesta, todas tus otras declaraciones son subjetivas. – Yarin

7

Ponga (más) simplemente, el posicionamiento relativo cambiará visualmente el contenido del elemento relativo, sin afectar su lugar en el flujo de la página. Los márgenes, por otro lado, empujan o tiran de los elementos en relación con su posición natural, y así afectan el diseño.

Cuestiones relacionadas