Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Posición y dimensiones

Estas en el tema de Posición y dimensiones en el foro de CSS en Foros del Web. Buenas tardes: Estos son los dos puntos que más me tocan las narices, sin duda alguna. Necesito saber qué directrices (height, width, margin, etc.) y ...
  #1 (permalink)  
Antiguo 22/03/2014, 10:25
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Posición y dimensiones

Buenas tardes:

Estos son los dos puntos que más me tocan las narices, sin duda alguna. Necesito saber qué directrices (height, width, margin, etc.) y qué unidades de medida (px, em, %, etc.) usar para que los puñeteros bloques se posicionen de igual manera en todos los navegadores y que mantengan la proporción según la pantalla o el tamaño de la ventana.

¡Es un grandísimo fastidio!; aunque tenga que volver a programar todas las dimensiones y posiciones de nuevo los bloques, me compensa hacerlo si se soluciona.

Gracias, un cordial saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #2 (permalink)  
Antiguo 22/03/2014, 16:49
Avatar de codeams  
Fecha de Ingreso: diciembre-2012
Ubicación: México
Mensajes: 103
Antigüedad: 11 años, 4 meses
Puntos: 16
Respuesta: Posición y dimensiones

Lo que yo recomiento es usar porcentajes y utilizar tanto padding, margin, border y el que sea necesario, pero al usar porcentajes queda a tu desición si deseas usar padding como parte del ancho y largo total del objeto o no. Me explico mejor: El padding y el border por defecto no son parte del ancho ni largo, es decir si quieres que un elemento ocupe toda la pantalla lo lógico sería ponerle width:100%; height:100%; pero si le agregas un padding y un border el objeto se "saldrá" de la pantalla. Soluciona esto con box-sizing:border-box;
Para las fuentes y anchos de línea yo recomiendo totalmente usar em. Puedes buscarte mucha información al respecto googleando "em vs px". Si tienes preguntas no dudes en hacerlas.
__________________
¿Quién es codeams? codeams.ml
¿Qué hace en su tiempo libre? codepen.io/codeams
  #3 (permalink)  
Antiguo 22/03/2014, 17:14
Avatar de Ito79  
Fecha de Ingreso: diciembre-2013
Mensajes: 71
Antigüedad: 10 años, 4 meses
Puntos: 18
Respuesta: Posición y dimensiones

Creo que menos dolores de cabeza se consigue trabajando con unidades relativas siempre (o casi siempre).

Para los anchos de cajas y demás elementos, mejor % que píxeles sin duda, salvo para algunos padding, margin que son pequeños y les pongo píxeles por tener más control.

Y para fuentes, huyo como de la peste de los em y uso siempre "rem". Los em dan muchos dolores de cabeza porque hacen referencia al contenedor padre y eso cuando tienes más de 2 niveles (que es siempre, en mi caso) ya te va fastidiando. Los rem son una maravilla, bajo mi opinión, ya que hacen referencia a la raiz así que defino el tamaño en el body ya partir de ahí uso siempre rem.

Suerte y ánimo!

// Ito
  #4 (permalink)  
Antiguo 23/03/2014, 05:43
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Posición y dimensiones

Gracias a los dos!

Entonces quedamos en que:

1. Para bloques y contenedores usar % como unidad de tamaño partiendo del body como raíz. También añadimos margin y padding usando la directriz box-sizing:border-box; para que forme parte del tamaño máximo.

2. Para las fuentes de letra utilizar "rem" y así definimos un tamaño según las dimensiones del body (saltándonos los contenedores intermedios y evitando cálculos de más).

¿Y respecto al posicionamiento?. Por ejemplo, quiero tener 2 columnas en mi web: La de la izquierda que llevará el contenido de la página (a base de etiquetes html article y section) y la de la derecha que contiene otro tipo de información (por ejemplo información de navegación con nav). Estos posicionamientos horizontales los hago con "float: left" y "float:right".

Además la web contiene una cabecera, el cuerpo de la página (lo descrito anteriormente) y un footer. Para este posicionamiento vertical no uso ninguna instrucción, lo coloco en el código en el orden que quiero que se imprima.

¿Este tipo de posicionamiento horizontal y vertical es correcto o debería usar otra metodología?.

Un cordial saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #5 (permalink)  
Antiguo 23/03/2014, 07:46
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Posición y dimensiones

Es correcto. No es nada complejo que requiera de otras yerbas. Aunque seguramente te sea suficiente flotar ambos elementos a la izquierda.
  #6 (permalink)  
Antiguo 23/03/2014, 09:56
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Posición y dimensiones

Muchas gracias. Un cuestión más concreta:

He añadido esto al código:

