2011-09-02 21 views
18

He usado CSS durante muchos años, y siempre he sido un tipo de "porcentaje", ya que siempre defino alturas y anchuras usando porcentajes en oposición a los píxeles (excepto, por ejemplo, al configurar cosas como márgenes, relleno, etc., en cuyo caso uso píxeles).CSS - ¿Porcentajes o píxeles?

me gustaría hacer algo como esto:

body{ 
    height: 99%; 
    width: 99%; 
    margin-top: 10px; 
} 

pero a menudo ver ejemplos como este:

body{ 
    height: 300px; 
    width: 250px; 
    margin-top: 10px; 
} 

Mi pregunta es la siguiente: ¿hay algún beneficio de usar una sobre la otra en general, y si es así, ¿qué son?

Gracias.

Mick

+1

No hay beneficios para ninguno de los dos, es como decir que me da el 50% de 1 kg o 500 gramos, depende de su aplicación – Jakub

Respuesta

14

Páginas web móviles. % de rock para eso. Como se ajustará (obviamente) a su gusto.

Sin embargo, cuando desea un ancho fijo para, por ejemplo, un artículo de texto que desea mostrar de cierta manera, px es el ganador.

Ambos tienen muchos más de y menos del uno sobre el otro :)

+1

Tengo un netbook. Los anchos fijos son repugnantes. La mayoría de los sitios web los tienen en alguna parte. Hacer un diseño móvil es bueno, y uno grande, pero hay un espacio intermedio. –

+2

Definitivamente @Nicholas Wilson, sin embargo, todo se reduce a una cosa: cuál es el propósito del sitio. ¿Cómo debería ser su diseño? ¿Cómo debería navegarse? Las cosas que son los primeros elementos que se discutirán al hacer cualquier sitio web. –

2

Si desea que los objetos sean del mismo tamaño no importa qué, entonces píxeles (no se ve afectado por el zoom o el tamaño de la pantalla). También se puede considerar el uso de EM's también. Creo que los EM se encuentran en el medio, donde se ven afectados por el zoom, pero no por el tamaño de la pantalla.

1

¡Razones en abundancia! Los anchos de porcentaje son muy útiles cuando se trata de dimensionar elementos relativos a otra cosa (tamaño del navegador, por ejemplo). Puede hacer que su página cambie dinámicamente para adaptarse a diferentes circunstancias. Los píxeles, por otro lado, son útiles cuando necesita tamaños de precisión que no le cambiarán. Algunas personas (por ejemplo, yo) usan píxeles y porcentajes para colocar los elementos como los desee. Otros (por ejemplo, personas que no sean yo: P) te dirán que esto es estúpido.

8

Uso píxeles en mi sitio web y mantengo un ancho máximo de 1000 px. Mi sitio web muestra correctamente en mi netbook 11" , sin embargo, no les va muy bien con los dispositivos móviles, pero eso es lo que este es para:

<link rel="stylesheet" href="/styles/mobile.css" media="handheld" /> 

Encuentro desarrollo de sitios web en porcentajes muy consumen mucho tiempo, teniendo en cuenta todos los re -sizing eventos, tales como:

overflow:scroll; 

píxeles y porcentajes ambos tienen sus ventajas, pero podría decir que los píxeles sería una mejor opción debido a la precisión, fiabilidad, y es más fácil de desarrollar también otra cosa a tener en cuenta. son los píxeles y porcentajes de las fuentes. Aquí está mi regla de oro:

  • Si está desarrollando un sitio web con porcentajes, use porcentajes para la fuente, por las razones de mantener proporciones correctas.
  • Si está desarrollando un sitio web con píxeles, use píxeles para la fuente.

Si tiene personas que pueden necesitar ampliar la fuente, siempre es mejor usar porcentajes para la fuente.

+1

Creo que% para DIV es adecuado y Px para fuentes, más control. :) –

1

% son el camino a seguir en un mundo moderno al igual que los gráficos vectoriales. A medida que las pantallas se vuelven más grandes o más pequeñas, puede escalar correctamente independientemente de la resolución.

-1

Obviamente no es correcto o incorrecto. Es más bien una cuestión de fluidez.

Es más fácil posicionar los objetos entre sí con píxeles y controlar la altura y el ancho exactos.

Escalar objetos es, por otro lado, más fácil con porcentajes. El 50% del ancho de la ventana siempre será la mitad de la ventana sin importar el tamaño de la pantalla.

+0

He marcado esta pregunta como fuera de tema porque creo que se basa principalmente en la opinión, por lo que las respuestas tenderán a basarse en la opinión en lugar de en hechos reales. Su respuesta es básicamente "alguien más lo hace como X, entonces X debe ser mejor", y esa no es realmente una gran respuesta; es más un comentario. – Mike

1

en propiedad top estilo interior está en % por lo que se cuenta como 200px*0.3=60px

#outer{ 
 
    border-style: dotted; 
 
    position: relative; 
 
    height: 200px; 
 
} 
 
#inner{ 
 
border-style: double; 
 
    position: absolute; 
 
    top: 30%; <<<<<<<<<<<<<< 
 
}
<div id="outer"> 
 
outer 
 
<div id="inner"> 
 
inner 
 
</div> 
 
</div>

Aquí superior es de 30px. entonces será como es.

#outer{ 
 
    border-style: dotted; 
 
    position: relative; 
 
    height: 200px; 
 
} 
 
#inner{ 
 
border-style: double; 
 
    position: absolute; 
 
    top: 30px; <<<<<<<<<<<< 
 
}
<div id="outer"> 
 
outer 
 
<div id="inner"> 
 
inner 
 
</div> 
 
</div>

3

Uso Tanto = D

Con Siempre se puede combinar utilizando tanto si está confundido sobre él)

calc() es una manera CSS nativa de hacer simples matemática correcta en CSS como reemplazo para cualquier valor de longitud (o casi cualquier valor numérico).

Tiene cuatro operadores matemáticos simples: add (+), subtract (-), multiply (*) y divide (/).

.my-class { 
    widht: calc(100% - 20px); 
    height: calc(50% + 10px); 
} 

Compatibilidad con el navegador es sorprendentemente buena. Can I use...

Lectura recomendada: CSS-Tricks

0

me gusta porcentajes también, pero en algunos casos no hace lo que espero. Si, por ejemplo, tengo dos botones que comparten la misma fila con ancho máximo: 50%, y la ventana gráfica actual no es un número par, uno de ellos siempre será notablemente más grande.

Cuestiones relacionadas