2009-03-17 12 views
7

Tuve una conversación con alguien sobre el posicionamiento absoluto. Afirma que la mejor práctica es asegurar que todo se vea igual en la mayoría de los navegadores y que sea la forma más fácil de mantener el aspecto y la sensación que tenía para un sitio web.¿Posiciona absolutamente todo en un sitio web?

No estaba de acuerdo con su opinión de que el posicionamiento absoluto sería el remedio y el mejor enfoque general para diseñar una página web.

En mi caso, he estado más interesado en utilizar el enfoque de margen/ancho/cuidadosos ajustes flotantes, y en ocasiones la tabla ocasional. Lo cual es una ligera generalización, como por supuesto, no dejaría de usar el posicionamiento absoluto solo porque estaría ideológicamente en contra de eso, es solo que encuentro el enfoque de posición absoluta una regla que se ajusta a todo, como defiende mi compañero ser bastante dudoso

¿Cuál es el consenso general sobre esto?

Respuesta

14

Mi visión general es que los extremos justifican los medios.

El pragmatismo reina aquí. El objetivo final es hacer que funcione lo más rápido posible en la mayor cantidad de navegadores posible. Si se usa o no el posicionamiento absoluto, si se usan tablas o no, si se usa o no CSS puro ... todas estas preguntas son, en el mejor de los casos, secundarias.

De hecho, me parece extraño la cantidad de "odio a la mesa" que existe, pero, como se ha documentado innumerables veces, si quieres hacer algunas cosas (como centrado vertical) y tener compatibilidad con IE6 no hay más rápido , una solución más fácil y más compatible.

No estoy a favor o en contra de las tablas, posicionamiento absoluto ni nada. Lo único para lo que estoy "de acuerdo" es que funciona.

En ese sentido, encuentro que el argumento sobre el posicionamiento absoluto "radical" es, a falta de una mejor descripción, distracciones irrelevantes.

Con todas estas cosas (tablas, posicionamiento absoluto, CSS puro, etc.) en la mayoría de los casos no está resolviendo todos sus problemas, simplemente está cambiando un conjunto de problemas por otro. Eso podría estar bien porque en el contexto de lo que estás haciendo, un conjunto de problemas podría ser preferible, pero no hay una solución mágica (ya sea un posicionamiento absoluto o cualquier otra cosa).

Por experiencia he tenido tantos problemas para obtener un posicionamiento absoluto como para hacer lo que quiero (cross-browser) como cualquier otro enfoque.

+0

Depende un poco de quién es el sitio web. Si está bien perder el 5% de su audiencia, puede permitirse hacer este tipo de cosas. Si eres una organización gubernamental, o Google o alguien, no puedes. –

2

Utilice el posicionamiento absoluto solo cuando esté 100% seguro de que los elementos involucrados nunca tendrán que escalar su tamaño y no se moverán. Si ha colocado absolutamente algún elemento y luego otro crece, pueden superponerse y su diseño se rompe. Usaría el posicionamiento absoluto con mucho cuidado y, en general, un consejo en contra. El mismo diseño casi siempre se puede lograr mediante el uso de elementos flotantes y/o posicionamiento relativo.

6

Garantizar que todo se ve igual en todos los navegadores es un objetivo difícil, principalmente porque siempre está apuntando a un objetivo en movimiento.

Los sitios web son un mecanismo de entrega de contenido que es principalmente de texto. Si su contenido se basa en el posicionamiento perfecto de píxeles, como gráficos animados y similares, HTML y Javascript pueden no ser la mejor solución para usted. ¿Realmente debería importar si tus párrafos tienen un píxel más abajo en la página en Firefox que en IE?

4

Si bien puede ser bastante subjetivo, no soy fanático del posicionamiento absoluto, ya que debería verificar con CSS deshabilitado para ver cómo se degrada el contenido para navegadores no compatibles con CSS (como los motores de búsqueda, consola navegadores de texto basados ​​en HTML y navegadores de voz para ciegos).

La otra ventaja principal al no posicionarse del todo, es que puede tener CSS más generalizado, compartido en todo un sitio, sin tener que ensuciar los enunciados de posicionamiento en todo el código. Sería horrible si el cliente de repente hace su logo tiene una relación de aspecto diferente y necesita mover todo alrededor ...

18

Internet no está impreso, no creo que sea ideal para posicionar absolutamente todo. Argumentaría que puede asegurarse de que las cosas se vean mejor utilizando su método, tal vez aumentadas mediante el uso de EM para algunos anchos que permitan que la página sea un poco más fluida en diferentes tamaños de pantalla (y DPI). Esto le permite a su contenido escalar mejor, y con la navegación móvil cada vez más popular, eso es importante.

En mi experiencia, las páginas tienden a verse mejor en general cuando planificas que tu página tenga que adaptarse un poco a diferentes dispositivos, en lugar de forzar diseños perfectos al 100% de píxeles como los que verías en la impresión. Esa no es la naturaleza de internet.

Editar: Si lo piensa más, utilizar todos los absolutos podría realmente volver a morder con los navegadores móviles si no tiene cuidado. ¿Qué sucede cuando su sitio usa posicionamiento absoluto en algo como el iPhone (suponiendo que alinee algunos elementos con las esquinas)? El posicionamiento se alinearía con las esquinas del iPhone, que son una razón extraña (en comparación con las computadoras) y una resolución mucho más pequeña; tirando todo fuera de Wack. Si utilizó una combinación de flotadores/anchos/etc, se aseguraría de que el sitio mantuviera su tamaño original y simplemente tendría que desplazarse.

+0