Código HTML:
* {
	width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
}
Lo cual provoca que aparezca el la barra horizontal por unos pocos píxeles. Lo soluciono añadiendo en el body: "width: 99%", pero es evidente que no tendría que pasar, ¿alguien sabría decirme por qué sucede?.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #7 (permalink)  
Antiguo 23/03/2014, 13:24
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Posición y dimensiones

¿Qué sentido tiene poner en el selector universal un ancho al 100%?

No es lo mismo un elemento de bloque que mida automático (por defecto) a que mida un 100%. Hay una diferencia muy sutil.
  #8 (permalink)  
Antiguo 23/03/2014, 14:36
Avatar de codeams  
Fecha de Ingreso: diciembre-2012
Ubicación: México
Mensajes: 103
Antigüedad: 11 años, 4 meses
Puntos: 16
Respuesta: Posición y dimensiones

Hola. Sobre tu pregunta me parece que podría ser algun valor que el navegador añade por defecto a los elmentos, quizá un padding (no lo creo porque eso lo estaría solucionando el box-sizing) un margin o algo por el estilo.
Sobre tu código no recomiendo para nada hacer eso ya que el selector '*' es extremadamente lento y tedioso -para el navegador-. Es muy útil si lo usas para resetear el margin y padding que los navegadores añaden a los objetos. Ejemplo:

Código CSS:
Ver original
  1. *{
  2.      margin:0; padding:0; /* border:0; */
  3. }

De esta manera puedes empezar con valores en cero, asi todo padding y margin que se agregue será porque tú asi lo quieras.

Un dato aparte complementando mi primer comentario: Yo jamás utilizo el body al 100% si he de colocar texto en el, a su vez prefiero que el body sea un color de fondo y dentro de el colocar un div contenedor que estará centrado y cuyo width será definido en pixeles y toooodo lo que estará dentro de este div será con un width en %.

Dejaré de parlar y dejaré algo de código:

Código HTML:
Ver original
  1.      <div id="contenedor">
  2.           <div class="columna">
  3.                <p>texto</p>
  4.           </div>
  5.           <div class="columna">
  6.                <p>texto</p>
  7.           </div>
  8.      </div>
  9. </body>

Código CSS:
Ver original
  1. *{margin:0;padding:0;}
  2. body{width:100%; height:auto; background:#e0e0e0; font-size:12px;}
  3. #contenedor{width:960px; margin:0 auto; /* el margin es para centrar */}
  4. .columna{width:50%; height:auto; padding:20px; box-sizing:border-box; float:left;}
  5. p{width:90%; margin:0 auto; font-size:1.2rem;}

No es necesario el box-sizing para el body pues no estoy usando padding, lo mismo para contenedor, sin embargo, para las columnas si lo necesito asi que lo defino solo para las columnas. De esta manera evito perder tiempo de carga de pagina y obtengo un sitio ordenado y fácil de redimensionar puesto que cambiar el width del contenedor cambiará el width de todo de tal manera que se ajuste perfecto.

Espero te sea de ayuda. Saudos.
__________________
¿Quién es codeams? codeams.ml
¿Qué hace en su tiempo libre? codepen.io/codeams
  #9 (permalink)  
Antiguo 29/03/2014, 09:59
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Posición y dimensiones

Buenas tardes:

Viendo lo mal que está (o se me da) el posicionamiento y dimensiones basado en porcentajes, he decidido hacerlo a base de píxeles y que el tamaño se quede fijo.

¿Esto también es correcto o no está "estandarizado"?.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #10 (permalink)  
Antiguo 29/03/2014, 14:15
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Posición y dimensiones

He arreglado todos los problemas con "min-width" en el body.

Además después de darle 2983298 vueltas me he dado cuenta de que darle dimensiones a la web de manera relativa trae trillones de problemas detrás. De hecho si nos fijamos en las grandes webs (ebay, face, google, etc.) todas usan dimensiones estáticas con "px".
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...

Última edición por Anonimo12; 29/03/2014 a las 14:41
  #11 (permalink)  
Antiguo 31/03/2014, 04:18
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Posición y dimensiones

Cita:
Iniciado por Anonimo12 Ver Mensaje
¿Esto también es correcto o no está "estandarizado"?.
El problema será que la página se verá mal en ciertas resoluciones.

Cita:
Iniciado por Anonimo12 Ver Mensaje
Además después de darle 2983298 vueltas me he dado cuenta de que darle dimensiones a la web de manera relativa trae trillones de problemas detrás. De hecho si nos fijamos en las grandes webs (ebay, face, google, etc.) todas usan dimensiones estáticas con "px".
Lo único grande de esas páginas es que son muy visitadas, pero en cuanto a CSS suelen ser una castaña celestial.

Etiquetas: dimensiones, tamaño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:33.