SlideShare ist ein Scribd-Unternehmen logo
1 von 20
H
O
J
A
S
D
E
E
S
1
CSS 3.
 Nuevas posibilidades de decoración.
 Menos markup.
 Menos dependencia de Javascript.
 Mayor control.
Introducción.
Este lenguaje es, de hecho, un complemento desarrollado para superar las
limitaciones y reducir la complejidad de HTML. Al comienzo, atributos dentro de las
etiquetas HTML proveían estilos esenciales para cada elemento, pero a medida que
el lenguaje evolucionó, la escritura de códigos se volvió más compleja y HTML por sí
mismo no pudo más satisfacer las demandas de diseñadores.
CSS es un lenguaje para definir el estilo o la apariencia de las páginas web, escritas
con HTML o de los documentos XML. CSS se creó para separar el contenido de la
forma, a la vez que permite a los diseñadores mantener un control mucho más preciso
sobre la apariencia de las páginas.
CSS es un lenguaje que trabaja junto con HTML para proveer estilos visuales a los
elementos del documento, como tamaño, color, fondo, bordes, etc.
En consecuencia, CSS pronto fue adoptado como la forma de separar la estructura
de la presentación. Desde entonces, CSS ha crecido y ganado importancia, pero
siempre desarrollado en paralelo, enfocado en las necesidades de los diseñadores y
apartado del proceso de evolución de HTML.
HTML5 fue desarrollado considerando CSS a cargo del diseño. Debido a esta
consideración, la integración entre HTML y CSS es ahora vital para el desarrollo web
y esta es la razón por la que cada vez que mencionamos HTML5 también estamos
haciendo referencia a CSS3, aunque oficialmente se trate de dos tecnologías
completamente separadas.
La especificación de CSS3 viene con interesantes novedades que permitirán hacer
webs más elaboradas y más dinámicas, con mayor separación entre estilos y
contenidos. Dará soporte a muchas necesidades de las webs actuales, sin tener que
recurrir a trucos de diseñadores o lenguajes de programación.
El objetivo inicial de CSS, separar el contenido de la forma, se cumplió ya con las
primeras especificaciones del lenguaje. Sin embargo, el objetivo de ofrecer un control
total a los diseñadores sobre los elementos de la página ha sido más difícil de cubrir.
Las especificaciones anteriores del lenguaje tenían muchas utilidades para aplicar
estilos a las webs, pero los desarrolladores aún continúan usando trucos diversos
2
para conseguir efectos tan comunes o tan deseados como los bordes redondeados o
el sombreado de elementos en la página.
CSS 1 ya significó un avance considerable a la hora de diseñar páginas web,
aportando mucho mayor control de los elementos de la página. Pero como todavía
quedaron muchas otras cosas que los diseñadores deseaban hacer, pero que CSS
no permitía especificar, éstos debían hacer uso de trucos para el diseño. Lo peor de
esos trucos es que muchas veces implica alterar el contenido de la página para
incorporar nuevas etiquetas HTML que permitan aplicar estilos de una manera más
elaborada.
Dada la necesidad de cambiar el contenido, para alterar al diseño y hacer cosas que
CSS no permitía, se estaban eliminando los objetivos para los que CSS fue creado,
que era separar por completo el contenido de la forma.
CSS 2 incorporó algunas novedades interesantes, que hoy ya utilizamos
habitualmente, pero CSS 3 todavía avanza un poco más en la dirección, de aportar
más control sobre los elementos de la página.
Así pues, la novedad más importante que aporta CSS 3, de cara a los desarrolladores
de webs, consiste en la incorporación de nuevos mecanismos para mantener un
mayor control sobre el estilo con el que se muestran los elementos de las páginas,
sin tener que recurrir a trucos o hacks, que a menudo complicaban el código de las
web.
Novedades en CSS 3.
1. Bordes
1.1. border-color
1.2. border-image
1.3. border-radius
1.4. box-shadow
2. Fondos
2.1. background-origin
2.2. background-clip
2.3. background-size
2.4. hacer capas con múltiples imágenes de fondo
3. Color
3.1. Colores hsl
3.2. Colores hsla
3.3. Colores rgba
3.4. Opacidad
4. Texto
4.1. text-shadow
4.2. text-overflow
4.3. Rotura de palabras largas
3
5. interfaz
5.1. box-sizing
5.2. resize
5.3. outline
5.4. nav-top, nav-right, nav-bottom, nav-left
6. Selectores
6.1. Selectores por atributos
7. Modelo de caja básico
7.1. overflow-x, overflow-y
8. Otros
8.1. Media queries
8.2. Creación de múltiples columnas de texto
8.3. Propiedades orientadas a discurso o lectura automática de
páginas web
9. Web Fonts
Selectores.
Selectores en CSS1
 de elemento: h1 { color: red; }
 de clase: h1.alert { color: red; }
 de ID: #alert { color: red; }
 descendientes y contextuales: h1 em { color: red; }
 pseudo-clases: a:link, a:visited, a:active, :first-line, :first-letter
 comodín: div * p
Selectores en CSS2
 selector universal (*): blockquote * { ... }
 de atributo: a[href="http://www.google.com/"] { ... }
 más pseudo-clases: :first-child, :hover, :focus, :active, :lang, :before, :after
 de hijos: div > p { ... }
 de hermanos: h1 + h2 { ... }
Selectores en CSS1 y CSS2
 body > ol > li p Selecciona cualquier elemento p que es descendiente de un
elemento li que es hijo de un elemento ol que es hijo de un elemento body.
 p > * > em Selecciona cualquier elemento em que es hijo de cualquier
elemento que es hijo de un elemento p.
 a[title~="Mail"] - Selecciona cualquier elemento a con un atributo title que
contiene la palabra Mail.
4
Selectores en CSS3
 nuevos selectores de atributo:
o comienzo del atributo
o a[href^="ftp:"] { ... }
o final del atributo
o a[href$=".edu"] { ... }
o cualquier cadena contenido
o img[src*="photos"] { ... }
 nuevas pseudo-clases:
o :enabled, :disabled, :checked Permiten cambiar la apariencia de los
inputs de formulario, según su estado. No soportadas en IE7 ni en IE8
Algunos módulos de CSS3
 Colores
o Hexadecimal - #RRGGBB
o Hexadecimal, shorthand - #RGB
o RGB- rgb(red, green, blue)
o Nombres de colores - white, red, black, etc.
o HLS - hsl(hue, saturation, lightness)
o CMYK - cmyk(cyan, magenta, yellow, black)
o HLSA - hlsa(hue, saturation, lightness, alpha)
 #foo {Background: hsla(324, 100%, 75%, .5);}
 #foo {Background: hsla(324, 100%, 25%, .2);}
o RGBA - rgba(red, green, blue, alpha)
 #foo {Background: rgba(0, 0, 0, .5);}
 #foo {Background: rgba(255, 0, 0, .7);}
El canal alpha define la transparencia del color, va de 0 (totalmente
transparente) a 1 (totalmente opaco.) La adición del canal alpha ofrece
muchas nuevas posibilidades a los diseñadores visuales.
 Modelo de caja
o IE box model
o W3C box model
o Nueva propiedad: box-sizing: content-box / border-box
 Fondos y bordes
