LibUIGL
3.17.5
|
La composición de una escena con LibUIGL sigue una serie de reglas.
Si los controles que se encuentran en un contenedor <scene>
o div>
no tienen definida una posición fija, se sitúan automáticamente de izquierda a derecha y de arriba hacia abajo, empezando desde la coordenada superior izquierda del contendor.
El atributo spacing
del contenedor indica la separación entre los diferentes, controles, si es 0 (por defecto) los controles están pegados sin separación adicional.
Si un control define la propiedad margin
, esta toma precedencia sobre el atributo spacing
del contenedor donde se encuentra. Este atributo tiene el mismo funcionamiento que el modelo de caja CSS, definiendo un espacio alrededor del control.
Los atributos spacing
y margin
pueden definir entre 1 y 4 valores separados por espacios. El significado de los valores es el mismo que en el modelo de caja CSS:
Nº valores | Significado |
---|---|
1 | superior, izquierda, inferior, derecha |
2 | 1=superior e inferior, 2=izquierda y derecha |
3 | 1=superior, 2=izquierda y derecha, 3=inferior |
4 | 1=superior, 2=derecha, 3=inferior, 4=izquierda |
Los márgenes adyacentes se colapsan, es decir:
Puede indicarse una posición fija en uno de los controles, y el flujo continuará a partir de este último control, sin tener en cuenta otros controles que pudieran haberse colocado antes. No es recomendable mezclar posiciones fijas y automáticas dentro de un mismo contenedor, ya que el resultado puede no ser el deseado. Sí que puede utilizarse esta característica para indicar la posición del primer control, y permitir que el flujo automático siga a partir de ahí.
Los atributos right
y bottom
que definen el posicionamiento de la parte derecha e inferior del control, aceptan valores negativos. En este caso, se interpreta que la distancia es al borde derecho/inferior del contenedor, útil para anclar los controles a esas zonas al redimensionar la escena.
Por ejemplo:
Significa que el control tiene su margen derecho a 40px del borde derecho de su contenedor. Al redimensionar la escena, la distancia se mantiene constante, redimensionando el botón automáticamente.
El atributo align
aplicado a un elemento <div>
con una anchura inferior al 100%, permite alinearlo dentro del espacio disponible. El el resto de controles, este atributo se usa para alinear el texto dentro del control.
Si un control no tiene definido un tamaño específico mediante los atributos width
y height
, se asigna un tamaño automático de la siguiente forma:
image
, obtiene el tamaño de la imagen asociadaleft
, top
, right
y bottom
, calcula el ancho y/o alto haciendo la resta entre los extremosLas reglas para el tamaño de un contenedor <div>
que contiene otros controles es la siguiente:
width
permite especificar la anchura absoluta en píxeles o relativa en porcentaje respecto al contenedor parientewidth="content"
width
, se asume el 100% del espacio disponibleheight
indica la altura mínima del contenedor, en píxeles