css:basics
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| css:basics [2021/07/06 10:47] – [Sintaxis] alberto | css:basics [2021/07/08 13:44] (actual) – alberto | ||
|---|---|---|---|
| Línea 6: | Línea 6: | ||
| <code css> | <code css> | ||
| - | p { /* Elemento HTML a dar formato */ | + | p { /* Elemento HTML a dar formato, llamado selector |
| color: red; /* Propiedad color del elemento (en ester caso texto del párrafo) */ | color: red; /* Propiedad color del elemento (en ester caso texto del párrafo) */ | ||
| text_align: center; | text_align: center; | ||
| Línea 22: | Línea 22: | ||
| <code html>p class=" | <code html>p class=" | ||
| - | ===== Declaración de estilo ===== | + | ==== Combinators ==== |
| + | Un selector CSS (elemento a dar formato), puede tomar más de un simple selector. Un // | ||
| + | * **Descendiente [Espacio]**: | ||
| + | * **Hijo >**: afecta a los elementos especificados, | ||
| + | * **Hermano adyacente +**: Afecta a un elemento que esté inmediatamente después de otro elemento especificado. Ejemplo: div + p { afectará al primer <p> que estén después de un <div> y a la misma altura (no contenido en él). | ||
| + | * **Hermano general ~**: Afecta a un elemento que esté espués de otro elemento especificado, | ||
| + | |||
| + | ==== Pseudoclases y pseudoelementos ==== | ||
| + | Las **pseudoclases** definen diferentes formas en que puede visualizarse un elemento dependiendo de su estado, ejemplo: enlace antes de ser pulsado, después de ser pulsado o cuando se sitúa el cursor sobre él. Pueden combinarse con las clases. | ||
| + | Sintaxis: | ||
| + | <code css> | ||
| + | selector: | ||
| + | propiedad: valor; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Ejemplo: | ||
| + | <code css> | ||
| + | /* unvisited link */ | ||
| + | a:link { | ||
| + | color: #FF0000; | ||
| + | } | ||
| + | |||
| + | /* visited link */ | ||
| + | a:visited { | ||
| + | color: #00FF00; | ||
| + | } | ||
| + | |||
| + | /* mouse over link */ | ||
| + | a:hover { | ||
| + | color: #FF00FF; | ||
| + | } | ||
| + | |||
| + | /* selected link */ | ||
| + | a:active { | ||
| + | color: #0000FF; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Los **Pseudoelementos** dan estilo a diferentes partes de un elemento.\\ | ||
| + | Sintaxis: | ||
| + | <code css> | ||
| + | selector:: | ||
| + | propiedad: valor; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Ejemplo: | ||
| + | <code css> | ||
| + | p:: | ||
| + | color: #ff0000; | ||
| + | font-variant: | ||
| + | } | ||
| + | |||
| + | p:: | ||
| + | color: #ff0000; | ||
| + | font-size: xx-large; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Declaración de estilos ===== | ||
| + | * **CSS externo**: En un documento nombreDocumento.css que debe ser referenciado en el //head// del HTML. Se van declarando los estilos de los diferentes elementos uno debajo de otro. | ||
| + | <code html> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <link rel=" | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | * **CSS interno**: Se declaran los estilos el la cabecera del HTML. En lugar de hacer una referencia, se escriben los estilos uno debajo de otro. | ||
| + | * **CSS en línea**: Se declaran los estilos en cada elemento afectado, dentro de la etiqueta HTML que corresponda. Se suelen poner " | ||
| + | |||
| + | Cuando se declaran a la vez en diferentes sitios, se toman por orden de preferecia: | ||
| + | - En línea. | ||
| + | - Interno. | ||
| + | - Externo. | ||
| + | - Por defecto del explorador. | ||
| + | |||
| + | ==== Comentarios ==== | ||
| + | Los comentarios en CSS tienen la sintaxis /* Línea/s de comentario */ | ||
| + | No olvidar que en HTML los comentarios eran de la forma <!-- Comentario --> | ||
| + | |||
| + | ===== Modelo de Caja ===== | ||
| + | CSS funciona con un " | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | En este modelo se distinguen las propiedades: | ||
| + | * **margin**: Márgenes. Espacio exterior al borde del elemento. Si el superior y el inferior son diferentes, se " | ||
| + | * **border**: Borde del elemento. Por defecto es invisible, pero se le puede dar estilo. | ||
| + | * **padding**: | ||
| + | |||
| + | ==== Ancho (Width) y alto (Height) de un elemento | ||
| + | Estas propiedades se refieres al ancho y alto del **contenedor** (contenido), | ||
| + | El ancho y alto totales de la caja es el resultdo de sumer ancho/alto, más //margin//, //padding// y bordes. | ||
| + | |||
| + | ==== Outline ==== | ||
| + | Aunque no está referenciada respecto al modelo de caja, existe un elemento denominado **// | ||
| + | Al no referenciar al modelo de caja, puede solapar a éste en función de las propiedades que tenga declaradas. | ||
| + | |||
| + | ===== Posicionamiento (Layout) ===== | ||
| + | Los elementos se posicionan con las propiedades //top//, //bottom//, //left// y //right//. Sin embargo, estas propiedades no funcionarán a menos que se establezca primero la propiedad // | ||
| + | * **Static**: Por defecto. Se colocan los elementos según el flujo " | ||
| + | * **Relative**: | ||
| + | * **Fixed**: Siempre se sitúa en la posición indicada. SIEMPRE. Aunque se haga //scroll// SEGUIRÁ AHÍ. | ||
| + | * **Absolute**: | ||
| + | * **Sticky**: Funciona como unposicionamiento relativo, hasta que llega en pantalla a una posición indicada, en la cual se queda en posicionamiento fijo. Ejemplo: top 0; Cuando se haga //scroll// hacia abajo, el elemento se moverá hasta la parte superior, y cuando llegue ahí, ahí se queda. | ||
| + | |||
| + | ==== z-index ==== | ||
| + | Esta propiedad lo que indica es la prioridad en caso de solapamiento de elementos. | ||
| + | |||
| + | ===== Visualización ===== | ||
| + | Hay dos maneras de controlar los elementos que aparecen: //display// y // | ||
| + | |||
| + | ==== Display ==== | ||
| + | Es la propiedad CSS más importante para controlar el //layout//. Indica si un elemento se muestra (se carga o no en la web) y de qué manera. | ||
| + | Cada elemento HTML tiene un valor de //display// por defecto dependiendo de su tipo de elemento. La mayoría de los elements son //block// o // | ||
| + | * **block**: El elemento no puede tener ningún otro al lado, y se sitúa debajo del anterior y encima del siguiente. | ||
| + | * **inline**: El elemento se sitúa en línea con el anterior. No respeta top y bottom, en margin y padding. Tampoco tienen efecto las propiedades height y width. | ||
| + | * **inline-block**: | ||
| + | |||
| + | Display tiene una [[https:// | ||
| + | |||
| + | ==== Visivility ==== | ||
| + | Esta propiedad indica si el elemento se muestra, pero siempre se carrga en la web, y por lo tanto se respeta su hueco, a diferencia de // | ||
| + | Algunos de sus valores son: | ||
| + | * **visible**: | ||
| + | * **hidden**: No se ve, pero queda su hueco. | ||
| + | * **collapse**: | ||
| + | |||
| + | ==== Float ==== | ||
| + | La propiedad //float// especifica si un elemento debe flotar hacia la izquierda, hacia la derecha o no flotar. Los elementos posicionados // | ||
| + | Los elementos próximos a un elemento flotante fluirán a su alrededor. Para evitar esto, hay que usar la propiedad //clear// o el truco // | ||
| + | |||
| + | ==== Clear ==== | ||
| + | Esta propiedad se usa cuando se desea situar un elemento debajo de un float (no a su izquierda o derecha): | ||
| + | * **none**: El elemento no se coloca debajo de flotante. Por defecto. | ||
| + | * **left** o **right**: El elemento cae debajo de los " | ||
| + | * **inherit**: | ||
| + | |||
| + | |||
| + | ==== Overflow ==== | ||
| + | Esta propiedad indica qué ocurre cuando un contenido es mayor que el elemento que lo contiene (caja). | ||
| + | Algunos valores que puede tomar: | ||
| + | * **visible**: | ||
| + | * **hidden**: no se ve la parte que se sale de la " | ||
| + | * **scroll**: Se muestran barras de scroll. | ||
| + | * **auto**: Se muestran las barras de scroll, sólo si se da la situación de solapamiento. | ||
| + | |||
| - | ===== Ámbito | ||
css/basics.1625561245.txt.gz · Última modificación: por alberto