o Degradados
 background: -webkit-gradient(linear, 0 0, 100% 100%,
from(#d0d0d0), to(#ffffff));
 background: -moz-linear-gradient(20% center, 30%
center,from(blue), to (yellow)) no-repeat;
o Bordes redondeados
 -moz-border-radius-topleft / -webkit-border-top-left-radius
5
 -moz-border-radius-topright / -webkit-border-top-right-radius
 -moz-border-radius-bottomleft / -webkit-border-bottom-left-radius
 -moz-border-radius-bottomright / -webkit-border-bottom-right-
radius
 #foo { border-radius: 10px;}
 #foo { border-radius: 50px 0 50px 0;}
o Sombras
 box-shadow: 10px 10px 5px #888;
 #foo { box-shadow: 5px 5px 10px black;}
 #foo { box-shadow: inset 3px 3px 5px black;}
o Imágenes de borde
 border-image:
 border-corner-image:
o Imágenes de fondo
 Tamaño
 -o-background-size, -webkit-background-size, -khtml-
background-size, -moz-background-size
 Múltiples imágenes de fondo
 background: url(img1.gif) top left no-repeat, url(img2.gif)
bottom left no-repeat;
 html
{background: url(img/arena.png) no-repeat 70% 20%,
url(img/wall.png) repeat left top;}
 Tipografía y efectos de texto
o Sombras en texto
 h1 {text-shadow: 3px 3px 5px black;}
 h1 {text-shadow: 5px 5px 0px blue;}
o Uso de tipografías (@font-face)
 @font-face {font-family: 'lobster';src: url('lobster.ttf')
format('truetype'); font-weight: normal;font-style: normal; }
 Google Font Directory http://code.google.com/webfonts
 Fontsquirrel http://www.fontsquirrel.com/
 Typekit http://typekit.com/
 Layout multicolumna
o Número de columnas
o Separación entre columnas
o Bordes separadores
-moz-column-count -moz-column-width
6
-moz-column-gap -webkit-column-count
-webkit-column-width -webkit-column-gap
 Transformaciones.
o #foo { transform: rotate(45deg);}
o #foo { transform: scale(0.5);}
o #foo { transform: skew(45deg);}
o #foo { transform: translate (20px,-20px);}
 Formas
o #oval
{width: 200px; height: 100px; background: purple;
-moz-border-radius: 100px / 50px;
-webkit-border-radius: 100px / 50px;
border-radius: 100px / 50px;}
o #left-triangle
{width: 0; height: 0;
border-right: 100px solid orange;
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;}
 Animaciones y transiciones
7
Elementos block.
Con respecto a la estructura, básicamente cada navegador ordena los elementos por
defecto de acuerdo con su tipo: block (bloque) o inline (en línea). Esta clasificación
está asociada con la forma en que los elementos son mostrados en pantalla.
 Elementos block son posicionados uno sobre otro hacia abajo en la página.
 Elementos inline son posicionados lado a lado, uno al lado del otro en la misma
línea, sin ningún salto de línea a menos que ya no haya más espacio horizontal
para ubicarlos.
Casi todos los elementos estructurales del HTML serán tratados por los navegadores
como elementos block por defecto. Esto significa que cada elemento HTML que
representa una parte de la organización visual (por ejemplo, <section>, <nav>,
<header>, <footer>, <div>) será posicionado debajo del anterior.
Modelos de caja.
Para crear la organización de los elementos en pantalla, debe primero comprender
cómo los navegadores procesan el código HTML. Los navegadores consideran cada
elemento HTML como una caja. Una página web es en realidad un grupo de cajas
ordenadas siguiendo ciertas reglas establecidas por estilos provistos por los
navegadores o por los diseñadores usando CSS.
CSS tiene un set predeterminado de propiedades destinados a sobrescribir los estilos
provistos por navegadores y obtener la organización deseada. Estas propiedades no
son específicas, tienen que ser combinadas para formar reglas que luego serán
usadas para agrupar cajas y obtener la correcta disposición en pantalla.
La combinación de estas reglas es normalmente llamada modelo o sistema de
disposición. Todas estas reglas aplicadas juntas constituyen lo que se llama un
modelo de caja.
Existe solo un modelo de caja que es considerado estándar estos días, y muchos
otros que aún se encuentran en estado experimental. El modelo válido y ampliamente
adoptado es el llamado Modelo de Caja Tradicional, el cual ha sido usado desde la
primera versión de CSS.
8
Aunque este modelo ha probado ser efectivo, algunos modelos experimentales
intentan superar sus deficiencias, pero la falta de consenso sobre el reemplazo más
adecuado aún mantiene a este viejo modelo en vigencia y la mayoría de los sitios
webs programados en HTML5 lo continúan utilizando.
Aplicar estilos a los elementos HTML cambia la forma en que estos son presentados
en pantalla. Los navegadores proveen estilos por defecto que en la mayoría de los
casos no son suficientes para satisfacer las necesidades de los diseñadores. Para
cambiar esto, podemos sobrescribir estos estilos con los nuestros usando diferentes
técnicas.
Estilos desde archivos externos.
Este método permite cambiar los estilos por completo simplemente incluyendo un
archivo diferente. También permite modificar o adaptar nuestros documentos a cada
circunstancia o dispositivo.
Utilizando la línea <link rel=”stylesheet” href=”misestilos.css”> se le indica al
navegador que cargue el archivo misestilos.css porque contiene todos los estilos
necesarios para presentar el documento en pantalla.
La etiqueta <link> referenciando el archivo CSS será
insertada en cada uno de los documentos que requieren de esos estilos:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<p>Mi texto</p>
</body>
</html>
9
Existen varios métodos para seleccionar cuáles elementos HTML serán afectados por las reglas CSS:
 Referencia por la palabra clave del elemento.
 Referencia por el atributo id.
 Referencia por el atributo class.
Referenciando con palabra clave.
Al declarar las reglas CSS utilizando la palabra clave del elemento afectamos cada elemento de la
misma clase en el documento. Por ejemplo, la siguiente regla cambiará los estilos de todos los
elementos <p>:
p { font-size: 80px }
Utilizando la palabra clave p al frente de la regla estamos diciendo al navegador que esta regla debe
ser aplicada a cada elemento <p> encontrado en el documento HTML. Todos los textos envueltos en
etiquetas <p> tendrán el tamaño 80 px.
Para seleccionar un elemento HTML específico desde las reglas de nuestro archivo CSS, podemos
usar dos atributos diferentes: id y class.
Referenciando con el atributo id.
El atributo id es como un nombre que identifica al elemento. Esto significa que el valor de este
atributo no puede ser duplicado. Este nombre debe ser único en todo el documento.
Para referenciar un elemento en particular usando el atributo id desde nuestro archivo CSS la regla
debe ser declarada con el símbolo # al frente del valor se usa para identificar el elemento:
#mitexto1 { font-size: 30px }
Esta regla será aplicada al elemento HTML identificado con el atributo id=”mitexto1” . Ahora el
código HTML lucirá así:
<!DOCTYPE html>
<html lang="es">
<head>
10
<title>Este texto es el título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<p id=”mitexto1”>Mi texto</p>
</body>
</html>
El resultado de este procedimiento es que cada vez que hacemos una referencia usando el
identificador mitexto1 en el archivo CSS, el elemento con ese valor de id será modificado, pero el
resto de los elementos <p>, o cualquier otro elemento en el mismo documento, no serán afectados.
Estaesunaformaextremadamenteespecíficadereferenciarunelementoyesnormalmenteutilizada
para elementos más generales, como etiquetas estructurales. El atributo id y su especificidad es de
hecho más apropiado para referencias en Javascript.
Referenciando con el atributo class.
Para propósitos de estilos es mejor utilizar class . Este atributo es más flexible y puede ser asignado a
cada elemento HTML en el documento que comparte un diseño similar:
.mitexto1 { font-size: 30px }
Para trabajar con el atributo class, debe declararse la regla CSS con un punto antes del nombre. La
ventaja es que insertar el atributo class con el valor mitexto1 será suficiente para asignar estos estilos
a cualquier elemento que queramos:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Este texto es el título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<p class=”mitexto1”>Mi texto</p>
<p class=”mitexto1”>Mi texto</p>
<p>Mi texto</p>
</body>
</html>
11
Los elementos <p> en las primeras dos líneas dentro del cuerpo del código tienen el atributo class
con el valor mitexto1 . Como se dijo previamente, la misma regla puede ser aplicada a diferentes
elementos en el mismo documento.
Por lo tanto, estos dos primeros elementos comparten la misma regla y ambos serán afectados por
el estilo. El último elemento <p> conserva los estilos por defecto otorgados por el navegador.
La razón por la que debemos utilizar un punto delante del nombre de la regla es que es posible
construir referencias más complejas. Por ejemplo, se puede utilizar el mismo valor para el atributo
class en diferentes elementos pero asignar diferentes estilos para cada tipo:
p.mitexto1 { font-size: 30px }
Así, se crea una regla que referencia la clase llamada mitexto1 pero solo para los elementos de tipo
<p>. Si cualquier otro elemento tiene el mismo valor en su atributo class no será modificado por esta
regla en particular.
Referenciando con cualquier atributo.
A veces no son suficientes para encontrar el elemento exacto. La última versión de CSS ha
incorporado nuevas formas de referenciar elementos HTML. Uno de ellas es el Selector de Atributo.
Ahora podemos referenciar un elemento no solo por los atributos id y class sino también a través de
cualquier otro atributo:
p[name] { font-size: 30px }
La regla cambia solo elementos <p> que tienen un atributo llamado name . Para imitar lo que hicimos
previamente con los atributos id y class, podemos también especificar el valor del atributo:
p[name=”mitexto”] { font-size: 30px }
CSS3 permite combinar “ = ” con otros para hacer una selección más específica:
 p[name^=”mi”] { font-size: 20px }
 p[name$=”mi”] { font-size: 20px }
 p[name*=”mi”] { font-size: 20px }
En CSS3 estos selectores producen similares resultados:
 La regla con el selector ^= será asignada a todo elemento <p> que contiene un atributo name
con un valor comenzado en “ mi ” (por ejemplo, “ mitexto ”, “ micasa ”).
 La regla con el selector $= será asignada a todo elemento <p> que contiene un atributo name
con un valor finalizado en “ mi ” (por ejemplo “ textomi ”, “ casami ”).
12
 La regla con el selector *= será asignada a todo elemento <p> que contiene un atributo name
con un valor que incluye el texto “ mi ” (en este caso, el texto podría también encontrarse en
el medio, como en “ textomicasa ”).
En estos ejemplos se usa el elemento <p>, el atributo name, y una cadena de texto al azar como “mi”,
pero la misma técnica puede ser utilizada con cualquier atributo y valor que necesitemos. Solo tiene
que escribir los corchetes e insertar entre ellos el nombre del atributo y el valor que necesita para
referenciar el elemento HTML correcto.
Referenciando con pseudo clases.
CSS3 también incorpora nuevas pseudo clases que hacen la selección aún más específica.
<!DOCTYPE html>
<html lang="es">
<head>
<title>Este texto es el título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<div id="wrapper">
<p class="mitexto1">Mi texto1</p>
<p class="mitexto2">Mi texto2</p>
<p class="mitexto3">Mi texto3</p>
<p class="mitexto4">Mi texto4</p>
</div>
</body>
</html>
Aquí hay cuatro elementos <p> que, considerando la estructura HTML, son hermanos entre sí e hijos
del mismo elemento <div>. Usando pseudo clases puede aprovecharse esta organización y
referenciarse un elemento específico.
p:nth-child(2){background: #999999;}
La pseudo clase es agregada usando dos puntos luego de la referencia y antes del su nombre. En la
regla se referencian solo elementos <p> . Esta regla puede incluir otras referencias. Por ejemplo,
escribirla como .miclase:nth-child(2) para referenciar todo elemento que es hijo de otro elemento y
tiene el valor de su atributo class igual a miclase. La pseudo clase puede ser aplicada a cualquier tipo
de referencia estudiada previamente.
13
La pseudo clase nth-child() permite encontrar un hijo específico. Lo que esta pseudo clase está
realmente indicando es algo como: “el hijo en la posición...” por lo que el número entre paréntesis
será el número de la posición del hijo, o índice.
Por ejemplo, la siguiente regla tendrá impacto sólo sobre el último elemento <p>:
p:nth-child(4){background: #999999;}
Por tanto, es posible asignar estilos a todos los elementos creando una regla para cada uno de ellos:
*{margin: 0px;}
p:nth-child(1){background: #999999;}
p:nth-child(2){background: #CCCCCC;}
p:nth-child(3){background: #999999;}
p:nth-child(4){background: #CCCCCC;}
La primera regla usa el selector universal * para asignar el mismo estilo a cada elemento del
documento. Este selector representa cada uno de los elementos en el cuerpo del documento y es útil
cuando necesitamos establecer ciertas reglas básicas. En este caso, se configura el margen de todos
los elementos en 0 pixeles para evitar espacios en blanco o líneas vacías como las creadas por el
elemento <p> por defecto.
En el resto del código se usa la pseudo clase nth-child() para generar un menú o lista de opciones que
son diferenciadas claramente en la pantalla por el color de fondo.
Una alternativa para obtener el mismo resultado es aprovechar las palabras clave odd y even
disponibles para esta pseudo clase:
*{margin: 0px;}
p:nth-child( odd ){background: #999999;}
p:nth-child( even ){background: #CCCCCC;}
Si más adelante se agregan otras opciones, los estilos serán asignados automáticamente a cada una
de ellas de acuerdo con su posición. La palabra clave odd para la pseudo clase nth-child() afecta los
elementos <p> que son hijos de otro elemento y tienen un índice impar. La palabra clave even, por
otro lado, afecta a aquellos que tienen un índice par.
Otras importantes pseudo clases relacionadas con esta última son first-child , last-child y only-child.
La pseudo clase first-child referencia solo el primer hijo, last-child referencia solo el último hijo, y
only-child afecta un elemento siempre y cuando sea el único hijo disponible. Estas pseudo clases en
14
particular no requieren palabras clave o parámetros, y son implementadas como en el siguiente
ejemplo:
*{margin: 0px;}
p:last-child{background: #999999;}
Otra importante pseudo clase llamada not() es utilizada realizar una negación:
:not(p){margin: 0px;}
Esta última regla asignará un margen de 0 pixeles a cada elemento del documento excepto los
elementos <p>. A diferencia del selector universal utilizado previamente, la pseudo clase not() nos
permite declarar una excepción.
Los estilosen la regla creada con esta pseudo clase serán asignadosa todoelemento excepto aquellos
incluidos en la referencia entre paréntesis. En lugar de la palabra clave de un elemento podemos usar
cualquier otra referencia que deseemos.
:not(.mitexto2){margin: 0px;}
En este otro ejemplo, todos los elementos serán afectados excepto aquellos con el valor mitexto2 en
el atributo class.
Nuevos selectores
Algunos otros selectores que pueden ser útiles para nuestros diseños usan los símbolos > , + y ~ para
especificar la relación entre elementos.
div > p.mitexto2{color: #990000;}
El selector > está indicando que el elemento a ser afectado por la regla es el elemento de la derecha
cuando tiene al de la izquierda como su padre. La regla modifica los elementos <p> que son hijos de
un elemento <div>. En este caso, específicamente se referencia solamente el elemento <p> con el
valor mitexto2 en su atributo class.
Un selector utilizando el símbolo + .
Este selector referencia al elemento de la derecha cuando es inmediatamente precedido por el de la
izquierda. Ambos elementos deben compartir el mismo padre:
p.mitexto2 + p{color: #990000;}
15
Esta regla afectaría al elemento <p> que se encuentra ubicado luego de otro elemento <p>
identificado con el valor mitexto2 en su atributo class. El texto en el tercer elemento <p> aparecerá
en la pantalla en color rojo debido a que este elemento <p> en particular está posicionado
inmediatamente después del elemento <p> identificado con el valor mitexto2 en su atributo class.
El selector construido con el símbolo ~ .
Este selector es similar al anterior pero el elemento afectado no necesita estar precediendo de
inmediato al elemento de la izquierda. Además, más de un elemento puede ser afectado:
p.mitexto2 ~ p{color: #990000;}
La regla anterior afectaria al tercer y cuarto elemento <p> de nuestro ejemplo. El estilo será aplicado
a todos los elementos <p> que son hermanos y se encuentran luego del elemento <p> identificado
con el valor mitexto2 en su atributo class. No importa si otros elementos se encuentran intercalados,
los elementos <p> en la tercera y cuarta posición aún serán afectados.
Puede verificar esto último insertando un elemento <span>mitexto</span> luego del elemento <p>
que tiene el valor mitexto2 en su atributo class. A pesar de este cambio solo los elementos <p> serán
modificados por esta regla.
16
Modelo de caja tradicional.
En “...el principio todo era con tablas.” Fueron los elementos que naturalmente se volvieron la
herramienta ideal utilizada por desarrolladores para crear y organizar cajas de contenido en la
pantalla.
“Las cajas” eran creadas expandiendo celdas y combinando filas de celdas, columnas de celdas y
tablas enteras, unas sobre otras o incluso anidadas.
Cuando los sitios webs crecieron, “evolucionaron” y se volvieron más y más complejos, comenzaron
a presentar serios problemas relacionados con el tamaño y el mantenimiento del código necesario
para crearlos.
Se hizo necesario lo que ahora es natural: la división entre estructura y presentación. Usando
etiquetas <div> y estilos CSS fue posible reemplazar la función de tablas y efectivamente separar la
estructura HTML de la presentación.
Con elementos <div> y CSS podemos crear cajas en la pantalla, posicionar estas cajas a un lado o a
otro y darles un tamaño, color o borde específico entre otras características. CSS provee propiedades
específicas que nos permiten organizar las cajas acorde a nuestros deseos. Estas propiedades son lo
suficientemente poderosas como para crear un modelo de caja que se transformó en lo que hoy
conocemos como.
Modelo de Caja Tradicional.
Algunas deficiencias en este modelo mantuvieron a las tablas vivas por algún tiempo, pero los
principales desarrolladores, influenciados por el suceso de las implementaciones Ajax y una cantidad
de aplicaciones interactivas, gradualmente volvieron a las etiquetas <div> y estilos CSS en un
estándar.
Finalmente el Modelo de Caja Tradicional fue adoptado a gran escala.
17
Practicando CSS 3. #1.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="iso-8859-1">
<meta name="description" content="HTML5 con CSS3">
<meta name="keywords" content="HTML5, CSS3">
<title>Este texto es el título del documento</title>
<link rel="stylesheet" href="misestilos.css">
</head>
<body>
<div id="agrupar">
<header id="cabecera">
<h1>Este es el título principal del sitio web</h1>
</header>
<nav id="menu">
<ul>
<li>principal</li>
<li>fotos</li>
<li>videos</li>
<li>contacto</li>
</ul>
</nav>
<section id="seccion">
<article>
<header>
<hgroup>
<h1>Título del mensaje uno</h1>
<h2>Subtítulo del mensaje uno</h2>
</hgroup>
<time datetime="2018-12-10" pubdate>publicado 10-12-2018
</time>
</header>
Este es el texto de mi primer mensaje
<figure>
18
<img src="http://minkbooks.com/content/myimage.jpg">
<figcaption>
Esta es la imagen del primer mensaje
</figcaption>
</figure>
<footer>
<p>comentarios (0)</p>
</footer>
</article>
<article>
<header>
<hgroup>
<h1>Título del mensaje dos</h1>
<h2>Subtítulo del mensaje dos</h2>
</hgroup>
<time datetime="2018-12-15" pubdate>publicado 15-12-2018
</time>
</header>
Este es el texto de mi segundo mensaje
<footer>
<p>comentarios (0)</p>
</footer>
</article>
</section>
<aside id="columna">
<blockquote>Mensaje número uno</blockquote>
<blockquote>Mensaje número dos</blockquote>
</aside>
<footer id="pie">
Derechos Reservados &copy; 1901-2018
</footer>
</div>
</body>
</html>
Archivo CSS 3.
19
* {margin: 0px; padding: 0px;}
h1 {font: bold 20px verdana, sans-serif;}
h2 {font: bold 14px verdana, sans-serif;}
header, section, footer, aside, nav, article, figure, figcaption, hgroup
{display:block;}
body {text-align: center;}
#agrupar {width: 960px;margin: 15px auto;text-align: left;}
#cabecera {background: #FFFBB9;border: 1px solid #999999;padding: 20px;}
#menu {background: #CCCCCC;padding: 5px 15px;}
#menu li
{display: inline-block;list-style: none;padding: 5px;
font: bold 14px verdana, sans-serif;}
#seccion {float: left;width: 660px;margin: 20px;}
#columna {float: left;width: 220px;margin: 20px 0px;padding: 20px;background: #CCCCCC;}
#pie
{clear: both;text-align: center;padding: 20px;border-top: 2px solid #999999;}
article
{background: #FFFBCC;border: 1px solid #999999;
padding: 20px;margin-bottom: 15px;}
article footer {text-align: right;}
time {color: #999999;}
figcaption {font: italic 14px verdana, sans-serif;}

Weitere ähnliche Inhalte

Was ist angesagt?

Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresDaniel Huerta Cruz
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y NodosBoris Salleg
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansDaniel Gómez
 
UNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busquedaUNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busquedaMaiky Kobatakane
 
Ejercicios Resueltos de Diagrama de flujo
Ejercicios Resueltos de Diagrama de flujo Ejercicios Resueltos de Diagrama de flujo
Ejercicios Resueltos de Diagrama de flujo jorgeluisrivillas
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion BusquedaAngie Suarez
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
Ordenamiento con árbol binario
Ordenamiento con árbol binarioOrdenamiento con árbol binario
Ordenamiento con árbol binarioMauricio Solano
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchJair Ospino Ardila
 
Insertar imágenes y color de fondo en html
Insertar imágenes y color de fondo en htmlInsertar imágenes y color de fondo en html
Insertar imágenes y color de fondo en htmlInmaculada Concepción
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Comparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosComparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosVictor Zevallos
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 

Was ist angesagt? (20)

Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Metodo de busqueda secuencial
Metodo de busqueda secuencialMetodo de busqueda secuencial
Metodo de busqueda secuencial
 
conceptos de Punteros y Nodos
conceptos de Punteros y Nodosconceptos de Punteros y Nodos
conceptos de Punteros y Nodos
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
UNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busquedaUNIDAD IV - Mapa conceptual metodos de busqueda
UNIDAD IV - Mapa conceptual metodos de busqueda
 
Ejercicios Resueltos de Diagrama de flujo
Ejercicios Resueltos de Diagrama de flujo Ejercicios Resueltos de Diagrama de flujo
Ejercicios Resueltos de Diagrama de flujo
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion Busqueda
 
ARBOLES BINARIOS
ARBOLES BINARIOSARBOLES BINARIOS
ARBOLES BINARIOS
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Ordenamiento con árbol binario
Ordenamiento con árbol binarioOrdenamiento con árbol binario
Ordenamiento con árbol binario
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
Insertar imágenes y color de fondo en html
Insertar imágenes y color de fondo en htmlInsertar imágenes y color de fondo en html
Insertar imágenes y color de fondo en html
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Comparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosComparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de Datos
 
Windows.forms.ejercicios
Windows.forms.ejerciciosWindows.forms.ejercicios
Windows.forms.ejercicios
 
Teoría de señales
Teoría de señalesTeoría de señales
Teoría de señales
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 

Ähnlich wie Hojas de Estilo en Cascada - CSS

06_Nuevas reglas.pptx
06_Nuevas reglas.pptx06_Nuevas reglas.pptx
06_Nuevas reglas.pptxyendrao
 
Presentacióin tema 6
Presentacióin tema 6Presentacióin tema 6
Presentacióin tema 6Diana Mabel
 
MúLtiples ImáGenes De Fondo Con Css
MúLtiples ImáGenes De Fondo Con CssMúLtiples ImáGenes De Fondo Con Css
MúLtiples ImáGenes De Fondo Con CssJuan Christian
 
Diseño de Paginas Web modelo de caja y contenedores caja
Diseño de Paginas Web modelo de caja y contenedores cajaDiseño de Paginas Web modelo de caja y contenedores caja
Diseño de Paginas Web modelo de caja y contenedores cajaWilherQuintero
 
Presentación Seminario Cleformación HTML5, El lenguaje del futuro
Presentación Seminario Cleformación HTML5, El lenguaje del futuroPresentación Seminario Cleformación HTML5, El lenguaje del futuro
Presentación Seminario Cleformación HTML5, El lenguaje del futuroCLEFormación
 
Manual css
Manual cssManual css
Manual cssJennifer
 
Dreamweaver cs5 naty
Dreamweaver cs5 natyDreamweaver cs5 naty
Dreamweaver cs5 natynataliareniz
 
04_Estilos CSS y modelos de caja.pptx
04_Estilos CSS y modelos de caja.pptx04_Estilos CSS y modelos de caja.pptx
04_Estilos CSS y modelos de caja.pptxyendrao
 
Introduccion historia css
Introduccion historia cssIntroduccion historia css
Introduccion historia cssJohn Orellana
 
DEBER HOJA DE ESTILO (CSS) blog blogger blogspot
DEBER HOJA DE ESTILO (CSS) blog blogger blogspotDEBER HOJA DE ESTILO (CSS) blog blogger blogspot
DEBER HOJA DE ESTILO (CSS) blog blogger blogspotLISSYCE
 

Ähnlich wie Hojas de Estilo en Cascada - CSS (20)

Manual de css3
Manual de css3Manual de css3
Manual de css3
 
Manual css3 nov2014
Manual css3 nov2014Manual css3 nov2014
Manual css3 nov2014
 
06_Nuevas reglas.pptx
06_Nuevas reglas.pptx06_Nuevas reglas.pptx
06_Nuevas reglas.pptx
 
Presentacióin tema 6
Presentacióin tema 6Presentacióin tema 6
Presentacióin tema 6
 
MúLtiples ImáGenes De Fondo Con Css
MúLtiples ImáGenes De Fondo Con CssMúLtiples ImáGenes De Fondo Con Css
MúLtiples ImáGenes De Fondo Con Css
 
19 tips para css
19 tips para css19 tips para css
19 tips para css
 
Diseño de Paginas Web modelo de caja y contenedores caja
Diseño de Paginas Web modelo de caja y contenedores cajaDiseño de Paginas Web modelo de caja y contenedores caja
Diseño de Paginas Web modelo de caja y contenedores caja
 
CSS
CSSCSS
CSS
 
Presentación Seminario Cleformación HTML5, El lenguaje del futuro
Presentación Seminario Cleformación HTML5, El lenguaje del futuroPresentación Seminario Cleformación HTML5, El lenguaje del futuro
Presentación Seminario Cleformación HTML5, El lenguaje del futuro
 
Manual css
Manual cssManual css
Manual css
 
Dreamweaver cs5 naty
Dreamweaver cs5 natyDreamweaver cs5 naty
Dreamweaver cs5 naty
 
Presentación CSS y HTML en Gummurcia
Presentación CSS y HTML en GummurciaPresentación CSS y HTML en Gummurcia
Presentación CSS y HTML en Gummurcia
 
CSS estilos.pptx
CSS estilos.pptxCSS estilos.pptx
CSS estilos.pptx
 
04_Estilos CSS y modelos de caja.pptx
04_Estilos CSS y modelos de caja.pptx04_Estilos CSS y modelos de caja.pptx
04_Estilos CSS y modelos de caja.pptx
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Introduccion historia css
Introduccion historia cssIntroduccion historia css
Introduccion historia css
 
DEBER HOJA DE ESTILO (CSS) blog blogger blogspot
DEBER HOJA DE ESTILO (CSS) blog blogger blogspotDEBER HOJA DE ESTILO (CSS) blog blogger blogspot
DEBER HOJA DE ESTILO (CSS) blog blogger blogspot
 
CSS3
CSS3CSS3
CSS3
 
Manual css-hojas-estilo
Manual css-hojas-estiloManual css-hojas-estilo
Manual css-hojas-estilo
 
Hojas de estilo css
Hojas de estilo cssHojas de estilo css
Hojas de estilo css
 

Mehr von Facultad de Ciencias y Sistemas

Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 

Mehr von Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Kürzlich hochgeladen

Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 

Kürzlich hochgeladen (20)

Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 

Hojas de Estilo en Cascada - CSS

  • 2. 1 CSS 3.  Nuevas posibilidades de decoración.  Menos markup.  Menos dependencia de Javascript.  Mayor control. Introducción. Este lenguaje es, de hecho, un complemento desarrollado para superar las limitaciones y reducir la complejidad de HTML. Al comienzo, atributos dentro de las etiquetas HTML proveían estilos esenciales para cada elemento, pero a medida que el lenguaje evolucionó, la escritura de códigos se volvió más compleja y HTML por sí mismo no pudo más satisfacer las demandas de diseñadores. CSS es un lenguaje para definir el estilo o la apariencia de las páginas web, escritas con HTML o de los documentos XML. CSS se creó para separar el contenido de la forma, a la vez que permite a los diseñadores mantener un control mucho más preciso sobre la apariencia de las páginas. CSS es un lenguaje que trabaja junto con HTML para proveer estilos visuales a los elementos del documento, como tamaño, color, fondo, bordes, etc. En consecuencia, CSS pronto fue adoptado como la forma de separar la estructura de la presentación. Desde entonces, CSS ha crecido y ganado importancia, pero siempre desarrollado en paralelo, enfocado en las necesidades de los diseñadores y apartado del proceso de evolución de HTML. HTML5 fue desarrollado considerando CSS a cargo del diseño. Debido a esta consideración, la integración entre HTML y CSS es ahora vital para el desarrollo web y esta es la razón por la que cada vez que mencionamos HTML5 también estamos haciendo referencia a CSS3, aunque oficialmente se trate de dos tecnologías completamente separadas. La especificación de CSS3 viene con interesantes novedades que permitirán hacer webs más elaboradas y más dinámicas, con mayor separación entre estilos y contenidos. Dará soporte a muchas necesidades de las webs actuales, sin tener que recurrir a trucos de diseñadores o lenguajes de programación. El objetivo inicial de CSS, separar el contenido de la forma, se cumplió ya con las primeras especificaciones del lenguaje. Sin embargo, el objetivo de ofrecer un control total a los diseñadores sobre los elementos de la página ha sido más difícil de cubrir. Las especificaciones anteriores del lenguaje tenían muchas utilidades para aplicar estilos a las webs, pero los desarrolladores aún continúan usando trucos diversos
  • 3. 2 para conseguir efectos tan comunes o tan deseados como los bordes redondeados o el sombreado de elementos en la página. CSS 1 ya significó un avance considerable a la hora de diseñar páginas web, aportando mucho mayor control de los elementos de la página. Pero como todavía quedaron muchas otras cosas que los diseñadores deseaban hacer, pero que CSS no permitía especificar, éstos debían hacer uso de trucos para el diseño. Lo peor de esos trucos es que muchas veces implica alterar el contenido de la página para incorporar nuevas etiquetas HTML que permitan aplicar estilos de una manera más elaborada. Dada la necesidad de cambiar el contenido, para alterar al diseño y hacer cosas que CSS no permitía, se estaban eliminando los objetivos para los que CSS fue creado, que era separar por completo el contenido de la forma. CSS 2 incorporó algunas novedades interesantes, que hoy ya utilizamos habitualmente, pero CSS 3 todavía avanza un poco más en la dirección, de aportar más control sobre los elementos de la página. Así pues, la novedad más importante que aporta CSS 3, de cara a los desarrolladores de webs, consiste en la incorporación de nuevos mecanismos para mantener un mayor control sobre el estilo con el que se muestran los elementos de las páginas, sin tener que recurrir a trucos o hacks, que a menudo complicaban el código de las web. Novedades en CSS 3. 1. Bordes 1.1. border-color 1.2. border-image 1.3. border-radius 1.4. box-shadow 2. Fondos 2.1. background-origin 2.2. background-clip 2.3. background-size 2.4. hacer capas con múltiples imágenes de fondo 3. Color 3.1. Colores hsl 3.2. Colores hsla 3.3. Colores rgba 3.4. Opacidad 4. Texto 4.1. text-shadow 4.2. text-overflow 4.3. Rotura de palabras largas
  • 4. 3 5. interfaz 5.1. box-sizing 5.2. resize 5.3. outline 5.4. nav-top, nav-right, nav-bottom, nav-left 6. Selectores 6.1. Selectores por atributos 7. Modelo de caja básico 7.1. overflow-x, overflow-y 8. Otros 8.1. Media queries 8.2. Creación de múltiples columnas de texto 8.3. Propiedades orientadas a discurso o lectura automática de páginas web 9. Web Fonts Selectores. Selectores en CSS1  de elemento: h1 { color: red; }  de clase: h1.alert { color: red; }  de ID: #alert { color: red; }  descendientes y contextuales: h1 em { color: red; }  pseudo-clases: a:link, a:visited, a:active, :first-line, :first-letter  comodín: div * p Selectores en CSS2  selector universal (*): blockquote * { ... }  de atributo: a[href="http://www.google.com/"] { ... }  más pseudo-clases: :first-child, :hover, :focus, :active, :lang, :before, :after  de hijos: div > p { ... }  de hermanos: h1 + h2 { ... } Selectores en CSS1 y CSS2  body > ol > li p Selecciona cualquier elemento p que es descendiente de un elemento li que es hijo de un elemento ol que es hijo de un elemento body.  p > * > em Selecciona cualquier elemento em que es hijo de cualquier elemento que es hijo de un elemento p.  a[title~="Mail"] - Selecciona cualquier elemento a con un atributo title que contiene la palabra Mail.
  • 5. 4 Selectores en CSS3  nuevos selectores de atributo: o comienzo del atributo o a[href^="ftp:"] { ... } o final del atributo o a[href$=".edu"] { ... } o cualquier cadena contenido o img[src*="photos"] { ... }  nuevas pseudo-clases: o :enabled, :disabled, :checked Permiten cambiar la apariencia de los inputs de formulario, según su estado. No soportadas en IE7 ni en IE8 Algunos módulos de CSS3  Colores o Hexadecimal - #RRGGBB o Hexadecimal, shorthand - #RGB o RGB- rgb(red, green, blue) o Nombres de colores - white, red, black, etc. o HLS - hsl(hue, saturation, lightness) o CMYK - cmyk(cyan, magenta, yellow, black) o HLSA - hlsa(hue, saturation, lightness, alpha)  #foo {Background: hsla(324, 100%, 75%, .5);}  #foo {Background: hsla(324, 100%, 25%, .2);} o RGBA - rgba(red, green, blue, alpha)  #foo {Background: rgba(0, 0, 0, .5);}  #foo {Background: rgba(255, 0, 0, .7);} El canal alpha define la transparencia del color, va de 0 (totalmente transparente) a 1 (totalmente opaco.) La adición del canal alpha ofrece muchas nuevas posibilidades a los diseñadores visuales.  Modelo de caja o IE box model o W3C box model o Nueva propiedad: box-sizing: content-box / border-box  Fondos y bordes o Degradados  background: -webkit-gradient(linear, 0 0, 100% 100%, from(#d0d0d0), to(#ffffff));  background: -moz-linear-gradient(20% center, 30% center,from(blue), to (yellow)) no-repeat; o Bordes redondeados  -moz-border-radius-topleft / -webkit-border-top-left-radius
  • 6. 5  -moz-border-radius-topright / -webkit-border-top-right-radius  -moz-border-radius-bottomleft / -webkit-border-bottom-left-radius  -moz-border-radius-bottomright / -webkit-border-bottom-right- radius  #foo { border-radius: 10px;}  #foo { border-radius: 50px 0 50px 0;} o Sombras  box-shadow: 10px 10px 5px #888;  #foo { box-shadow: 5px 5px 10px black;}  #foo { box-shadow: inset 3px 3px 5px black;} o Imágenes de borde  border-image:  border-corner-image: o Imágenes de fondo  Tamaño  -o-background-size, -webkit-background-size, -khtml- background-size, -moz-background-size  Múltiples imágenes de fondo  background: url(img1.gif) top left no-repeat, url(img2.gif) bottom left no-repeat;  html {background: url(img/arena.png) no-repeat 70% 20%, url(img/wall.png) repeat left top;}  Tipografía y efectos de texto o Sombras en texto  h1 {text-shadow: 3px 3px 5px black;}  h1 {text-shadow: 5px 5px 0px blue;} o Uso de tipografías (@font-face)  @font-face {font-family: 'lobster';src: url('lobster.ttf') format('truetype'); font-weight: normal;font-style: normal; }  Google Font Directory http://code.google.com/webfonts  Fontsquirrel http://www.fontsquirrel.com/  Typekit http://typekit.com/  Layout multicolumna o Número de columnas o Separación entre columnas o Bordes separadores -moz-column-count -moz-column-width
  • 7. 6 -moz-column-gap -webkit-column-count -webkit-column-width -webkit-column-gap  Transformaciones. o #foo { transform: rotate(45deg);} o #foo { transform: scale(0.5);} o #foo { transform: skew(45deg);} o #foo { transform: translate (20px,-20px);}  Formas o #oval {width: 200px; height: 100px; background: purple; -moz-border-radius: 100px / 50px; -webkit-border-radius: 100px / 50px; border-radius: 100px / 50px;} o #left-triangle {width: 0; height: 0; border-right: 100px solid orange; border-top: 50px solid transparent; border-bottom: 50px solid transparent;}  Animaciones y transiciones
  • 8. 7 Elementos block. Con respecto a la estructura, básicamente cada navegador ordena los elementos por defecto de acuerdo con su tipo: block (bloque) o inline (en línea). Esta clasificación está asociada con la forma en que los elementos son mostrados en pantalla.  Elementos block son posicionados uno sobre otro hacia abajo en la página.  Elementos inline son posicionados lado a lado, uno al lado del otro en la misma línea, sin ningún salto de línea a menos que ya no haya más espacio horizontal para ubicarlos. Casi todos los elementos estructurales del HTML serán tratados por los navegadores como elementos block por defecto. Esto significa que cada elemento HTML que representa una parte de la organización visual (por ejemplo, <section>, <nav>, <header>, <footer>, <div>) será posicionado debajo del anterior. Modelos de caja. Para crear la organización de los elementos en pantalla, debe primero comprender cómo los navegadores procesan el código HTML. Los navegadores consideran cada elemento HTML como una caja. Una página web es en realidad un grupo de cajas ordenadas siguiendo ciertas reglas establecidas por estilos provistos por los navegadores o por los diseñadores usando CSS. CSS tiene un set predeterminado de propiedades destinados a sobrescribir los estilos provistos por navegadores y obtener la organización deseada. Estas propiedades no son específicas, tienen que ser combinadas para formar reglas que luego serán usadas para agrupar cajas y obtener la correcta disposición en pantalla. La combinación de estas reglas es normalmente llamada modelo o sistema de disposición. Todas estas reglas aplicadas juntas constituyen lo que se llama un modelo de caja. Existe solo un modelo de caja que es considerado estándar estos días, y muchos otros que aún se encuentran en estado experimental. El modelo válido y ampliamente adoptado es el llamado Modelo de Caja Tradicional, el cual ha sido usado desde la primera versión de CSS.
  • 9. 8 Aunque este modelo ha probado ser efectivo, algunos modelos experimentales intentan superar sus deficiencias, pero la falta de consenso sobre el reemplazo más adecuado aún mantiene a este viejo modelo en vigencia y la mayoría de los sitios webs programados en HTML5 lo continúan utilizando. Aplicar estilos a los elementos HTML cambia la forma en que estos son presentados en pantalla. Los navegadores proveen estilos por defecto que en la mayoría de los casos no son suficientes para satisfacer las necesidades de los diseñadores. Para cambiar esto, podemos sobrescribir estos estilos con los nuestros usando diferentes técnicas. Estilos desde archivos externos. Este método permite cambiar los estilos por completo simplemente incluyendo un archivo diferente. También permite modificar o adaptar nuestros documentos a cada circunstancia o dispositivo. Utilizando la línea <link rel=”stylesheet” href=”misestilos.css”> se le indica al navegador que cargue el archivo misestilos.css porque contiene todos los estilos necesarios para presentar el documento en pantalla. La etiqueta <link> referenciando el archivo CSS será insertada en cada uno de los documentos que requieren de esos estilos: <!DOCTYPE html> <html lang="es"> <head> <title>Título del documento</title> <link rel="stylesheet" href="misestilos.css"> </head> <body> <p>Mi texto</p> </body> </html>
  • 10. 9 Existen varios métodos para seleccionar cuáles elementos HTML serán afectados por las reglas CSS:  Referencia por la palabra clave del elemento.  Referencia por el atributo id.  Referencia por el atributo class. Referenciando con palabra clave. Al declarar las reglas CSS utilizando la palabra clave del elemento afectamos cada elemento de la misma clase en el documento. Por ejemplo, la siguiente regla cambiará los estilos de todos los elementos <p>: p { font-size: 80px } Utilizando la palabra clave p al frente de la regla estamos diciendo al navegador que esta regla debe ser aplicada a cada elemento <p> encontrado en el documento HTML. Todos los textos envueltos en etiquetas <p> tendrán el tamaño 80 px. Para seleccionar un elemento HTML específico desde las reglas de nuestro archivo CSS, podemos usar dos atributos diferentes: id y class. Referenciando con el atributo id. El atributo id es como un nombre que identifica al elemento. Esto significa que el valor de este atributo no puede ser duplicado. Este nombre debe ser único en todo el documento. Para referenciar un elemento en particular usando el atributo id desde nuestro archivo CSS la regla debe ser declarada con el símbolo # al frente del valor se usa para identificar el elemento: #mitexto1 { font-size: 30px } Esta regla será aplicada al elemento HTML identificado con el atributo id=”mitexto1” . Ahora el código HTML lucirá así: <!DOCTYPE html> <html lang="es"> <head>
  • 11. 10 <title>Este texto es el título del documento</title> <link rel="stylesheet" href="misestilos.css"> </head> <body> <p id=”mitexto1”>Mi texto</p> </body> </html> El resultado de este procedimiento es que cada vez que hacemos una referencia usando el identificador mitexto1 en el archivo CSS, el elemento con ese valor de id será modificado, pero el resto de los elementos <p>, o cualquier otro elemento en el mismo documento, no serán afectados. Estaesunaformaextremadamenteespecíficadereferenciarunelementoyesnormalmenteutilizada para elementos más generales, como etiquetas estructurales. El atributo id y su especificidad es de hecho más apropiado para referencias en Javascript. Referenciando con el atributo class. Para propósitos de estilos es mejor utilizar class . Este atributo es más flexible y puede ser asignado a cada elemento HTML en el documento que comparte un diseño similar: .mitexto1 { font-size: 30px } Para trabajar con el atributo class, debe declararse la regla CSS con un punto antes del nombre. La ventaja es que insertar el atributo class con el valor mitexto1 será suficiente para asignar estos estilos a cualquier elemento que queramos: <!DOCTYPE html> <html lang="es"> <head> <title>Este texto es el título del documento</title> <link rel="stylesheet" href="misestilos.css"> </head> <body> <p class=”mitexto1”>Mi texto</p> <p class=”mitexto1”>Mi texto</p> <p>Mi texto</p> </body> </html>
  • 12. 11 Los elementos <p> en las primeras dos líneas dentro del cuerpo del código tienen el atributo class con el valor mitexto1 . Como se dijo previamente, la misma regla puede ser aplicada a diferentes elementos en el mismo documento. Por lo tanto, estos dos primeros elementos comparten la misma regla y ambos serán afectados por el estilo. El último elemento <p> conserva los estilos por defecto otorgados por el navegador. La razón por la que debemos utilizar un punto delante del nombre de la regla es que es posible construir referencias más complejas. Por ejemplo, se puede utilizar el mismo valor para el atributo class en diferentes elementos pero asignar diferentes estilos para cada tipo: p.mitexto1 { font-size: 30px } Así, se crea una regla que referencia la clase llamada mitexto1 pero solo para los elementos de tipo <p>. Si cualquier otro elemento tiene el mismo valor en su atributo class no será modificado por esta regla en particular. Referenciando con cualquier atributo. A veces no son suficientes para encontrar el elemento exacto. La última versión de CSS ha incorporado nuevas formas de referenciar elementos HTML. Uno de ellas es el Selector de Atributo. Ahora podemos referenciar un elemento no solo por los atributos id y class sino también a través de cualquier otro atributo: p[name] { font-size: 30px } La regla cambia solo elementos <p> que tienen un atributo llamado name . Para imitar lo que hicimos previamente con los atributos id y class, podemos también especificar el valor del atributo: p[name=”mitexto”] { font-size: 30px } CSS3 permite combinar “ = ” con otros para hacer una selección más específica:  p[name^=”mi”] { font-size: 20px }  p[name$=”mi”] { font-size: 20px }  p[name*=”mi”] { font-size: 20px } En CSS3 estos selectores producen similares resultados:  La regla con el selector ^= será asignada a todo elemento <p> que contiene un atributo name con un valor comenzado en “ mi ” (por ejemplo, “ mitexto ”, “ micasa ”).  La regla con el selector $= será asignada a todo elemento <p> que contiene un atributo name con un valor finalizado en “ mi ” (por ejemplo “ textomi ”, “ casami ”).
  • 13. 12  La regla con el selector *= será asignada a todo elemento <p> que contiene un atributo name con un valor que incluye el texto “ mi ” (en este caso, el texto podría también encontrarse en el medio, como en “ textomicasa ”). En estos ejemplos se usa el elemento <p>, el atributo name, y una cadena de texto al azar como “mi”, pero la misma técnica puede ser utilizada con cualquier atributo y valor que necesitemos. Solo tiene que escribir los corchetes e insertar entre ellos el nombre del atributo y el valor que necesita para referenciar el elemento HTML correcto. Referenciando con pseudo clases. CSS3 también incorpora nuevas pseudo clases que hacen la selección aún más específica. <!DOCTYPE html> <html lang="es"> <head> <title>Este texto es el título del documento</title> <link rel="stylesheet" href="misestilos.css"> </head> <body> <div id="wrapper"> <p class="mitexto1">Mi texto1</p> <p class="mitexto2">Mi texto2</p> <p class="mitexto3">Mi texto3</p> <p class="mitexto4">Mi texto4</p> </div> </body> </html> Aquí hay cuatro elementos <p> que, considerando la estructura HTML, son hermanos entre sí e hijos del mismo elemento <div>. Usando pseudo clases puede aprovecharse esta organización y referenciarse un elemento específico. p:nth-child(2){background: #999999;} La pseudo clase es agregada usando dos puntos luego de la referencia y antes del su nombre. En la regla se referencian solo elementos <p> . Esta regla puede incluir otras referencias. Por ejemplo, escribirla como .miclase:nth-child(2) para referenciar todo elemento que es hijo de otro elemento y tiene el valor de su atributo class igual a miclase. La pseudo clase puede ser aplicada a cualquier tipo de referencia estudiada previamente.
  • 14. 13 La pseudo clase nth-child() permite encontrar un hijo específico. Lo que esta pseudo clase está realmente indicando es algo como: “el hijo en la posición...” por lo que el número entre paréntesis será el número de la posición del hijo, o índice. Por ejemplo, la siguiente regla tendrá impacto sólo sobre el último elemento <p>: p:nth-child(4){background: #999999;} Por tanto, es posible asignar estilos a todos los elementos creando una regla para cada uno de ellos: *{margin: 0px;} p:nth-child(1){background: #999999;} p:nth-child(2){background: #CCCCCC;} p:nth-child(3){background: #999999;} p:nth-child(4){background: #CCCCCC;} La primera regla usa el selector universal * para asignar el mismo estilo a cada elemento del documento. Este selector representa cada uno de los elementos en el cuerpo del documento y es útil cuando necesitamos establecer ciertas reglas básicas. En este caso, se configura el margen de todos los elementos en 0 pixeles para evitar espacios en blanco o líneas vacías como las creadas por el elemento <p> por defecto. En el resto del código se usa la pseudo clase nth-child() para generar un menú o lista de opciones que son diferenciadas claramente en la pantalla por el color de fondo. Una alternativa para obtener el mismo resultado es aprovechar las palabras clave odd y even disponibles para esta pseudo clase: *{margin: 0px;} p:nth-child( odd ){background: #999999;} p:nth-child( even ){background: #CCCCCC;} Si más adelante se agregan otras opciones, los estilos serán asignados automáticamente a cada una de ellas de acuerdo con su posición. La palabra clave odd para la pseudo clase nth-child() afecta los elementos <p> que son hijos de otro elemento y tienen un índice impar. La palabra clave even, por otro lado, afecta a aquellos que tienen un índice par. Otras importantes pseudo clases relacionadas con esta última son first-child , last-child y only-child. La pseudo clase first-child referencia solo el primer hijo, last-child referencia solo el último hijo, y only-child afecta un elemento siempre y cuando sea el único hijo disponible. Estas pseudo clases en
  • 15. 14 particular no requieren palabras clave o parámetros, y son implementadas como en el siguiente ejemplo: *{margin: 0px;} p:last-child{background: #999999;} Otra importante pseudo clase llamada not() es utilizada realizar una negación: :not(p){margin: 0px;} Esta última regla asignará un margen de 0 pixeles a cada elemento del documento excepto los elementos <p>. A diferencia del selector universal utilizado previamente, la pseudo clase not() nos permite declarar una excepción. Los estilosen la regla creada con esta pseudo clase serán asignadosa todoelemento excepto aquellos incluidos en la referencia entre paréntesis. En lugar de la palabra clave de un elemento podemos usar cualquier otra referencia que deseemos. :not(.mitexto2){margin: 0px;} En este otro ejemplo, todos los elementos serán afectados excepto aquellos con el valor mitexto2 en el atributo class. Nuevos selectores Algunos otros selectores que pueden ser útiles para nuestros diseños usan los símbolos > , + y ~ para especificar la relación entre elementos. div > p.mitexto2{color: #990000;} El selector > está indicando que el elemento a ser afectado por la regla es el elemento de la derecha cuando tiene al de la izquierda como su padre. La regla modifica los elementos <p> que son hijos de un elemento <div>. En este caso, específicamente se referencia solamente el elemento <p> con el valor mitexto2 en su atributo class. Un selector utilizando el símbolo + . Este selector referencia al elemento de la derecha cuando es inmediatamente precedido por el de la izquierda. Ambos elementos deben compartir el mismo padre: p.mitexto2 + p{color: #990000;}
  • 16. 15 Esta regla afectaría al elemento <p> que se encuentra ubicado luego de otro elemento <p> identificado con el valor mitexto2 en su atributo class. El texto en el tercer elemento <p> aparecerá en la pantalla en color rojo debido a que este elemento <p> en particular está posicionado inmediatamente después del elemento <p> identificado con el valor mitexto2 en su atributo class. El selector construido con el símbolo ~ . Este selector es similar al anterior pero el elemento afectado no necesita estar precediendo de inmediato al elemento de la izquierda. Además, más de un elemento puede ser afectado: p.mitexto2 ~ p{color: #990000;} La regla anterior afectaria al tercer y cuarto elemento <p> de nuestro ejemplo. El estilo será aplicado a todos los elementos <p> que son hermanos y se encuentran luego del elemento <p> identificado con el valor mitexto2 en su atributo class. No importa si otros elementos se encuentran intercalados, los elementos <p> en la tercera y cuarta posición aún serán afectados. Puede verificar esto último insertando un elemento <span>mitexto</span> luego del elemento <p> que tiene el valor mitexto2 en su atributo class. A pesar de este cambio solo los elementos <p> serán modificados por esta regla.
  • 17. 16 Modelo de caja tradicional. En “...el principio todo era con tablas.” Fueron los elementos que naturalmente se volvieron la herramienta ideal utilizada por desarrolladores para crear y organizar cajas de contenido en la pantalla. “Las cajas” eran creadas expandiendo celdas y combinando filas de celdas, columnas de celdas y tablas enteras, unas sobre otras o incluso anidadas. Cuando los sitios webs crecieron, “evolucionaron” y se volvieron más y más complejos, comenzaron a presentar serios problemas relacionados con el tamaño y el mantenimiento del código necesario para crearlos. Se hizo necesario lo que ahora es natural: la división entre estructura y presentación. Usando etiquetas <div> y estilos CSS fue posible reemplazar la función de tablas y efectivamente separar la estructura HTML de la presentación. Con elementos <div> y CSS podemos crear cajas en la pantalla, posicionar estas cajas a un lado o a otro y darles un tamaño, color o borde específico entre otras características. CSS provee propiedades específicas que nos permiten organizar las cajas acorde a nuestros deseos. Estas propiedades son lo suficientemente poderosas como para crear un modelo de caja que se transformó en lo que hoy conocemos como. Modelo de Caja Tradicional. Algunas deficiencias en este modelo mantuvieron a las tablas vivas por algún tiempo, pero los principales desarrolladores, influenciados por el suceso de las implementaciones Ajax y una cantidad de aplicaciones interactivas, gradualmente volvieron a las etiquetas <div> y estilos CSS en un estándar. Finalmente el Modelo de Caja Tradicional fue adoptado a gran escala.
  • 18. 17 Practicando CSS 3. #1. <!DOCTYPE html> <html lang="es"> <head> <meta charset="iso-8859-1"> <meta name="description" content="HTML5 con CSS3"> <meta name="keywords" content="HTML5, CSS3"> <title>Este texto es el título del documento</title> <link rel="stylesheet" href="misestilos.css"> </head> <body> <div id="agrupar"> <header id="cabecera"> <h1>Este es el título principal del sitio web</h1> </header> <nav id="menu"> <ul> <li>principal</li> <li>fotos</li> <li>videos</li> <li>contacto</li> </ul> </nav> <section id="seccion"> <article> <header> <hgroup> <h1>Título del mensaje uno</h1> <h2>Subtítulo del mensaje uno</h2> </hgroup> <time datetime="2018-12-10" pubdate>publicado 10-12-2018 </time> </header> Este es el texto de mi primer mensaje <figure>
  • 19. 18 <img src="http://minkbooks.com/content/myimage.jpg"> <figcaption> Esta es la imagen del primer mensaje </figcaption> </figure> <footer> <p>comentarios (0)</p> </footer> </article> <article> <header> <hgroup> <h1>Título del mensaje dos</h1> <h2>Subtítulo del mensaje dos</h2> </hgroup> <time datetime="2018-12-15" pubdate>publicado 15-12-2018 </time> </header> Este es el texto de mi segundo mensaje <footer> <p>comentarios (0)</p> </footer> </article> </section> <aside id="columna"> <blockquote>Mensaje número uno</blockquote> <blockquote>Mensaje número dos</blockquote> </aside> <footer id="pie"> Derechos Reservados &copy; 1901-2018 </footer> </div> </body> </html> Archivo CSS 3.
  • 20. 19 * {margin: 0px; padding: 0px;} h1 {font: bold 20px verdana, sans-serif;} h2 {font: bold 14px verdana, sans-serif;} header, section, footer, aside, nav, article, figure, figcaption, hgroup {display:block;} body {text-align: center;} #agrupar {width: 960px;margin: 15px auto;text-align: left;} #cabecera {background: #FFFBB9;border: 1px solid #999999;padding: 20px;} #menu {background: #CCCCCC;padding: 5px 15px;} #menu li {display: inline-block;list-style: none;padding: 5px; font: bold 14px verdana, sans-serif;} #seccion {float: left;width: 660px;margin: 20px;} #columna {float: left;width: 220px;margin: 20px 0px;padding: 20px;background: #CCCCCC;} #pie {clear: both;text-align: center;padding: 20px;border-top: 2px solid #999999;} article {background: #FFFBCC;border: 1px solid #999999; padding: 20px;margin-bottom: 15px;} article footer {text-align: right;} time {color: #999999;} figcaption {font: italic 14px verdana, sans-serif;}