Buen punto acerca del uso de unidades relativas, también –

+1

"Internet no es imprimir" encuadre y cuelgue de cada monitor de desarrollador web – Javier

+0

¡Ja! Solo iba a comentar sobre lo que sucederá con el sitio web si tengo acceso a él en mi teléfono Android ... –

8

El posicionamiento absoluto es generalmente bastante malo. En raras ocasiones desea que su sitio web se vea del mismo modo en una ventana en la computadora portátil de 1024x768 y pantalla completa de alguien en su computadora de escritorio de 1920x1200. Además, buena suerte reconciliando su posicionamiento absoluto con diferentes tamaños de fuente de usuario.

Recuerde a su pares que los usuarios preferirían ver la apariencia que tienen la intención de un sitio web, no la apariencia que se propone (dentro de lo razonable.)

+0

¿por qué alguien maximizaría una página web? eso es absurdo y contraproducente. por lo tanto, debe adaptarse a tamaños de ventana arbitrarios (dentro de lo razonable) – Javier

+2

Sí. :) A veces tendrá DIV con barras de desplazamiento horizontales que desaparecen cuando maximiza la ventana del navegador. A veces hago esto para tener más espacio para un video incrustado. Normalmente ejecuto el navegador en modo ventana por encima de 1024x768, pero tengo un monitor de pantalla ancha, así que lo aprovecho. –

+0

si tiene un monitor grande con una sola ventana, está desperdiciando la mayor parte – Javier

2

Cletus tiene un punto. Como desarrolladores, la pregunta es en última instancia: ¿Cuán exhaustivos queremos ser? Si lo más importante es sacar su sitio rápidamente, entonces se pueden sacrificar las precauciones adicionales. Si hacer que un sitio sea "a prueba de balas" es una prioridad, hacerlo requerirá mucho tiempo y esfuerzo. Personalmente, nunca sacrificaría la extensibilidad ni la usabilidad en nombre de la conveniencia. Escalar entre otras cosas descalifica el posicionamiento absoluto para el diseño cada vez en mi libro.

0

No soy un fanático del posicionamiento absoluto pero he visto a los desarrolladores web usarlo para obtener mejores resultados de búsqueda, porque pueden poner fácilmente la parte de texto más importante al comienzo del HTML, y usar el posicionamiento absoluto para colocarlo donde realmente pertenece.

No lo usaría incluso para ese argumento, porque hay formas de hacer que el HTML sea amigable para los motores de búsqueda pero aún así use un diseño fluido como el The Perfect 3 Column Liquid Layout u otras variantes.

3

Afirma que la mejor práctica para asegurar que todo se ve lo mismo en la mayoría de los navegadores

Usted no puede asegurar que todo se ve lo mismo en la mayoría de los navegadores. Las fuentes siempre se procesan de forma diferente según la plataforma, la configuración y la disponibilidad. Si utiliza el posicionamiento absoluto completo, como en, cada elemento tiene su posición vertical y establecida en píxeles, cualquier desviación en el tamaño de letra puede hacer que las líneas de texto se escriban una encima de la otra, haciendo que el página ilegible

Hay herramientas de diseño WYSIWYG que hacen esto (y algunas personas abusan de Dreamweaver de esa manera), pero generalmente se considera un enfoque divertidamente pobre. Más comúnmente, el posicionamiento absoluto se usa solo en el eje horizontal, para hacer encabezados y pies de ancho fijo, mientras que permite que el texto en la página ocupe tanto espacio vertical como sea necesario. (Esto es lo que hace SO, por ejemplo, entre muchos otros.)

El argumento de diseño fijo-contra-líquido en el ancho del navegador es una guerra religiosa que durará para siempre, pero el resumen obviamente correcto es que el líquido es el mejor. ;-)

(... si es más difícil de lograr, natch.)

que es la forma más fácil de mantener la apariencia y la sensación que la intención de un sitio web.

Sí! Una mala forma de resolver un problema suele ser la más fácil. ¿Pero la "mejor práctica"? Apenas. Sólo

2

Uso posicionamiento absoluto cuando está 100% seguro de que los involucrados elementos nunca tendrán que escalar su tamaño y no se mueve alrededor. Si ha posicionado absolutamente algún elemento y luego otro crece pueden superponerse y su diseño es roto.

Esto es correcto. Acabo de ganar 500 dólares arreglando un sitio para un tipo, y enseñándole que su sitio web de posición absoluta se rompió en el momento en que agregó una coma, porque el texto volvería a fluir y todo se derrumbó.

3

El uso del posicionamiento absoluto siempre lo morderá más adelante. Un sitio debe estar en flujo normal tanto como sea posible, de modo que los elementos se puedan sentar en relación el uno con el otro (crecer/encogerse, colapsar cuando están escondidos, etc.).

Con un diseño absolutamente posicionado, siempre será necesario modificar el diseño cada vez que cambie el contenido.

yo sólo utilizo realmente posicionamiento absoluto por tres razones:

1) Estoy colocando un elemento en la parte superior de otro elemento, como una caja emergente.

2) Realmente no hay buena manera de colocar un elemento en el que tiene que estar en flujo normal

4) El elemento se puede manipular dinámicamente (Javascript) y que tiene que ocurrir fuera del flujo normal.

La otra regla que observo cuando uso el posicionamiento absoluto es usar otro elemento como un elemento primario relativamente posicionado. De esta forma, el elemento absolutamente posicionado se ubicará en relación con ese elemento primario, en lugar de la ventana gráfica (que a menudo cambiará sus dimensiones según cómo se visualice la página).

Cuestiones relacionadas