fundamentos de css
Post on 13-Jun-2015
456 Views
Preview:
DESCRIPTION
TRANSCRIPT
Para que sirve el CSS?
Cascading Style Sheet («Hoja de estilos en cascada»)
Funcionamiento básico Antes de CSS
<!DOCTYPE html> <html>
<head></head> <body> <p><font color="gray" face="Verdana" size="2"> Primer párrafo a formatear </font></p> <p><font color="gray" face="Verdana" size="2"> Segundo párrafo a formatear </font></p> </body>
</html>
Funcionamiento básico Después de CSS
<!DOCTYPE html> <html>
<head> <style> p { color: gray; font-family: Verdana; font-size: medium; } </style> </head> <body> <p>Primer párrafo a formatear</p> <p>Segundo párrafo a formatear</p> </body>
</html>
Beneficios del CSS
• Separar la presentación del contenido. • Código mas “limpio”. Mas legible. • Rehusó del código. Se escribe menos. • Control de la presentación de muchos
documentos desde una única hoja de estilo. • Aplicación de diferentes presentaciones a
diferentes tipos de medios (pantalla, impresión, etc.)
Incluir CSS en los elemento HTML Como incluir CSS
<!DOCTYPE html > <html>
<head></head> <body> <p style="color: black; font-family: Verdana;"> Un párrafo de texto. </p> </body>
</html>
Incluir CSS en el mismo documento HTML Como incluir CSS
<!DOCTYPE html > <html>
<head> <style>p{ color: black; font-family: Verdana; } </style> </head> <body> <p>Un párrafo de texto. </p> </body>
</html>
Incluir CSS en otro documento Como incluir CSS <!DOCTYPE html > <html>
<head> <link rel="stylesheet" type="text/css" href="/css/estilos.css" /> </head> <body> <p>Un párrafo de texto. </p> </body>
</html>
Sintaxis básica
Digamos que queremos un fondo rojo Usando HTML Usando CSS
<body bgcolor="#FF0000">
body {background-color: #FF0000;}
Regla CSS
• Selector: Define a que elemento o grupo de elementos a los que se aplica le regla.
• Propiedad: Identifica el aspecto visual a modificar.
• Valor: Específica que estilo se le va a aplicar a la propiedad
Sintaxis de CSS
Todas las reglas CSS tienen la misma sintaxis: Los comentarios son Delimitados por /* … */
selector { propiedad1:valor; propiedad2:valor; .. propiedadN:valor; }
/* encabezados nivel 1 */ h1 { font-size: 42px; color: pink; font-family: ‘Arial'; }
Tipos de Selectores CSS
• Selector de Elemento: h2{} • Selector de Clase: .miClase{} • Selector de Identificador: #esteId{}
Selector de Elemento CSS
Si se desea poner varias reglas hay que sepáralas por el caracter “;”. O de forma mas clara
p{color: blue;text-align:center}
p{ color: blue; text-align:center
}
Selector de Elemento CSS
Se pueden aplicar a múltiples selectores
div, p, a{ color: blue; text-align:center
}
Todos los Tipos de Selectores Tipos de Selectores
h2{ font-size:24px;
} .azul{
color:blue; } #alerta{
background-color:red; color:white;
}
Selectores compuestos Tipos de Selectores
h2.azul{ font-size:24px;
} h2.alerta{
background-color:red; color:white;
}
Ejemplos de selectores
* Devuelve todos los elementos
h2 Devuelve cualquier elemento <h2>
.azul Devuelve todos los elementos de la clase “azul”
#azul Devuelve todos los elementos del elemento <azul>
h2.azul Devuelve cualquier elemento <h2> de la clase “azul”
h2#azul Devuelve cualquier elemento <h2> con el iden<ficador “azul”
sec<on, h2 Devuelve cualquier elemento <h2> y <sec<on>
sec<on h2 Devuelve cualquier elemento <h2> que este dentro de un <sec<on>
sec<on > h2 Devuelve cualquier elemento <h2> que este dentro e inmediatamente debajo del elemento <sec<on>
sec<on + h2 Devuelve cualquier elemento <h2> inmediatamente posterior al elemento padre <sec<on>
sec<on ~ h2 Devuelve cualquier elemento <h2> posterior al elemento padre <sec<on>
Selector CSS *
<!DOCTYPE html> <html>
<head> <style>*{background-color:yellow;}</style> </head> <body>
<h1>Welcome to My Homepage</h1> <div class="intro">
<p id="firstname">My name is Donald.</p> <p id="hometown">I live in Duckburg.</p>
</div> <p>My best friend is Mickey.</p>
</body> </html>
Selector CSS de Elemento
<!DOCTYPE html> <html>
<head> <style>p{background-color:yellow;} </style>
</head> <body>
<h1>Welcome to My Homepage</h1> <div>
<p id="firstname">My name is Donald.</p> <p id="hometown">I live in Duckburg.</p>
</div> <p>My best friend is Mickey.</p>
</body> </html>
Selector CSS de Clase
<!DOCTYPE html> <html>
<head> <style>.intro {background-color:yellow;} </style>
</head> <body>
<h1>Welcome to My Homepage</h1> <div class="intro"> <p>My name is Donald.</p> <p>I live in Duckburg.</p> </div> <p>My best friend is Mickey.</p>
</body> </html>
Selector CSS de Identificador
<!DOCTYPE html> <html>
<head> <style>#firstname{ background-color:yellow;} </style>
</head> <body>
<h1>Welcome to My Homepage</h1> <div class="intro"> <p id="firstname">My name is Donald.</p> <p id="hometown">I live in Duckburg.</p> </div> <p>My best friend is Mickey.</p>
</body> </html>
Selector CSS elemento, elemento
<!DOCTYPE html> <html>
<head> <style>h1,p{background-color:yellow;}</style> </head> <body>
<h1>Welcome to My Homepage</h1> <div>
<p>My name is Donald.</p> <p>I live in Duckburg.</p>
</div> <p>My best friend is Mickey.</p>
</body> </html>
Selector CSS elemento elemento
<!DOCTYPE html> <html>
<head> <style>div p{background-color:yellow;}</style>
</head> <body>
<h1>Welcome to My Homepage</h1> <div>
<h2>My name is Donald</h2> <p>I live in Duckburg.</p>
</div> <p>My best friend is Mickey.</p>
</body> </html>
Selector CSS elemento > elemento
<!DOCTYPE html> <html>
<head> <style> div>p {background-color:yellow;}</style> </head> <body>
<h1>Welcome to My Homepage</h1> <div>
<h2>My name is Donald</h2> <p>I live in Duckburg.</p>
</div> <div> <span> <p>I will not be styled.</p> </span> </div> <p>My best friend is Mickey.</p>
</body> </html>
Selector CSS elemento + elemento
<!DOCTYPE html> <html>
<head> <style> div+p{ background-color:yellow; } </style> </head> <body>
<h1>Welcome to My Homepage</h1> <div>
<h2>My name is Donald</h2> <p>I live in Duckburg.</p>
</div> <p>My best friend is Mickey.</p> <p>I will not be styled.</p>
</body> </html>
Selector CSS elemento ~ elemento
<!DOCTYPE html> <html>
<head> <style> p~ul{background:#ff0000;} </style> </head> <body>
<div>A div element.</div> <ul><li>Coffee</li></ul> <p>The first paragraph.</p> <ul> <li>Coffee</li></ul> <h2>Another list</h2> <ul><li>Coffee</li></ul>
</body> </html>
26
<!DOCTYPE html> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Ejercicio de selectores</title> <style type="text/css"> /* Todos los elementos de la pagina */{ font: 1em/1.3 Arial, Helvetica, sans-serif; } /* Todos los parrafos de la pagina */{ color: #555; } /* Todos los párrafos contenidos en #primero */{ color: #336699; } /* Todos los enlaces la pagina */{ color: #CC3300; } /* Los elementos "em" contenidos en #primero */{ background: #FFFFCC; padding: .1em; } /* Todos los elementos "em" de clase "especial" en toda la pagina */{ background: #FFCC99; border: 1px solid #FF9900; padding: .1em; } /* Elementos "span" contenidos en .normal */{ font-weight: bold; } </style> </head>
hEp://librosweb.es/css/capitulo_15.html
27
<body> <div id="primero"> <p>Lorem ipsum dolor sit amet, <a href="#">consectetuer adipiscing elit</a>. Praesent blandit nibh at felis. Sed nec diam in dolor vestibulum aliquet. Duis ullamcorper, nisi non facilisis molestie, <em>lorem sem aliquam nulla</em>, id lacinia velit mi vestibulum enim.</p> </div> <div class="normal"> <p>Phasellus eu velit sed lorem sodales egestas. Ut feugiat. <span><a href="#">Donec porttitor</a>, magna eu varius luctus,</span> metus massa tristique massa, in imperdiet est velit vel magna. Phasellus erat. Duis risus. <a href="#">Maecenas dictum</a>, nibh vitae pellentesque auctor, tellus velit consectetuer tellus, tempor pretium felis tellus at metus.</p> <p>Cum sociis natoque <em class="especial">penatibus et magnis</em> dis parturient montes, nascetur ridiculus mus. Proin aliquam convallis ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc aliquet. Sed eu metus. Duis justo.</p> <p>Donec facilisis blandit velit. Vestibulum nisi. Proin volutpat, <em class="especial">enim id iaculis congue</em>, orci justo ultrices tortor, <a href="#">quis lacinia eros libero in eros</a>. Sed malesuada dui vel quam. Integer at eros.</p> </div> </body> </html>
Selectores de atributos
Input[type] Selecciona cualquier <input> con el atributo type
Input[foo~=“red”] Selecciona cualquier <input> donde el atribuEo foo contenga un valor llamado red
Input[type^=“sub”] Selecciona cualquier <input> con el atributo type que comience con “sub”
Input[type$=“mit”] Selecciona cualquier <input> con el atributo type que termine con “mit”
Input[type*=“ubmit”] Selecciona cualquier <input> con el atributo type que contenga con “ubmit”
Input[type|=“en”] Selecciona cualquier <input> con el atributo type que <ene exactamente “en” o comienza con “en-‐”
Selector CSS [atributo]
<!DOCTYPE html> <html>
<head> <style>a[target]{background-color:yellow;}</style> </head> <body> <p>The links with a target attribute gets a yellow background:</p> <a href="http://www.w3schools.com">w3schools.com</a> <a href="http://www.disney.com" target="_blank">disney.com</a> <a href="http://www.wikipedia.org"
target="_top">wikipedia.org</a> </body>
</html>
Selector CSS [atributo~=value]
<!DOCTYPE html> <html>
<head> <style>[title~=flower]{border:5px solid yellow;}</style> </head> <body>
<p>The image with the title attribute containing the word "flower" gets a yellow border.</p> <img src="klematis.jpg" title="klematis flower" width="150" height="113" /> <img src="img_flwr.gif" title="flowers" width="224" height="162" /> <img src="landscape.jpg" title="landscape" width="160" height="120" />
</body> </html>
Selector CSS [atributo|=value]
<!DOCTYPE html> <html> <head><style>[lang|=en]{background:yellow;}</style></head>
<body> <p lang="en">Hello!</p> <p lang="en-us">Hi!</p> <p lang="en-gb">Ello!</p> <p lang="us">Hi!</p> <p lang="no">Hei!</p> <body>
</html>
Selector CSS [atributo^=value]
<!DOCTYPE html> <html>
<head> <style> div[class^="test”]{background:#ffff00;}</style> </head> <body> <div class="first_test">The first div element.</div> <div class="second">The second div element.</div> <div class="test">The third div element.</div> <p class="test">This is some text in a paragraph.</p> </body>
</html>
Selector CSS [atributo$=value]
<!DOCTYPE html> <html>
<head> <style> div[class$="test”]{background:#ffff00;}</style> </head> <body> <div class="first_test">The first div element.</div> <div class="second">The second div element.</div> <div class="test">The third div element.</div> <p class="test">This is some text in a paragraph.</p> </body>
</html>
Selector CSS [atributo*=value]
<!DOCTYPE html> <html>
<head> <style>div[class*="test”]{background:#ffff00;}</style> </head> <body> <div class="test">The first div element.</div> <div class="second">The second div element.</div> <div class="firs_test_last">The third div element.</div> <p class="test">This is some text in a paragraph.</div>
</body> </html>
Herencia y Cascada
35
La herencia y la cascada mecanismo de cascada CSS gobierna como los navegadores aplican estas reglas de estilo. • La herencia HTML determina cuales propiedades de
estilos se heredan de su padres. http://www.w3.org/TR/CSS21/propidx.html • El mecanismo de cascada determina como son
aplicados las propiedades de los estilos cuando aparecen conflictos de reglas para los elementos.
hEp://www.w3.org/community/webed/wiki/Inheritance_and_cascade hEp://mosaic.uoc.edu/ac/le/es/m6/ud2/
Herencia
36
• Cuando se establece el valor de una propiedad CSS en un elemento, sus elementos descendientes heredan de forma automática el valor de esa propiedad.
• Porque es útil? • Cómo funciona? • Forzar la herencia. “inherit”
Herencia
37
<!DOCTYPE html> <html lang="es"> <head> <meta charset=utf-8"> <title>Herencia</title> </head> <body> <h1>Título</h1> <p>Un párrafo de texto.</p> </body> </html> inherit.html
html {font: 75% Verdana,sans-serif;} style.css
Herencia
38
<link rel="stylesheet" type="text/css" media="screen" href="styles.css">
inherit.html
html {font: 75% Verdana,sans-serif;} html { font-style: normal; font-variant: normal; font-weight: normal; font-size: 75%; line-height: normal; font-family: Verdana,sans-serif; }
style.css
75% de 16 pixels es 12 pixels Equivale a
Herencia
39
h1 { font-size: 300%; }
inherit.html
Forzar la Herencia
40
p {background: inherit;}
style.css
Forzar la Herencia
41
style.css <ul id="nav"> <li><a href="/">Inicio</a></li> <li><a href="/news/">Noticias</a></li> <li><a href="/products/">Productos</a></li> <li><a href="/services/">Servicios</a></li> <li><a href="/about/">Sobre nosotros</a></li> </ul>
Inherit.htm
#nav { background: blue; color: white; margin: 0; padding: 0; } #nav li { display: inline; margin: 0; padding: 0 0.5em; border-right: 1px solid; } #nav li a { color: inherit; text-decoration: none; }
Cascada
42
Determinar todas las declaraciones que se aplican al elemento para el medio CSS seleccionado. El método seguido por CSS para resolver las colisiones de estilos se muestra a continuación:
• Importancia: palabra clave !important. • Especificidad: Ordenar las declaraciones según lo
específico que sea el selector. Cuanto más genérico es un selector, menos importancia tienen sus declaraciones.
• Orden de la Fuente: Ordenar las declaraciones según su origen (CSS de navegador, de usuario o de diseñador). Si después de aplicar las normas anteriores existen dos o más reglas con la misma prioridad, se aplica la que se indicó en último lugar.
hEp://www.w3.org/community/webed/wiki/Inheritance_and_cascade
Importancia
43
Las declaraciones contrapuestas se aplicarán en el orden siguiente: • Hojas de Estilo de User agent • Declaraciones normales en hojas de estilo de
usuario • Declaraciones normales en hojas de estilo de
autor • Declaraciones importantes en hojas de estilo de
usuario • Declaraciones importantes en hojas de estilo de
autor
Especificidad
44
hEp://www.jaso^.org/Blog/post/Tu-‐es<lo-‐gana-‐a-‐mi-‐es<lo-‐Especificidad-‐en-‐reglas-‐CSS.aspx
Especificidad
45
La especificidad tiene cuatro componentes; por ejemplo a, b, c y d. El componente "a" es el más distintivo y el "d", el que menos. • El componente "a" es bastante sencillo: es 1 para una declaración
en un atributo style; si no, es 0. • El componente "b" es el número de selectores de id en el selector
(los que empiezan con #). • El componente "c" es el número de selectores de atributo, incluidos
los selectores de clase y pseudoclases. • El componente "d" es el número de tipo de elementos y
pseudoelementos del selector.
p { color: cyan; }
Probemos esto
46
style.css
<body> <h1>Título</h1> <p>Un párrafo de texto.</p> <p>Un segundo párrafo de texto.</p> </body>
Inherit.htm
Agreguemos esto a los archivos y recarguemos
#special { background-color: red; color: yellow; }
Probemos esto
47
style.css
<body> <h1>Título</h1> <p id="special" >Un párrafo de texto.</p> <p>Un segundo párrafo de texto.</p> </body>
Inherit.htm
Agreguemos esto a los archivos y recarguemos
p { background-color: yellow; color: black; }
Orden de fuente
48
style.css
Agreguemos esto al final del archivo y recarguemos
Si dos declaraciones afectan al mismo elemento, <enen la misma importancia y la misma especificidad, la señal dis<n<va final es el orden en las fuentes. La declaración que se ve más adelante en las hojas de es<lo "ganará" a las anteriores.
Question
49
¨ Include all rules for each element in the <style> attribute of the element.
¨ Include the rules for each page in a <style> element in the <head> element.
¨ Write the rules for the whole site in one or more style sheets and reference them by using a <style> element in the <head> element of each page.
¨ Write the rules for the whole site in one or more style sheets and reference them by using a <link> element in the <head> element of each page.
¨ Write the rules for the whole site in one or more style sheets and reference them by using a <stylesheet> element in the <head> element of each page.
What is the best way to apply CSS rules to HTML elements that occur in several different pages?
top related