Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CSS I
<html>
<head>
<Title> Ejemplo de estilos para toda una página </title>
<STYLE type = “text/css”>
<!—
H1 {text-decoration: underline; text-align: center}
P {font-Family: arial, verdana; color: white; background-color: black}
BODY {color: black; background-color: #cccccc; text-indent: 1cm}
//-->
</STYLE>
</head>
<body>
<h1> P%aacute;gina con estilos </h1>
Bienvenidos…
<p> Siento ser tan hortera, pero esto es un ejemplo sin más importancia </p>
</body>
</html>
Estilo definido para todo un sitio web:
P{
font-size: 12pt;
font-family: arial, helvética;
font-weight: normal;
}
H1 {
font-size: 36pt;
font-family: verdana, arial;
text-decoration: underline;
text-align: center;
background-color: Teal;
}
TD {
font-size: 10pt;
font-family: verdana, arial;
text-align: center;
background-color: 666666;
}
BODY {
background-color: #006600;
font-family: arial;
color: white;
}
Se suele utilizar cuando hay unas pautas básicas en el trabajo con los estilos y unos estilos
específicos para cada página.
Padding (relleno):
o longitud | porcentaje | auto
o P.e. Body {padding 2em 3em 4em 5em} -> sup. 2em, dcha. 3em, inf. 4em, izq.
5em
Body {padding: 2em 4em} -> sup. e inf. a 2em, dcha. e izq. a 4em
Body {padding 5em} -> Todos los lados a 5em
Border (borde):
o border-width || border-style || color
o P.e. H3 {border: thick dotted blue} -> Borde punteado, grueso y azul
Pseudo-element en CSS (pseudo elementos) -> Sirve para dar color a una letra o
una palabra en concreto dentro de una etiqueta
Pseudo-element first-letter:
1. P: first-letter {
font-size: 200%;
color: #993333, font-weight: bold;
}
Pseudo-element first-line:
1. P: first-line {
text-decoration: underline;
font-weight: bold
}
También hay:
width y height anchura y altura de la capa
Z-index que capas se ven encima de que otras, si hay solapamiento
clip recortar una capa y hacer que partes de ella no sean visibles
visibility define si la capa es visible o no
li {
float: right;
}
*En el código de position fixed usamos muchos <br> para que la página pueda tener
desplazamiento.
Overflow sirve para decirle al navegador qué es lo que debe hacer con el contenido que no
cabe dentro de una capa. Se puede configurar overflow para que aparezcan unas barras de
desplazamiento para ver el contenido que no cabe en la capa.
visible -> muestra todo, lo que cabe y lo que no
hidden -> muestra solo lo que cabe
scroll -> barras de desplazamiento (respetando dimensiones asignadas a la
capa)
auto -> se respetan las dimensiones y pueden aparecer o no barras de
desplazamiento automáticas según si cabe todo o no
Trucos de CSS:
1. Usa un contenedor global para todas las cajas (cuando las cosas se disparan)
#contenedor{
margin-top: 0px;
margin-right: auto;
margin-bottom: 0px; Contenedor de 900px
margin-left: auto;
width: 900px;
}
Que flote a la izquierda (cuando las cajas se superponen)
#caja {
float: left;
width: 300px;
}
2. Calcular bien los paddings o rellenos (cuando las cajas se van abajo)
Tenemos una caja de 300px y añadimos un padding de 10px, luego lo que tenemos ahora sería
una caja con padding de 310px que puede trastocar todo lo que teníamos ajustado.
*Solución: Caja de 290px con un padding de 10px Total, caja de 300px
#caja {
float: left;
width: 290px;
padding-left: 10px;
background-color: #FFE6DD;
}
3. El pie de página con ancho fijo (cuando el pie de página enloquece)
#pie {
width: 900px;
background-color: #666666;
}
4. No todo es 1+1=2 en CSS (cuando los anchos no cierran)
No siempre cierran perfectamente los anchos de las cajas, a veces auque parezca ilógico hay
que añadir algunos px mas a los contenedores.
div: first-child {
opacity: .99; Esta opacidad se le añadiría a la caja padre
}
Ordenar el apilamiento
Cuando introduces la propiedad de posición a la caja padre (y sus hijos automáticamente) se
muestra delante de elementos no posicionados.
*Elemento posicionado -> cuando tiene un valor distinto a “static”, “relative”, “absolute”,…
*Z-indez solo funciona con elementos posicionados. A z-index se le da un valor, los que tengan
el valor más grande aparecerán delante de los del valor más pequeño.
Contextos de apilamiento:
*Formados en un elemento de 3 maneras:
Cuando un elemento es el elemento raíz de un documento (el elemento <html>)
Cuando un elemento tiene un valor de posición que no sea “static” y valor de z-index
distinto a “auto”
Cuando un elemento tiene un valor de opacidad menor que 1
- Etiquetas de html:
Maquetear en base a capas (div) y no a tablas (table)
Párrafos (p)
Encabezados (h1, h2,…, h6)
Tablas (table, thead/tr/th, tbody/tr/td)
Listas (ul/li, ol/li)
Menús: basados en listas con el atributo display: inline
*Para obligar a todas las páginas a tener la letra que queramos hay que modificar el código:
body {
font-size: 16pt !important;
font-family: verdana, arial;
}
*Con esto, las páginas aunque estén configuradas con otro tipo de letra las podemos cambiar a
nuestro gusto
- Utilizar un DOCTYPE:
Es una cadena de texto que se debe incluir al pricipio del código HTML, para decirle
que versión de HTML o XHTML estamos utilizando (para evitar errores de
compatibilidad con otros navegadores)
Es recomendable empezar con DOCTYPE y luego ir desarrollando el código, para
asegurarnos que el trabajo realizado se vea igual en todos los navegadores.
Tiene la forma:
Tipos de DOCTYPE:
o DOCTYPE XHTML 1.0 strict
o DOCTYPE XHTML 1.0 transitional
o DOCTYPE XHTML 1.0 frameset
o DOCTYPE HTML 4.01 strict
o DOCTYPE HTML 4.01 transitional
o DOCTYPE HTML 4.01 frameset
display:table -> asigna un comportamiento de tabla a los elementos que haya dentro,
anidadas a la etiqueta donde está el display:table
display:table-row -> actúa como un elmento fila, etiqueta TR
display:table-cell -> actúa como un elemento celda, etiqueta TD
o table-caption -> se comporta como la etiqueta CAPTION
o table-column -> se comporta como la etiqueta COL
o table-column-group -> se comporta como la etiqueta COLGROUP
o table-footer-group -> se comporta como la etiqueta TFOOT
o table-header-group -> se comporta como la etiqueta THEAD
o table-row-group -> se comporta como la etiqueta TBODY
display:inline-table -> igual que display:table pero en vez de comportarse como un
bloque, se comporta como “inline”