2 - CSS
2 - CSS
CSS Introducción
• HTML / XHTML
Si quieres estudiar estos temas en primer lugar, encontrar los tutoriales en nuestro página de Inicio.
¿Qué es CSS?
CSS demo
Un documento HTML se pueden visualizar con diferentes estilos: Vea cómo funciona
HTML nunca fue pensado para contener las etiquetas para dar formato a un documento.
Cuando las etiquetas gusta <font> y atributos de color se han añadido a la especificación HTML 3.2, comenzó una
pesadilla para los desarrolladores web. Desarrollo de sitios web de gran tamaño, donde las fuentes y la
información de color se agregaron a cada página, se convirtió en un proceso largo y costoso.
Para resolver este problema, el Consorcio World Wide Web (W3C) creado CSS.
En HTML 4.0, todo el formato podría ser eliminado del documento HTML, y se almacena en un archivo CSS.
Los estilos se guardan normalmente en archivos CSS externos.. Hojas de estilo externas le permiten cambiar el
1
aspecto y el diseño de todas las páginas de un sitio Web, simplemente editando un solo archivo!
Página
CSS Sintaxis
Una regla CSS consta de dos partes principales: un selector, y las declaraciones de uno o más:
La propiedad es el atributo de estilo que desea cambiar. Cada propiedad tiene un valor.
Ejemplo CSS
Una declaración CSS siempre termina con un punto y coma, y los grupos de la declaración están rodeadas por
llaves:
p {color:red;text-align:center;}
Para hacer más legible la CSS, usted puede poner una declaración en cada línea, así:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p{
color:red;
text-align:center;
}
</style>
</head>
<body>
<p>Hello World!</p><p>This paragraph is styled with CSS.</p>
</body>
</html>
CSS Comentarios
Los comentarios se utilizan para explicar su código, y puede ayudarte a la hora de editar el código fuente en una
fecha posterior. Los comentarios son ignorados por los navegadores.
Un comentario CSS comienza con "/ *" y finaliza con "* /", así:
/*This is a comment*/
p{
text-align:center;
/*This is another comment*/
2
color:black;
Página
font-family:arial;
}
CSS Id y Clase
Los selectores id y class
Además de establecer un estilo para un elemento HTML, CSS le permite especificar sus propios selectores llamado
"id" y "clase".
El selector de id
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#para1 {
text-align:center;
color:red;
}
</style>
</head>
<body>
<p id="para1">Hello World!</p>
<p>This paragraph is not affected by the style.</p>
</body>
</html>
El selector de clase
El selector de clase se utiliza para especificar un estilo para un grupo de elementos. A diferencia del selector de id,
el selector de clase es la más utilizada en varios elementos.
Esto le permite definir un estilo particular para muchos elementos HTML con la misma clase.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.center
{
text-align:center;
}
</style>
</head>
<body>
<h1 class="center">Center-aligned heading</h1>
<p class="center">Center-aligned paragraph.</p>
</body>
</html>
También puede especificar que sólo determinados elementos HTML debería verse afectada por una clase.
En el ejemplo de abajo, con todos los elementos p class = "center" será alineado al centro:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link] {
text-align:center;
}
</style>
</head>
<body>
<h1 class="center">This heading will not be affected</h1>
<p class="center">This paragraph will be center-aligned.</p>
</body>
</html>
No NO iniciar un nombre de clase con un número! Esto sólo es compatible con Internet Explorer.
4
Página
CSS Cómo ...
Cuando un navegador lee una hoja de estilo, se dará formato al documento de acuerdo con ella.
Una hoja de estilos externa es ideal cuando el estilo se aplica a muchas páginas. Con una hoja de estilos externa,
puede cambiar el aspecto de un sitio Web completo, cambiando un archivo. Cada página debe enlazar a la hoja de
estilo con la etiqueta <link>. La etiqueta <link> va dentro de la sección de la cabeza:
<head>
<link rel="stylesheet" type="text/css" href="[Link]" />
</head>
Una hoja de estilo externa puede ser escrita en cualquier editor de texto. El archivo no debe contener ninguna
etiqueta HTML. Su hoja de estilo debe ser guardado con una extensión. Css. Un ejemplo de un archivo de hoja de
estilo se muestra a continuación:
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/[Link]");}
No agregue un espacio entre el valor de la propiedad y de la unidad (como margin-left: 20 px). La forma
correcta es: margin-left: 20px
Una hoja de estilo interna debe ser usado cuando un documento único que tiene un estilo ú[Link] definir estilos
internos en la sección de cabecera de una página HTML, utilizando la etiqueta <style>, así:
<head>
<style type="text/css">
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/[Link]");}
</style>
</head>
5
Página
Estilos en línea
Un estilo en línea pierden muchas de las ventajas de hojas de estilo por el contenido de la mezcla con la
presentación. Utilice este método con moderación!
Para utilizar estilos en línea se utiliza el atributo de estilo en la etiqueta correspondiente. El atributo de estilo
puede contener cualquier propiedad CSS. El ejemplo muestra cómo cambiar el color y el margen izquierdo de un
párrafo:
Si algunas propiedades se han establecido para el mismo selector en diferentes hojas de estilo, los valores se
heredará de la hoja de estilo más específico.
Por ejemplo, una hoja de estilo externa tiene estas propiedades para el selector h3:
h3 {
color:red;
text-align:left;
font-size:8pt;
}
Y una hoja de estilo interna consta de las siguientes propiedades para el selector h3:
h3 {
text-align:right;
font-size:20pt;
}
Si la página con la hoja de estilo interna también se vincula a la hoja de estilos externa las propiedades h3 será:
color:red;
text-align:right;
font-size:20pt;
El color se hereda de la hoja de estilos externa y la alineación del texto y el tamaño de fuente se sustituye por la
hoja de estilo interna.
Consejo: Incluso varias hojas de estilo externas se puede hacer referencia en un documento HTML.
6
Página
Orden en cascada
¿Qué estilo se utiliza cuando hay más de un estilo especificado para un elemento HTML?
En términos generales podemos decir que todos los estilos voluntad "en cascada" en una nueva hoja "virtual" de
estilo a las reglas siguientes, en el número cuatro tiene la más alta prioridad:
1. Navegador predeterminado
2. Hoja de estilos externa
3. Hoja de estilo interna (en la sección de la cabeza)
4. Estilo en línea (dentro de un elemento HTML)
Por lo tanto, un estilo en línea (dentro de un elemento HTML) tiene la mayor prioridad, lo que significa que va a
reemplazar un estilo definido dentro de la etiqueta head, o en una hoja de estilos externa, o en un navegador (el
valor predeterminado).
Nota: Si el enlace a la hoja de estilos externa se coloca después de la hoja de estilo interna en <head> HTML,
la hoja de estilos externa anulará la hoja de estilo interna!
7
Página
CSS Antecedentes
Propiedades de CSS de fondo se utilizan para definir los efectos de fondo de un elemento.
• background-color
• background-image
• background-repeat
• background-attachment
• background-position
Color de fondo
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body{
background-color:#b0c4de;
}
</style>
</head>
<body>
<h1>My CSS web page!</h1>
<p>Hello world! This is a [Link] example.</p>
</body>
</html>
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h1{
background-color:#6495ed;
}
p{
background-color:#e0ffff;
}
div{
background-color:#b0c4de;
}
</style>
</head>
<body>
<h1>CSS background-color example!</h1>
<div>
This is a text inside a div element.
<p>This paragraph has its own background color.</p>
We are still in the div element.
</div>
</body>
</html>
Imagen de fondo
La propiedad background-image especifica una imagen para usar como fondo de un elemento. Por defecto, la
imagen se repite por lo que cubre todo el elemento. La imagen de fondo de una página se puede establecer la
siguiente manera:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {background-image:url('[Link]');}
</style>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
9
Página
A continuación se muestra un ejemplo de una mala combinación de texto y la imagen de fondo. El texto es casi
ilegible:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {background-image:url('[Link]');}
</style>
</head>
<body>
<h1>Hello World!</h1>
<p>This text is not easy to read on this background image.</p>
</body>
</html>
De manera predeterminada, la propiedad background-image repite una imagen tanto horizontal como
verticalmente.
Algunas de las imágenes se debe repetir sólo en horizontal o vertical, para que no parezca extraño, así:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body{
background-image:url('[Link]');
}
</style>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
10
Página
Si la imagen es repetida sólo horizontalmente (repeat-x), el fondo se vea mejor:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body{
background-image:url('[Link]');
background-repeat:repeat-x;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
Mostrando la imagen sólo una vez que se especifica mediante la propiedad background-repeat:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body{
background-image:url('img_tree.png');
background-repeat:no-repeat;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
<p>W3Schools background image example.</p>
<p>The background image is only showing once, but ... the reader!</p>
</body>
</html>
11
Página
En el ejemplo anterior, la imagen de fondo se muestra en el mismo lugar que el texto. Queremos cambiar la
posición de la imagen, de manera que no perturbe el texto demasiado.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body{
background-image:url('img_tree.png');
background-repeat:no-repeat;
background-position:right top;
margin-right:200px;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
<p>W3Schools background no-repeat, set position example.</p>
<p>Now the background image is only shown once, and ... from the text.</p>
<p>In this example we have also added a ... will never disturb the text.</p>
</body>
</html>
Como se puede ver en los ejemplos anteriores, hay muchas propiedades a tener en cuenta cuando se trata de
fondos. Para acortar el código, también es posible especificar todas las propiedades en una sola [Link] se
llama una propiedad resumida.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body{
background:#ffffff url('img_tree.png') no-repeat right top;
margin-right:200px;
12
}
</style>
Página
</head>
<body>
<h1>Hello World!</h1>
<p>Now the background image is only shown ... positioned away from the text.</p>
<p>In this example we have also ... image will not disturb the text.</p>
</body>
</html>
• background-color
• background-image
• background-repeat
• background-attachment
• background-position
No importa si uno de los valores de la propiedad está ausente, siempre que los que están presentes son en este
orden.
Propiedad Descripción
fondo Establece todos los las propiedades de fondo en un solo declaración
background-attachment Establece si una imagen de fondo se fija o se desplaza con el resto de
la página
background-color Establece el color de fondo de un elemento
background-image Ajusta la imagen de fondo de un elemento
background-position Establece la posición inicial de una imagen de fondo
background-repeat Establece una imagen de fondo se repetirá
13
Página
CSS Text
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {color:red;}
h1 {color:#00ff00;}
[Link] {color:rgb(0,0,255);}
</style>
</head>
<body>
<h1>This is heading 1</h1>
<p>This is an ordinary paragraph. Notice ... in the body selector.</p>
<p class="ex">This is a paragraph with class="ex". This text is blue.</p>
</body>
</html>
Para W3C CSS compatible: Si define la propiedad de color, también debe definir la propiedad background-color.
14
Página
Alineación del texto
La propiedad text-align se utiliza para establecer la alineación horizontal del texto. El texto puede ser centrado o
alineado a la izquierda oa la derecha, o justificado.
Cuando text-align se ajusta a "justificar", cada línea se estira para que cada línea tiene la misma anchura y los
márgenes izquierdo y derecho son rectos (como en revistas y periódicos).
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h1 {text-align:center;}
[Link] {text-align:right;}
[Link] {text-align:justify;}
</style>
</head>
<body>
<h1>CSS text-align Example</h1>
<p class="date">May, 2009</p>
<p class="main">In my younger and more ... you've had.'</p>
<p><b>Note:</b> Resize the browser window ... the value "justify" works.</p>
</body>
</html>
Texto Decoración
La propiedad text-decoration se utiliza para establecer o quitar las decoraciones de texto. La propiedad text-
decoration se utiliza sobre todo para eliminar subraya de enlaces para propósitos de diseño:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
a {text-decoration:none;}
</style>
</head>
<body>
<p>Link to: <a href="[Link]
</body>
</html>
15
Página
También se puede utilizar para decorar texto:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h1 {text-decoration:overline;}
h2 {text-decoration:line-through;}
h3 {text-decoration:underline;}
h4 {text-decoration:blink;}
</style>
</head>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<h3>This is heading 3</h3>
<h4>This is heading 4</h4>
<p><b>Note:</b> The "blink" value is not ... Chrome, or Safari.</p>
</body>
</html>
Texto Transformación
La propiedad text-transform se utiliza para especificar las letras mayúsculas y minúsculas en un texto. Se puede
utilizar para convertir todo en letras mayúsculas o minúsculas, o mayúscula la primera letra de cada palabra.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link] {text-transform:uppercase;}
[Link] {text-transform:lowercase;}
[Link] {text-transform:capitalize;}
</style>
</head>
<body>
<p class="uppercase">This is some text.</p>
<p class="lowercase">This is some text.</p>
<p class="capitalize">This is some text.</p>
</body>
</html>
16
Página
Texto Sangría
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p {text-indent:50px;}
</style>
</head>
<body>
<p>In my younger and more vulnerable years my father gave me some advice that I've been
turning over in my mind ever since. 'Whenever you feel like criticizing anyone,' he
told me, 'just remember that all the people in this world haven't had the advantages
that you've had.'</p>
</body>
</html>
En las pantallas de ordenador, sans-serif se consideran más fáciles de leer que las fuentes serif.
• genérico familia - un grupo de familias de fuentes con un aspecto similar (como "Serif" o "Monospace")
• Familia tipográfica - una familia de fuentes específicas (como "Times New Roman" o "Arial")
Font Family
La propiedad font-family debería celebrar varios nombres de fuentes como un "retroceso" del sistema. Si el
navegador no es compatible con la primera fuente, se trata de la siguiente fuente.
Comience con la fuente que desee, y terminar con una familia genérica, para que el navegador elegir un tipo de
letra similar en la familia genérica, si no hay otras fuentes disponibles.
Nota : Si el nombre de una familia de fuentes es más que una palabra, debe estar entre comillas, como font-
family: "Times New Roman".
Más de una familia de la fuente se especifica en una lista separada por comas:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link]{font-family:"Times New Roman",Times,serif;}
[Link]{font-family:Arial,Helvetica,sans-serif;}
18
</style>
</head>
Página
<body>
<h1>CSS font-family</h1>
<p class="serif">This is a paragraph, shown in the Times New Roman font.</p>
<p class="sansserif">This is a paragraph, shown in the Arial font.</p>
</body>
</html>
Para las combinaciones de fuentes más comúnmente utilizadas, visita nuestra web Combinaciones de fuentes
seguras .
Font Style
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link] {font-style:normal;}
[Link] {font-style:italic;}
[Link] {font-style:oblique;}
</style>
</head>
<body>
<p class="normal">This is a paragraph, normal.</p>
<p class="italic">This is a paragraph, italic.</p>
<p class="oblique">This is a paragraph, oblique.</p>
</body>
</html>
Tamaño de la Fuente
Ser capaz de manejar el tamaño del texto es importante en el diseño web. Sin embargo, usted no debe usar
19
ajustes de tamaño de la fuente para hacer parecer párrafos encabezados o títulos parecen párrafos.
Página
Utilice siempre las etiquetas HTML adecuadas, como <h1> - <h6> para los títulos y <p> de párrafos.
El valor de font-size puede ser un tamaño absoluto o relativo.
Tamaño absoluto:
Tamaño relativo:
Si no se especifica un tamaño de fuente, el tamaño predeterminado para el texto normal, como párrafos, es
16px (16px = 1em).
Ajustar el tamaño del texto con píxeles que ofrece un control total sobre el tamaño del texto:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style>
h1 {font-size:40px;}
h2 {font-size:30px;}
p {font-size:14px;}
</style>
</head>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<p>This is a paragraph.</p>
<p>Specifying the font-size in px... and Safari to resize the text.</p>
<p><b>Note:</b> This example does not ... IE, prior version 9.</p>
</body>
</html>
El ejemplo anterior permite que Internet Explorer 9, Firefox, Chrome, Opera y Safari para cambiar el tamaño del
texto.
El texto se puede cambiar el tamaño de todos los navegadores que utilizan la herramienta de zoom (sin embargo,
esto cambia el tamaño de la página entera, no sólo el texto).
Página
Establecer tamaño de fuente con Em
Para evitar el problema de cambio de tamaño con las versiones anteriores de Internet Explorer, muchos
desarrolladores em usar en lugar de píxeles.
1em es igual al tamaño de la fuente de corriente. El tamaño de texto por defecto en los navegadores es 16px. Por
lo tanto, el tamaño predeterminado de 1em es 16px.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style>
h1 {font-size:2.5em;} /* 40px/16=2.5em */
h2 {font-size:1.875em;} /* 30px/16=1.875em */
p {font-size:0.875em;} /* 14px/16=0.875em */
</style>
</head>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<p>This is a paragraph.</p>
<p>Specifying the font-size .. it should.</p>
</body>
</html>
En el ejemplo anterior, el tamaño del texto en em es el mismo que el ejemplo anterior en pí[Link] embargo,
con el tamaño de la EM, es posible ajustar el tamaño del texto en todos los navegadores.
Por desgracia, todavía hay un problema con las versiones anteriores de IE. El texto se hace más grande de lo que
debería cuando se hace más grande y más pequeño de lo que debería cuando hace más pequeño.
21
Página
Use una combinación de porcentaje y Em
La solución que funciona en todos los navegadores, es establecer una fuente predeterminada de tamaño en
porcentaje para el elemento <body>:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style>
body {font-size:100%;}
h1 {font-size:2.5em;}
h2 {font-size:1.875em;}
p {font-size:0.875em;}
</style>
</head>
<body>
<h1>This is heading 1</h1>
<h2>This is heading 2</h2>
<p>This is a paragraph.</p>
<p>Specifying the font-size in percent ...resize the text!</p>
</body>
</html>
Nuestro código ahora funciona muy bien! Se muestra el tamaño del texto mismo en todos los navegadores, y
permite que todos los navegadores para hacer zoom o cambiar el tamaño del texto!
Propiedad Descripción
fuente Establece todas las propiedades de la fuente en una declaración
font-family Especifica la familia de fuentes para el texto
font-size Especifica el tamaño de fuente del texto
font-style Especifica el estilo de fuente para el texto
font-variant Especifica si el texto debe aparecer en una fuente small-caps
font-weight Especifica el peso de una fuente
22
Página
CSS Links
Los enlaces pueden ser de estilo de diferentes maneras.
Styling Links
Los enlaces pueden ser de estilo con cualquier propiedad CSS (por ejemplo, color, font-family, fondo, etc.)
Especial para los enlaces son que pueden ser de estilo de forma diferente dependiendo del estado en que están
adentro
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
a:link {color:#FF0000;} /* unvisited link */
a:visited {color:#00FF00;} /* visited link */
a:hover {color:#FF00FF;} /* mouse over link */
a:active {color:#0000FF;} /* selected link */
</style>
</head>
<body>
<p><b><a href="[Link]" target="_blank">This is a link</a></b></p>
<p><b>Note:</b> a:hover MUST come after a:link and a:visited in the CSS
definition in order to be effective.</p>
<p><b>Note:</b> a:active MUST come after a:hover in the CSS definition in order
to be effective.</p>
</body>
</html>
Al configurar el estilo de varios estados de los enlaces, hay algunas reglas de orden:
En el ejemplo anterior, el color del enlace cambia en función del estado en que está adentro
23
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
a:link {text-decoration:none;} /* unvisited link */
a:visited {text-decoration:none;} /* visited link */
a:hover {text-decoration:underline;} /* mouse over link */
a:active {text-decoration:underline;} /* selected link */
</style>
</head>
<body>
<p><b><a href="[Link]" target="_blank">This is a link</a></b></p>
<p><b>Note:</b> a:hover MUST come after a:link and a:visited in the CSS
definition in order to be effective.</p>
<p><b>Note:</b> a:active MUST come after a:hover in the CSS definition in order
to be effective.</p>
</body>
</html>
Color de fondo
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
a:link {background-color:#B2FF99;} /* unvisited link */
a:visited {background-color:#FFFF85;} /* visited link */
a:hover {background-color:#FF704D;} /* mouse over link */a:active
{background-color:#FF704D;} /* selected link */
</style>
</head>
<body>
<p><b><a href="[Link]" target="_blank">This is a link</a></b></p>
<p><b>Note:</b> a:hover MUST come after a:link and a:visited in the CSS
definition in order to be effective.</p>
<p><b>Note:</b> a:active MUST come after a:hover in the CSS definition in order
to be effective.</p>
</body>
</html>
24
Página
CSS listas
Las propiedades de la lista de CSS permiten:
Lista
Con CSS, las listas pueden ser de estilo adicional, y las imágenes se puede utilizar como marcador elemento de la
lista.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
ul.a {list-style-type:circle;}
ul.b {list-style-type:square;}
ol.c {list-style-type:upper-roman;}
ol.d {list-style-type:lower-alpha;}
</style>
</head>
<body>
<p>Example of unordered lists:</p>
<ul class="a">
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
<ul class="b">
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
<ol class="c">
<li>Coffee</li>
<li>Tea</li>
25
<li>Coca Cola</li>
</ol>
Página
<ol class="d">
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ol>
</body>
</html>
Algunos de los valores son para listas desordenadas, y algunos para listas ordenadas.
Para especificar una imagen como marcador de elemento de la lista, utilice la propiedad list-style-image:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
ul {
list-style-image:url('[Link]');
}
</style>
</head>
<body>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</body>
</html>
El ejemplo anterior no se muestra igual en todos los navegadores. IE y Opera mostrará la imagen de posición un
poco más alta que Firefox, Chrome y Safari.
26
Si desea que la imagen de marca que se coloca por igual en todos los navegadores, una solución crossbrowser se
Página
explica a continuación.
Solución Crossbrowser
El siguiente ejemplo muestra la imagen del marcador por igual en todos los navegadores:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
ul{
list-style-type:none;
padding:0px;
margin:0px;
}
ul li{
background-image:url([Link]);
background-repeat:no-repeat;
background-position:0px 5px;
padding-left:14px;
}
</style>
</head>
<body>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</body>
</html>
Ejemplo explicó:
• Por ul:
o Ajuste el list-style-type a nadie para quitar el marcador de elemento de la lista
o Establezca el relleno y el margen para 0px (para la compatibilidad cross-browser)
• Para todos los li ul en:
o Establezca la URL de la imagen, y mostrar sólo una vez (no-repeat)
o Coloque la imagen donde desee (izquierda y abajo 0px 5px)
o Coloque el texto en la lista con padding-left
27
Página
Lista - propiedad abreviada
También es posible especificar todas las propiedades de lista en una, sola propiedad. Esto se llama una propiedad
resumida.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
ul {
list-style:square url("[Link]");
}
</style>
</head>
<body>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</body>
</html>
• list-style-type
• list-style-position (para una descripción, consulte la tabla de propiedades CSS a continuación)
• list-style-image
No importa si uno de los valores anteriores se han perdido, mientras que el resto están en el orden especificado.
Propiedad Descripción
list-style Establece todas las propiedades de una lista en una declaración
list-style-image Especifica una imagen como marcador de ítems de lista
list-style-position Especifica si los marcadores list-item debería aparecer en el interior de o fuera
de la flujo de contenido
list-style-type Especifica el tipo de marcador de ítems de lista
28
Página
CSS Tablas
El aspecto de una tabla HTML puede ser mejorado con CSS:
Bordes de tabla
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
table,th,td {
border:1px solid black;
}
</style>
</head>
<body>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
</tr>
<tr>
<td>Lois</td>
<td>Griffin</td>
</tr>
</table>
</body>
</html>
29
Página
Observe que la tabla del ejemplo anterior tiene bordes dobles. Esto se debe a que la tabla y los elementos th / td
tienen bordes separados.
Fronteras Collapse
La propiedad border-collapse establece si los bordes de la tabla se derrumbó en un solo borde o separados:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
table{
border-collapse:collapse;
}
table, td, th {
border:1px solid black;
}
</style>
</head>
<body>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
</tr>
<tr>
<td>Lois</td>
<td>Griffin</td>
</tr>
</table>
La anchura y altura de una tabla está definida por la anchura y la altura de propiedades. El ejemplo siguiente
establece el ancho de la tabla a 100%, y la altura de los elementos th a 50px:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
table,td,th { border:1px solid black;}
table { width:100%;}
th {height:50px;}
</style>
</head>
<body>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Savings</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
<td>$100</td>
</tr>
<tr>
<td>Lois</td>
<td>Griffin</td>
<td>$150</td>
</tr>
<tr>
<td>Joe</td>
<td>Swanson</td>
<td>$300</td>
</tr>
<tr>
<td>Cleveland</td>
<td>Brown</td>
<td>$250</td>
</tr>
</table>
</body>
</html>
31
Página
Tabla Alineación del texto
El texto de una tabla está alineada con las propiedades alinear el texto-y vertical-align.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
table,td,th { border:1px solid black;}
td {text-align:right;}
</style>
</head>
<body>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Savings</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
<td>$100</td>
</tr>
<tr>
<td>Lois</td>
<td>Griffin</td>
<td>$150</td>
</tr>
<tr>
<td>Joe</td>
<td>Swanson</td>
<td>$300</td>
</tr>
<tr>
<td>Cleveland</td>
<td>Brown</td>
<td>$250</td>
</tr>
</table>
</body>
</html>
32
Página
La propiedad vertical-align establece la alineación vertical, como arriba, abajo o en medio:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
table, td, th {
border:1px solid black;
}
td{
height:50px;
vertical-align:bottom;
}
</style>
</head>
<body>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Savings</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
<td>$100</td>
</tr>
<tr>
<td>Lois</td>
<td>Griffin</td>
<td>$150</td>
</tr>
<tr>
<td>Joe</td>
<td>Swanson</td>
<td>$300</td>
</tr>
<tr>
<td>Cleveland</td>
<td>Brown</td>
<td>$250</td>
</tr>
</table>
</body>
</html>
33
Página
Cuadro Relleno
Para controlar el espacio entre el borde y el contenido de una tabla, utilice la propiedad de relleno en elementos th
y td:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
table, td, th{
border:1px solid black;
}
td{
padding:15px;
}
</style>
</head>
<body>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Savings</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
<td>$100</td>
</tr>
<tr>
<td>Lois</td>
<td>Griffin</td>
<td>$150</td>
</tr>
<tr>
<td>Joe</td>
<td>Swanson</td>
<td>$300</td>
</tr>
<tr>
<td>Cleveland</td>
<td>Brown</td>
<td>$250</td>
</tr>
</table>
</body>
</html>
34
Página
Tabla de colores
En el ejemplo siguiente se especifica el color de los bordes y el color del texto y del fondo de los elementos th:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
table, td, th{
border:1px solid green;
}
th{
background-color:green;
color:white;
}
</style>
</head>
<body>
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Savings</th>
</tr>
<tr>
<td>Peter</td>
<td>Griffin</td>
<td>$100</td>
</tr>
<tr>
<td>Lois</td>
<td>Griffin</td>
<td>$150</td>
</tr>
<tr>
<td>Joe</td>
<td>Swanson</td>
<td>$300</td>
</tr>
<tr>
<td>Cleveland</td>
<td>Brown</td>
<td>$250</td>
</tr>
</table>
</body>
</html>
35
Página
CSS Box Model
Todos los elementos HTML pueden ser considerados como cajas. En CSS, el término "modelo de caja" se usa
cuando se habla de diseño y diagramación.
El modelo de caja CSS es esencialmente una caja que envuelve elementos HTML, y se compone de: los márgenes,
bordes, el relleno y el contenido real.
El modelo de caja que nos permite colocar un borde alrededor de los elementos y los elementos espaciales en
función de otros elementos.
• Margen - Borra un área alrededor de la frontera. El margen no tiene un color de fondo, que es
completamente transparente
• Frontera - Un borde que va alrededor del relleno y contenido. El borde se ve afectado por el color de
fondo de la caja
• Relleno - Borra un área alrededor del contenido. El relleno se ve afectado por el color de fondo de la caja
• Contenido - El contenido de la caja, donde el texto y las imágenes aparecen
Con el fin de establecer el ancho y el alto de un elemento correctamente en todos los navegadores, lo que necesita
saber cómo funciona el modelo de caja.
Importante: Al configurar el ancho y height de un elemento con CSS, que acaba de establecer la anchura y la
altura del área de contenido . Para calcular el tamaño total de un elemento, también debe agregar el relleno,
bordes y márgenes.
width:250px;
padding:10px;
border:5px solid gray;
margin:10px;
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link]{
width:220px;
padding:10px;
border:5px solid gray;
margin:0px;
}
</style>
</head>
<body>
<img src="[Link]" width="250" height="1" /><br /><br />
<p><b>Important:</b> This example will not display correctly in IE8 and earlier
versions!<br />
However, we will solve that problem in the next example.</p>
</body>
</html>
Ancho = ancho total del elemento + relleno izquierdo + derecho + acolchado borde izquierdo + derecho +
frontera margen izquierdo + margen derecho
Altura total del elemento height = padding + top + relleno inferior + superior + frontera + borde inferior del
margen superior + inferior margen
37
Página
Navegadores problema de compatibilidad
Para solucionar este problema, basta con añadir un DOCTYPE de la página HTML:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link]{
width:220px;
padding:10px;
border:5px solid gray;
margin:0px;
}
</style>
</head>
<body>
<img src="[Link]" width="250" height="1" /><br /><br />
38
Página
Página
39
CSS Frontera
Las propiedades de borde CSS permiten especificar el estilo y el color del borde de un elemento.
Border Style
Ninguna de las propiedades de borde tendrá ningún efecto a menos que el border-stylepropiedad se establece!
border-style valores:
doble: define dos fronteras. La anchura de las dos fronteras son el mismo que el valor límite de ancho
groove: Define un borde acanalado 3D. El efecto depende del valor de border-color
cresta: Define un borde estriado 3D. El efecto depende del valor de border-color
Recuadro: Define un borde inset 3D. El efecto depende del valor de border-color
inicio: define una frontera comienzo 3D. El efecto depende del valor de border-color
40
Página
Border Ancho
El ancho se establece en píxeles, o mediante el uso de uno de los tres valores predefinidos: fino, medio o grueso.
Nota: El "border-width" propiedad no funciona si se utiliza solo. Utilice la opción "border-style" propiedad para
establecer las fronteras primero.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link] {
border-style:solid;
border-width:5px;
}
[Link] {
border-style:solid;
border-width:medium;
}
[Link] {
border-style:solid;
border-width:1px;
}
</style>
</head>
<body>
<p class="one">Some text.</p>
<p class="two">Some text.</p>
<p class="three">Some text.</p>
Límite Color
La propiedad border-color se utiliza para establecer el color de la frontera. El color se puede ajustar por:
Nota: El "border-color" propiedad no funciona si se utiliza solo. Utilice la opción "border-style" propiedad para
establecer las fronteras primero.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link] {
border-style:solid;
border-color:red;
}
[Link] {
border-style:solid;
border-color:#98bf21;
}
</style>
</head>
<body>
<p class="one">A solid red border</p>
<p class="two">A solid green border</p>
<p><b>Note:</b> The "border-color" property does not work if it is used alone.
Use the "border-style" property to set the borders first.</p>
</body>
</html>
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p{
border-top-style:dotted;
border-right-style:solid;
border-bottom-style:dotted;
border-left-style:solid;
}
</style>
</head>
<body>
<p>2 different border styles.</p>
</body>
</html>
42
Página
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p{
border-style:dotted solid;
}
</style>
</head>
<body>
<p>2 different border styles.</p>
</body>
</html>
La propiedad estilo de borde se utiliza en el ejemplo anterior. Sin embargo, también funciona con border-width y
borde de color.
Como se puede ver en los ejemplos anteriores, hay muchas propiedades a tener en cuenta cuando se trata de las
fronteras.
Para acortar el código, también es posible especificar todas las propiedades de bordes individuales en una
propiedad. Esto se llama una propiedad resumida.
La propiedad border es una forma abreviada de las propiedades de bordes individuales siguientes:
• border-width
• border-style (requerido)
• border-color
43
Página
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p
{
border:5px solid red;
}
</style>
</head>
<body>
<p>This is some text in a paragraph.</p>
</body>
</html>
Propiedad Descripción
border Establece todas las propiedades de borde en una declaración
border-bottom Establece todas las propiedades del borde de fondo en una declaración
border-bottom-color Establece el color del borde inferior
border-bottom-style Establece el estilo del borde inferior
border-bottom-width Establece el ancho del borde inferior
border-color Establece el color de los cuatro bordes
border-left Establece todas las propiedades del borde izquierdo en una declaración
border-left-color Establece el color del borde izquierdo
border-left-style Establece el estilo del borde izquierdo
border-left-width Establece el ancho del borde izquierdo
border-right Establece todas las propiedades del borde derecho en una declaración
border-right-color Establece el color del borde derecho
border-right-style Establece el estilo del borde derecho
border-right-width Establece el ancho del borde derecho
border-style Establece el estilo de los cuatro bordes
border-top Establece todas las propiedades de borde superior en una declaración
border-top-color Establece el color del borde superior
border-top-style Establece el estilo del borde superior
border-top-width Establece el ancho del borde superior
border-width Establece el ancho de los cuatro bordes
44
Página
CSS Outlines
Un esquema es una línea que se dibuja en torno a los elementos (fuera de las fronteras) para que
el elemento "se salga".
Esquema CSS
Un esquema es una línea que se dibuja en torno a los elementos (fuera de las fronteras) para que el elemento "se
salga".
El esquema no es una pieza de dimensiones de un elemento; anchura total del elemento y la altura no se ve
afectada por el ancho del contorno.
El número en el "CSS" en la columna indica qué versión de CSS se define la propiedad (o CSS1 CSS2).
Margen
El margen despeja un área alrededor de un elemento (fuera de la frontera). El margen no tiene un color de fondo,
y es completamente transparente.
El margen superior, derecho, inferior e izquierdo se pueden cambiar independientemente el uso de propiedades
separadas. Una propiedad margen taquigrafía también se puede utilizar, para cambiar todos los márgenes a la
vez.
Valores posibles
Valor Descripción
auto El navegador calcula un margen
longitud Especifica un margen en px, pt, cm, valor por defecto es 0px etc
% Especifica un margen en porcentaje de la anchura del elemento que contiene
heredar Especifica que el margen se hereda del elemento padre
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p{
background-color:yellow;
}
[Link]{
margin-top:100px;
margin-bottom:100px;
margin-right:50px;
margin-left:50px;
}
</style>
</head>
<body>
<p>This is a paragraph with no specified margins.</p>
<p class="margin">This is a paragraph with specified margins.</p>
</body>
</html>
46
Página
Margen - Abreviación de las propiedades
Para acortar el código, es posible especificar todas las propiedades de margen en una [Link] se llama una
propiedad resumida. La propiedad abreviada para todas las propiedades de margen es "margen":
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p{
background-color:yellow;
}
[Link]{
margin:100px 50px;
}
</style>
</head>
<body>
<p>This is a paragraph with no specified margins.</p>
<p class="margin">This is a paragraph with specified margins.</p>
</body>
</html>
Propiedad Descripción
margin Una propiedad abreviada para establecer las propiedades de los márgenes en
una declaración
47
Relleno
El relleno de borra un área alrededor del contenido (dentro del borde) de un elemento. El relleno se ve afectado
por el color de fondo del elemento.
El relleno superior, derecho, inferior e izquierdo se pueden cambiar independientemente el uso de propiedades
separadas. Una propiedad de acolchado taquigrafía también se puede utilizar, para cambiar todos los rellenos a la
vez.
Valores posibles
Valor Descripción
longitud Define un relleno fijo (en píxeles, pt, em, etc)
% Define un relleno en% del elemento contenedor
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p{
background-color:yellow;
}
[Link] {
padding-top:25px;
padding-bottom:25px;
padding-right:50px;
padding-left:50px;
}
</style>
</head>
<body>
<p>This is a paragraph with no specified padding.</p>
<p class="padding">This is a paragraph with specified paddings.</p>
</body>
</html>
48
Página
Relleno - Abreviación de las propiedades
Para acortar el código, es posible especificar todas las propiedades de relleno en una [Link] se llama una
propiedad resumida. La propiedad abreviada para todas las propiedades de relleno es "relleno":
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p{
background-color:yellow;
}
[Link]{
padding:25px 50px;
}
</style>
</head>
<body>
<p>This is a paragraph with no specified padding.</p>
<p class="padding">This is a paragraph with specified paddings.</p>
</body>
</html>
Propiedad Descripción
padding Una propiedad abreviada para establecer las propiedades de relleno en una
declaración
padding-bottom Establece el margen inferior de un elemento
49
h1 {color:green;}
h2 {color:green;}
p {color:green;}
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h1,h2,p{
color:green;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
<h2>Smaller heading!</h2>
<p>This is a paragraph.</p>
</body>
</html>
50
Página
Selectores de anidación
En el siguiente ejemplo, un estilo especificado para todos los elementos p, un estilo especificado para todos los
elementos con class = "marcados", y un tercer estilo se especifica sólo para elementos p dentro de los elementos
con class = "marcados":
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p{
color:blue;
text-align:center;
}
.marked{
background-color:red;
}
.marked p{
color:white;
}
</style>
</head>
<body>
<p>This is a blue, center-aligned paragraph.</p>
<div class="marked">
<p>This p element should not be blue.</p>
</div>
<p>p elements inside a "marked" classed element keeps the alignment style, but
has a different text color.</p>
</body>
</html>
51
Página
CSS Dimension
Las propiedades de la dimensión de CSS permite controlar la altura y la anchura de un elemento.
El número en el "CSS" en la columna indica qué versión de CSS se define la propiedad (o CSS1 CSS2).
52
Página
CSS Display y Visibilidad
La propiedad display especifica si / como un elemento en la pantalla, y la propiedad de visibilidad
especifica si un elemento debe ser visible u oculto.
Recuadro 1
Recuadro 2
Recuadro 3
Cómo ocultar un elemento se puede hacer mediante el establecimiento de la propiedad display a "ninguno" o la
propiedad de visibilidad de "oculto". Sin embargo, note que estos dos métodos producen resultados diferentes:
visibilidad: Oculta un elemento, pero todavía ocupan el mismo espacio que antes. El elemento se oculta, pero
todavía afectan al diseño.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link] {visibility:hidden;}
</style>
</head>
<body>
<h1>This is a visible heading</h1>
<h1 class="hidden">This is a hidden heading</h1>
<p>Notice that the hidden heading still takes up space.</p>
</body>
</html>
53
display: none esconde un elemento, y no ocupa espacio. El elemento se oculta, y la página se mostrará como si el
elemento no está ahí:
Página
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link] {display:none;}
</style>
</head>
<body>
<h1>This is a visible heading</h1>
<h1 class="hidden">This is a hidden heading</h1>
<p>Notice that the hidden heading does not take up space.</p>
</body>
</html>
Un elemento de bloque es un elemento que ocupa todo el ancho disponible completo, y tiene un salto de línea
antes y después de ella.
• <h1>
• <p>
• <div>
Un elemento en línea sólo ocupa el mismo ancho que sea necesario, y no forzar saltos de línea.
• <span>
• <a>
Cambio de un elemento en línea a un elemento de bloque, o viceversa, puede ser útil para hacer la página se vea
de una manera específica, y todavía siguen los estándares web.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
54
li{display:inline;}
</style>
Página
</head>
<body>
<p>Display this link list as a horizontal menu:</p>
<ul>
<li><a href="/html/[Link]" target="_blank">HTML</a></li>
<li><a href="/css/[Link]" target="_blank">CSS</a></li>
<li><a href="/js/[Link]" target="_blank">JavaScript</a></li>
<li><a href="/xml/[Link]" target="_blank">XML</a></li>
</ul>
</body>
</html>
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
span
{
display:block;
}
</style>
</head>
<body>
<h2>Nirvana</h2>
<span>Record: MTV Unplugged in New York</span>
<span>Year: 1993</span>
<h2>Radiohead</h2>
<span>Record: OK Computer</span>
<span>Year: 1997</span>
</body>
</html>
Nota: No cambiar el tipo de visualización de un elemento cambia sólo cómo el elemento en la pantalla, el tipo de
elemento que es. Por ejemplo: Un elemento en línea establecida en display: block no se le permite tener un
elemento de bloque anidado dentro de él.
55
Página
CSS Posicionamiento
El posicionamiento puede ser difícil a veces! Decidir qué elemento va a mostrar en frente. Los elementos pueden
superponerse.
Posicionamiento
Las propiedades de posicionamiento CSS permiten colocar un elemento. También se puede colocar un elemento
detrás de otro, y especificar qué debe ocurrir cuando el contenido de un elemento es demasiado grande.
Los elementos se pueden colocar usando la parte superior, inferior, izquierda y propiedades adecuadas. Sin
embargo, estas propiedades no funcionará a menos que la propiedad position se establece en primer
lugar. También funcionan de forma diferente dependiendo del método de posicionamiento.
Posicionamiento estático
Elementos HTML estático se colocan de forma predeterminada. Un elemento estático posicionado siempre se
coloca de acuerdo con el flujo normal de la página.
Estáticas elementos posicionados no se ven afectados por la parte superior, inferior, izquierdo y propiedades
adecuadas.
Posicionamiento fijo
Un elemento con posición fija está situado con relación a la ventana del navegador.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p.pos_fixed{
position:fixed;
top:30px;
right:5px;
}
</style>
</head>
<body>
<p class="pos_fixed">Some more text</p>
<p><b>Note:</b> IE7 and IE8 supports the fixed value only if a !DOCTYPE is
specified.</p>
</body>
</html>
Página
Nota: IE7 e IE8 compatible con el valor fijo sólo si se especifica un DOCTYPE!.
Posicionamiento relativo
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h2.pos_left{
position:relative;
left:-20px;
}
h2.pos_right
{
position:relative;
left:20px;
}
</style>
</head>
<body>
<h2>This is a heading with no position</h2>
<h2 class="pos_left">
This heading is moved left according to its normal position</h2>
<h2 class="pos_right">
This heading is moved right according to its normal position</h2>
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h2.pos_top
{
position:relative;
top:-50px;
}
</style>
</head>
<body>
<h2>This is a heading with no position</h2>
<h2 class="pos_top">This heading is moved upwards according to its normal position</h2>
<p><b>Note:</b> Even if the content of the ... in the normal flow.</p>
</body>
</html>
Elementos en posición relativa a menudo se utilizan como bloques de contenedores para los elementos con
posición absoluta.
Posicionamiento absoluto
Un elemento posición absoluta está situado con relación al elemento padre primero que tiene una posición que no
sea estática. Si no se encuentra dicho elemento, el bloque de contención es <html>:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h2{
position:absolute;
left:100px;
top:150px;
}
</style>
</head>
<body>
<h2>This is a heading with an absolute position</h2>
58
</html>
Elementos con posición absoluta se eliminan del flujo normal. El documento y otros elementos se comportan como
el elemento con posición absoluta no existe.
Elementos superpuestos
Cuando los elementos están posicionados fuera del flujo normal, pueden superponerse otros elementos.
La propiedad z-index especifica el orden de apilamiento de un elemento (elemento que debe ser colocado en
frente de o detrás de los otros).
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
img
{
position:absolute;
left:0px;
top:0px;
z-index:-1;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<img src="[Link]" width="100" height="140" />
<p>Because the image has a z-index of -1, it will be placed behind the text.</p>
</body>
</html>
Un elemento con mayor orden de la pila siempre está en frente de un elemento con una orden de pila baja.
Nota: Si dos elementos posicionados se superponen, sin un z-index especifica, el último elemento posicionado en
el código HTML se mostrará en la parte superior.
59
Página
Todas las propiedades de posición CSS
El número en el "CSS" en la columna indica qué versión de CSS se define la propiedad (o CSS1 CSS2).
Con flotador CSS, un elemento puede ser empujado hacia la izquierda o hacia la derecha, permitiendo que otros
elementos para envolver alrededor de ella. Float se utiliza a menudo para las imágenes, pero también es útil
cuando se trabaja con diseños.
Los elementos están flotando en horizontal, esto significa que un elemento sólo se puede hacer flotar hacia la
izquierda o la derecha, no hacia arriba o hacia abajo.
Un elemento flotante se moverá hacia la izquierda o hacia la derecha como pueda. Normalmente esto significa que
todo el camino a la izquierda o derecha del elemento contenedor.
Los elementos después de que el elemento flotante fluirá alrededor del mismo. Los elementos antes del elemento
flotante no se verá afectado.
Si una imagen es flotado a la derecha, un texto siguiente fluye alrededor de ella, a la izquierda:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
img {
float:right;
}
</style>
</head>
<body>
<p>In the paragraph below, we have added an image with style
<b>float:right</b>
. The result is that the image will float to the right in the paragraph.</p>
<p>
<img src="[Link]" width="95" height="84" />
This is some text. This is some text. This is some text.
This is some text. This is some text. This is some text.
This is some text. This is some text. This is some text.
This is some text. This is some text. This is some text.
...
</p>
</body>
</html>
61
Página
Elementos flotantes lado de la otra
Si coloca varios elementos flotantes después de la otra, que flotará lado de la otra si hay espacio.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.thumbnail {
float:left;
width:110px;
height:90px;
margin:5px;
}
</style>
</head>
<body>
<h3>Image Gallery</h3>
<p>Try resizing the window to see ... the images does not have enough room.</p>
Elementos después de que el elemento flotante fluirá alrededor del mismo. Para evitar esto, utilice la propiedad
claros.
La propiedad clear especifica los lados de un elemento flotante demás elementos no están permitidos.
62
Página
Agregar una línea de texto en la galería de imágenes, utilizando la propiedad claros:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.thumbnail {
float:left;
width:110px;
height:90px;
margin:5px;
}
.text_line{
clear:both;
margin-bottom:2px;
}
</style>
</head>
<body>
<h3>Image Gallery</h3>
<p>Try resizing the window to see what ... does not have enough room.</p>
El número en el "CSS" en la columna indica qué versión de CSS se define la propiedad (o CSS1 CSS2).
no
heredar
CSS Horizontal Alinear
En CSS, varias propiedades se utilizan para alinear elementos horizontalmente.
Un elemento de bloque es un elemento que ocupa todo el ancho disponible completo, y tiene un salto de línea
antes y después de ella.
• <h1>
• <p>
• <div>
En este capítulo le mostraremos cómo alinear horizontalmente los elementos de bloque para fines de diseño.
Los elementos de bloque se pueden alinear ajustando los márgenes izquierdo y derecho de "auto".
Nota: El uso margin: auto no funciona en Internet Explorer 8 y versiones anteriores, a menos que se declare
un DOCTYPE!.
Ajuste de los márgenes izquierdo y derecho de auto especifica que se debe dividir el margen disponible por
igual. El resultado es un elemento de centrado:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.center{
margin:auto;
width:70%;
background-color:#b0e0e6;
}
</style>
</head>
<body>
<div class="center">
<p>In my younger and more ... ever since.</p>
<p>'Whenever you feel like criticizing anyone,'...that you've had.'</p>
</div>
<p><b>Note: </b>Using margin:auto will not work in IE8... declared.</p>
</body>
</html>
64
Página
Consejo: Alinear no tiene efecto si el ancho es de 100%.
Nota: En IE5 hay un error de manipulación margen para elementos de bloque. Para que el ejemplo anterior
trabajo en IE5, añadir algo de código adicional. Inténtelo usted mismo
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.right{
position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
</style>
</head>
<body>
<div class="right">
<p>In my younger and more ... my mind ever since.</p>
<p>'Whenever you feel like ... had the advantages that you've had.'</p>
</div>
</body>
</html>
Nota: los elementos posicionados absolutos se eliminan del flujo normal, y se pueden solapar elementos.
Al alinear los elementos de este tipo, siempre es una buena idea para predefinir margen y el relleno para el
elemento <body>. Esto es para evitar diferencias visuales en diferentes navegadores.
Hay un problema con IE8 y anteriores, cuando se utiliza la propiedad position. Si un elemento contenedor (en
nuestro caso <div class="container">) tiene una anchura especificada, y la declaración! DOCTYPE falta, versiones
de IE8 y anteriores se añadirá un margen 17px a la [Link] parece ser el espacio reservado para una barra
de desplazamiento. Coloque siempre la declaración DOCTYPE al utilizar la propiedad position:
65
Página
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body
{
margin:0;
padding:0;
}
.container
{
position:relative;
width:100%;
}
.right
{
position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
</style>
</head>
<body>
<div class="container">
<div class="right">
<p><b>Note: </b>When aligning using the position property, always include the !DOCTYPE
declaration! If missing, it can produce strange results in IE browsers.</p>
</div>
</div>
</body>
</html>
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.right
{
float:right;
width:300px;
background-color:#b0e0e6;
66
}
</style>
Página
</head>
<body>
<div class="right">
<p>In my younger and more vulnerable years my father gave me some advice that I've been
turning over in my mind ever since.</p>
<p>'Whenever you feel like criticizing anyone,' he told me, 'just remember that all the
people in this world haven't had the advantages that you've had.'</p>
</div>
</body>
</html>
Al alinear los elementos de este tipo, siempre es una buena idea para predefinir margen y el relleno para el
elemento <body>. Esto es para evitar diferencias visuales en diferentes navegadores.
Hay un problema con IE8 y cuando antes mediante la propiedad float. Si la declaración! DOCTYPE falta, IE8
versiones anteriores y se añade un margen de 17px en el lado derecho. Este parece ser el espacio reservado para
una barra de desplazamiento. Coloque siempre la declaración DOCTYPE al utilizar la propiedad float:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body{
margin:0;
padding:0;
}
.right{
float:right;
width:300px;
background-color:#b0e0e6;
}
</style>
</head>
<body>
<div class="right">
<p><b>Note: </b>When aligning using ... strange results in IE browsers.</p>
</div>
</body>
</html>
67
Página
CSS pseudo-clases
CSS pseudo-clases se utilizan para añadir efectos especiales a algunos selectores.
Sintaxis
La sintaxis de pseudo-clases:
selector:pseudo-class {property:value;}
[Link]:pseudo-class {property:value;}
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
a:link {color:#FF0000;} /* unvisited link */
a:visited {color:#00FF00;} /* visited link */
a:hover {color:#FF00FF;} /* mouse over link */
a:active {color:#0000FF;} /* selected link */
</style>
</head>
<body>
<p><b><a href="[Link]" target="_blank">This is a link</a></b></p>
<p><b>Note:</b> a:hover MUST come after a:link and a:visited in the CSS
definition in order to be effective.</p>
<p><b>Note:</b> a:active MUST come after a:hover in the CSS definition in order
to be effective.</p>
</body>
</html>
Nota: a: hover debe ir después a: link y: visited en la definición CSS con el fin de ser eficaces!
Nota: a: active debe venir después de un: hover en la definición CSS con el fin de ser eficaces!
[Link]:visited {color:#FF0000;}
El: first-child pseudo-clase coincide con un elemento determinado, que es el primer hijo de otro elemento.
Nota: Para: En primer hijo a trabajar en IE8 y anteriores, un <DOCTYPE!> deben ser declarados.
En el ejemplo siguiente, el selector equivale a cualquier elemento <p> que es el primer hijo de cualquier
elemento:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p:first-child{
color:blue;
}
</style>
</head>
<body>
<p>This is some text.</p>
<p>This is some text.</p>
<p><b>Note:</b> For :first-child to work in IE8 and ... declared.</p>
</body>
</html>
Haga coincidir el elemento <i> por primera vez en todos los elementos <p>
En el ejemplo siguiente, el selector coincide con el elemento <i> primero en todos los elementos <p>:
Ejemplo
<!DOCTYPE html>
69
<html>
<head>
Página
<style type="text/css">
p > i:first-child
{
color:blue;
}
</style>
</head>
<body>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
<p><b>Note:</b> For :first-child to work in IE8 and earlier, a DOCTYPE must be
declared.</p>
</body>
</html>
Coincidir todos los elementos <i> en todos los elementos <p> primer hijo
En el ejemplo siguiente, el selector equivale a todos los elementos <i> en <p> elementos que son el primer hijo
de otro elemento:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p:first-child i
{
color:blue;
}
</style>
</head>
<body>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
<p><b>Note:</b> For :first-child to work in IE8 and earlier, a DOCTYPE must be
declared.</p>
</body>
</html>
70
Página
CSS - The: lang Pseudo-clase
El: lang pseudo-clase permite definir reglas especiales para diferentes idiomas.
En el siguiente ejemplo, el: lang clase define las comillas para los elementos de Q con lang = "no":
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
q:lang(no)
{
quotes: "~" "~";
}
</style>
</head>
<body>
<p>Some text <q lang="no">A quote in a paragraph</q> Some text.</p>
<p>In this example, :lang defines the quotation marks for q elements with
lang="no":</p>
<p><b>Note:</b> IE8 supports the :lang pseudo class
only if a !DOCTYPE is specified.</p>
</body>
</html>
Sintaxis
selector:pseudo-element {property:value;}
[Link]:pseudo-element {property:value;}
: First-line Pseudo-elementos
La "primera línea" pseudo-elemento se utiliza para agregar un estilo especial a la primera línea de un texto.
En el siguiente ejemplo el navegador formatos de la primera línea de texto en un elemento de AP de acuerdo con
el estilo de la "primera línea" pseudo-elemento (donde el navegador rompe la línea, depende del tamaño de la
ventana del navegador):
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p:first-line {
color:#ff0000;
font-variant:small-caps;
}
</style>
</head>
<body>
<p>You can use the :first-line pseudo-element ... line of a text.</p>
</body>
</html>
Nota: La "primera línea" pseudo-elemento sólo se puede utilizar con los elementos a nivel de bloque.
• propiedades de la fuente
• propiedades de color
• propiedades de fondo
• word-spacing
• letter-spacing
• text-decoration
• vertical-align
72
• text-transform
• line-height
Página
• claro
: First-letter pseudo-elemento
La "primera carta" pseudo-elemento se utiliza para agregar un estilo especial a la primera letra de un texto:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p:first-letter
{
color:#ff0000;
font-size:xx-large;
}
</style>
</head>
<body>
<p>You can use the :first-letter pseudo-element to add a special effect to the first
character of a text!</p>
</body>
</html>
Nota: La "primera carta" pseudo-elemento sólo se puede utilizar con los elementos a nivel de bloque.
• propiedades de la fuente
• propiedades de color
• propiedades de fondo
• propiedades de los márgenes
• propiedades de relleno
• propiedades de borde
• text-decoration
• vertical-align (sólo si "float" es "ninguno")
• text-transform
• line-height
• flotar
• claro
[Link]:first-letter {color:#ff0000;}
El ejemplo anterior muestra la primera letra de todos los párrafos con class = "artículo", en rojo.
73
Página
Múltiples pseudo-elementos
Varios pseudo-elementos también se pueden combinar. En el siguiente ejemplo, la primera letra de un párrafo
será de color rojo, en un tamaño de letra extra grande. El resto de la primera línea será de color azul.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p:first-letter{
color:#ff0000;
font-size:xx-large;
}
p:first-line {
color:#0000ff;
font-variant:small-caps;
}
</style>
</head>
<body>
<p>You can combine the :first-letter and ... first line of a text!</p>
</body>
</html>
El ": antes de" pseudo-elemento se puede utilizar para insertar un cierto contenido antes de que el contenido de
un elemento. El ejemplo siguiente inserta una imagen antes de cada elemento h1:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h1:before {content:url([Link]);}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>The :before pseudo-element inserts content before an element.</p>
<h1>This is a heading</h1>
<p><b>Note:</b> IE8 supports the content property ... is specified.</p>
</body>
</html>
74
Página
CSS - The: después de pseudo-elemento
El ": después de" pseudo-elemento se puede utilizar para insertar un cierto contenido después de que el contenido
de un elemento.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h1:after {content:url([Link]);}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>The :after pseudo-element inserts content after an element.</p>
<h1>This is a heading</h1>
<p><b>Note:</b> IE8 supports the content property only if a !DOCTYPE is specified.</p>
</body>
</html>
Barras de navegación
Tener fácil de utilizar la navegación es importante para cualquier sitio web. Con CSS se puede transformar
aburridos menús HTML en barras de navegación guapos.
Una barra de navegación necesita HTML estándar como base. En nuestro ejemplo vamos a construir la barra de
navegación de una lista HTML estándar.
Ejemplo
<!DOCTYPE html>
<html>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
<p>Note: We use href="#" for test links. In a real web ... URLs.</p>
</body>
</html>
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style>
ul{ list-style-type:none; margin:0; padding:0; }
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>
76
Página
Ejemplo explicó:
• list-style-type: none - Elimina las balas. Una barra de navegación no necesita marcadores de lista
• Ajuste de márgenes y el relleno a 0 para eliminar la configuración del navegador por defecto
El código en el ejemplo anterior es el código estándar que se utiliza en las dos barras de navegación vertical y
horizontal.
Para crear una barra de navegación vertical, sólo tenemos que el estilo de los elementos <a>, además del código
anterior:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
ul{
list-style-type:none;
margin:0;
padding:0;
}
a{
display:block;
width:60px;
background-color:#dddddd;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
<p>A background color is added to the links to show the link area.</p>
<p>Notice that the whole link area is clickable, not just the text.</p>
</body>
</html>
77
Página
Ejemplo explicó:
• display: block - Visualización de los enlaces como elementos de bloque hace que el área entera vínculo
clickable (no sólo el texto), y que nos permite especificar la anchura
• Ancho: 60px - Los elementos de bloque ocupar todo el ancho disponible de forma
predeterminada. Queremos especificar un ancho de 60 píxeles
Sugerencia: También echa un vistazo a nuestro estilo completamente ejemplo una barra vertical de navegación .
Nota: Especifique siempre el ancho de los elementos <a> en una barra de navegación vertical. Si se omite el
ancho, IE6 puede producir resultados inesperados.
Hay dos formas de crear una barra de navegación horizontal. El uso en línea o flotante elementos de la lista.
Ambos métodos funcionan muy bien, pero si quieres que los enlaces sean del mismo tamaño, usted tiene que
utilizar el método de flotación.
Una forma de crear una barra de navegación horizontal es especificar los elementos <li> como en línea, además
de la "norma" el código de seguridad:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
ul{
list-style-type:none;
margin:0;
padding:0;
}
li{
display:inline;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</body>
</html>
Ejemplo explicó:
78
• display: inline; - De forma predeterminada, los elementos <li> son elementos de bloque. En este sentido,
eliminar los saltos de línea antes y después de cada elemento de la lista, para mostrar en una sola línea
Página
Sugerencia: También echa un vistazo a nuestro estilo completamente ejemplo barra de navegación horizontal .
Elementos flotantes Lista
Para todos los vínculos tener un ancho igual, flotan los elementos <li> y especificar el ancho de los elementos
<a>:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
ul{
list-style-type:none;
margin:0;
padding:0;
overflow:hidden;
}
li{
float:left;
}
a{
display:block;
width:60px;
background-color:#dddddd;
}
</style>
</head>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
Ejemplo explicó:
• float: left - el uso del flotador para obtener los elementos de bloque se deslice al lado del otro
• display: block - Visualización de los enlaces como elementos de bloque hace que el área entera vínculo
clickable (no sólo el texto), y que nos permite especificar la anchura
79
• anchura: 60px - Dado que los elementos de bloque tomar hasta el ancho completo disponible, no pueden
flotar junto a la otra. Se especifica el ancho de los enlaces a 60px
Página
Sugerencia: También echa un vistazo a nuestro estilo completamente ejemplo barra de navegación horizontal .
CSS Galería de imágenes
CSS se puede utilizar para crear una galería de imágenes.
Galería de imágenes
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link]{
margin: 2px;
border: 1px solid #0000ff;
height: auto;
width: auto;
float: left;
text-align: center;
}
[Link] img{
display: inline;
margin: 3px;
border: 1px solid #ffffff;
}
[Link]{
text-align: center;
font-weight: normal;
width: 120px;
margin: 2px;
}
</style>
</head>
<body>
<div class="img">
<a target="_blank" href="klematis_big.htm"><img src="klematis_small.jpg"
alt="Klematis" width="110" height="90" /></a>
<div class="img">
<a target="_blank" href="klematis2_big.htm"><img src="klematis2_small.jpg"
Página
<div class="img">
<a target="_blank" href="klematis4_big.htm"><img src="klematis4_small.jpg"
alt="Klematis" width="110" height="90" /></a>
img {
opacity:0.4;
filter:alpha(opacity=40); /* For IE8 and earlier */
}
IE9, Firefox, Chrome, Opera, Safari y utilizar la propiedad opacidad a la transparencia. La propiedad de opacidad
puede tomar un valor comprendido entre 0,0 - 1.0. Un valor más bajo hace que el elemento más transparente.
81
IE8 y anteriores usan filtro: alfa (opacidad = x) . La x puede tomar un valor entre 0 - 100. Un valor más bajo
hace que el elemento más transparente.
Página
Ejemplo 2 - Transparencia de imagen - Efecto Hover
El CSS es el siguiente:
img{
opacity:0.4;
filter:alpha(opacity=40); /* For IE8 and earlier */
}
img:hover{
opacity:1.0;
filter:alpha(opacity=100); /* For IE8 and earlier */
}
El primer bloque de CSS es similar al código en el Ejemplo 1. Además, hemos añadido lo que debería ocurrir
cuando un usuario coloque el cursor sobre una de las imágenes. En este caso se desea que la imagen no sea
transparente cuando el usuario coloque el cursor sobre ella.
El CSS para esto es: opacidad = 1 . IE8 y anteriores: filtro: alfa (opacidad = 100) . Cuando el puntero del
ratón se mueve fuera de la imagen, la imagen será transparente de nuevo.
Este es un texto que se coloca en la caja transparente. Este es un texto que se coloca en la
caja transparente. Este es un texto que se coloca en la caja transparente. Este es un texto
que se coloca en la caja transparente. Este es un texto que se coloca en la caja
transparente.
<html>
<head>
<style type="text/css">
[Link] {
width:500px;
height:250px;
background:url([Link]) repeat;
border:2px solid black;
}
[Link] {
width:400px;
height:180px;
margin:30px 50px;
background-color:#ffffff;
82
<body>
<div class="background">
<div class="transbox">
<p>This is some text that is placed in the transparent box.
This is some text that is placed in the transparent box.
This is some text that is placed in the transparent box.
This is some text that is placed in the transparent box.
This is some text that is placed in the transparent box.
</p>
</div>
</div>
</body>
</html>
En primer lugar, se crea un elemento div (class = "background") con una altura fija y anchura, una imagen de
fondo y un borde. Luego creamos un div más pequeño (class = "transbox") dentro del elemento div en primer
lugar. El "transbox" div tiene un ancho fijo, un color de fondo, y una frontera - y es transparente. En el interior del
div transparente, añadimos un poco de texto dentro del elemento PA.
Una página web con muchas imágenes puede tardar mucho tiempo para cargar y genera múltiples peticiones del
servidor.
Uso de sprites imagen se reducirá el número de solicitudes de servidor y ahorrar ancho de banda.
En lugar de utilizar tres imágenes diferentes, utilizamos esta sola imagen ("img_navsprites.gif"):
En el ejemplo siguiente, el CSS especifica qué parte de la "img_navsprites.gif" imagen para mostrar:
83
Página
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[Link]{
width:46px;
height:44px;
background:url(img_navsprites.gif) 0 0;
}
[Link]{
width:43px;
height:44px;
background:url(img_navsprites.gif) -91px 0;
}
</style>
</head>
<body>
<img class="home" src="img_trans.gif" width="1" height="1" />
<br /><br />
<img class="next" src="img_trans.gif" width="1" height="1" />
</body>
</html>
Ejemplo explicó:
• <img class="home" src="img_trans.gif" /> - Sólo define una pequeña imagen transparente porque el
atributo src no puede estar vacío. La imagen que aparecerá será la imagen de fondo se especifica en CSS
• Ancho: 46px; altura: 44px; - Define la parte de la imagen que desea utilizar
• background: url (img_navsprites.gif) 0 0, - Define la imagen de fondo y su posición (izquierda 0px, top
0px)
Esta es la forma más fácil de usar sprites imagen, ahora queremos ampliar mediante el uso de enlaces y se
ciernen efectos.
84
Página
Sprites de imagen - Crear una lista de navegación
Queremos utilizar la imagen de sprite ("img_navsprites.gif") para crear una lista de navegación.
Vamos a utilizar una lista de HTML, ya que puede ser un enlace y también es compatible con una imagen de
fondo:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#navlist{position:relative;}
#navlist li{margin:0;padding:0;list-style:none;position:absolute;top:0;}
#navlist li, #navlist a{height:44px;display:block;}
#home{left:0px;width:46px;}
#home{background:url('img_navsprites.gif') 0 0;}
#prev{left:63px;width:43px;}
#prev{background:url('img_navsprites.gif') -47px 0;}
#next{left:129px;width:43px;}
#next{background:url('img_navsprites.gif') -91px 0;}
</style>
</head>
<body>
<ul id="navlist">
<li id="home"><a href="[Link]"></a></li>
<li id="prev"><a href="css_intro.asp"></a></li>
<li id="next"><a href="css_syntax.asp"></a></li>
</ul>
</body>
</html>
Ejemplo explicó:
• # Home {left: 0px; anchura: 46px;} - Posicionado todo el camino a la izquierda, y la anchura de la
imagen es 46px
• # Home {background: url (img_navsprites.gif) 0 0;} - Define la imagen de fondo y su posición (izquierda
0px, top 0px)
• # Prev {left: 63px; anchura: 43px;} - Posicionado 63px a la derecha (# casa 46px ancho + algo más de
espacio entre ítems) y el ancho es de 43px.
• # Prev {background: url ('img_navsprites.gif')-47px 0;} - Define la imagen de fondo 47px a la derecha (#
85
Nuestra nueva imagen ("img_navsprites_hover.gif") contiene tres imágenes de navegación y las imágenes de tres
a utilizar para efectos hover:
Como se trata de una sola imagen, y no seis archivos separados, no habrá ningún retardo en la carga cuando
un usuario pasa sobre la imagen.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#navlist{position:relative;}
#navlist li{margin:0;padding:0;list-style:none;position:absolute;top:0;}
#navlist li, #navlist a{height:44px;display:block;}
#home{left:0px;width:46px;}
#home{background:url('img_navsprites_hover.gif') 0 0;}
#home a:hover{background: url('img_navsprites_hover.gif') 0 -45px;}
#prev{left:63px;width:43px;}
#prev{background:url('img_navsprites_hover.gif') -47px 0;}
#prev a:hover{background: url('img_navsprites_hover.gif') -47px -45px;}
#next{left:129px;width:43px;}
#next{background:url('img_navsprites_hover.gif') -91px 0;}
#next a:hover{background: url('img_navsprites_hover.gif') -91px -45px;}
</style>
</head>
<body>
<ul id="navlist">
<li id="home"><a href="[Link]"></a></li>
<li id="prev"><a href="css_intro.asp"></a></li>
<li id="next"><a href="css_syntax.asp"></a></li>
</ul>
</body>
</html>
Ejemplo explicó:
•
86
Dado que el elemento de la lista contiene un enlace, podemos usar el: hover pseudo-clase
• # La casa de un: hover {background: url transparente (img_navsprites_hover.gif) 0-45px;} - Para las tres
imágenes libración se especifica la posición del fondo mismo, sólo que más abajo 45px
Página
CSS Tipos de Medios
Tipos de Medios
Algunas propiedades CSS sólo están diseñados para un medio de comunicación determinados. Por ejemplo, el
"voice-family" propiedad está diseñada para aplicaciones de usuario auditivas. Algunas otras propiedades se
pueden utilizar para diferentes tipos de medios. Por ejemplo, el "tamaño de fuente" propiedad se puede utilizar
tanto para la pantalla y los medios impresos, pero quizás con diferentes valores. Un documento que por lo general
tiene un mayor tamaño de letra en una pantalla que en papel, y sans-serif son más fáciles de leer en la pantalla,
mientras que las fuentes serif son más fáciles de leer en papel.
La regla @ media
La regla @ media permite diferentes reglas de estilo para los medios de comunicación diferentes en la misma hoja
de estilo.
El estilo en el ejemplo a continuación le indica al navegador que muestre un tipo de letra Verdana 14 píxeles en la
pantalla. Pero si la página se imprime, será en un tipo de letra Times 10 [Link] que el font-weight se
establece en negrita, tanto en pantalla como en papel:
<html>
<head>
<style>
@media screen {
[Link] {font-family:verdana,sans-serif;font-size:14px;}
}
@media print {
[Link] {font-family:times,serif;font-size:10px;}
}
@media screen,print {
[Link] {font-weight:bold;}
}
</style>
</head>
<body>
....
</body>
</html>
Véalo usted mismo! Si está usando Mozilla / Firefox o IE5 + e imprimir esta página, usted verá que el párrafo
bajo "Tipos de soportes" en la pantalla de otra fuente, y tienen un tamaño de letra más pequeño que el resto del
texto.
87
Página
Diferentes tipos de medios
Nota: Los nombres de los tipos de medios no distinguen entre mayúsculas y minúsculas.
88
Página
CSS atributo selectores
Estilo elementos HTML con atributos específicos
Es posible estilo elementos HTML con atributos específicos, no sólo de clase e id.
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[title]{
color:blue;
}
</style>
</head>
<body>
<h2>Will apply to:</h2>
<h1 title="Hello world">Hello world</h1>
<a title="W3Schools" href="[Link]
<hr />
<h2>Will not apply to:</h2>
<p>Hello!</p>
</body>
</html>
89
Página
Atributo y Valor Selector
En el ejemplo de abajo estilos todos los elementos con W3Schools title = "":
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[title=W3Schools]{
border:5px solid green;
}
</style>
</head>
<body>
<h2>Will apply to:</h2>
<img title="W3Schools" src="w3schools_logo.gif" width="270" height="50" /><br />
<a title="W3Schools" href="[Link] <hr />
<h2>Will not apply to:</h2>
<p title="greeting">Hi!</p>
<a class="W3Schools" href="[Link]
</body>
</html>
En el ejemplo de abajo estilos todos los elementos con un atributo de título que contiene un valor
especificado. Esto funciona incluso si el atributo tiene valores separados por espacios:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[title~=hello]{color:blue;}
</style>
</head>
<body>
<h2>Will apply to:</h2>
<h1 title="hello world">Hello world</h1>
<p title="student hello">Hello CSS students!</p> <hr />
<h2>Will not apply to:</h2>
<p title="student">Hi CSS students!</p>
</body>
</html>
90
Página
En el ejemplo de abajo estilos todos los elementos con un atributo lang que contiene un valor especificado. Esto
funciona incluso si el atributo tiene un guión (-) valores separados:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
[lang|=en]{
color:blue;
}
</style>
</head>
<body>
<h2>Will apply to:</h2>
<p lang="en">Hello!</p>
<p lang="en-us">Hi!</p>
<p lang="en-gb">Ello!</p>
<hr />
<h2>Will not apply to:</h2>
<p lang="us">Hi!</p>
<p lang="no">Hei!</p>
</body>
</html>
Formas de peluquería
Los selectores de atributos son particularmente útiles para labrar formas sin clase o ID:
Ejemplo
<!DOCTYPE html>
<html>
<head>
<style>
input[type="text"] {
width:150px;
display:block;
margin-bottom:10px;
background-color:yellow;
}
input[type="button"]{
width:120px;
margin-left:35px;
91
display:block;
}
Página
</style>
</head>
<body>
<form name="input" action="" method="get">
Firstname:<input type="text" name="Name" value="Peter" size="20">
Lastname:<input type="text" name="Name" value="Griffin" size="20">
<input type="button" value="Example Button">
</form>
</body>
</html>
Este tutorial te ha enseñado cómo crear hojas de estilo para controlar el estilo y el diseño de sitios web múltiples a
la vez.
Ha aprendido a utilizar CSS para agregar fondos, textos, añadir formato y bordes formato y especificar el relleno y
los márgenes de los elementos.
También ha aprendido cómo colocar un elemento, controlar la visibilidad y el tamaño de un elemento, establecer
la forma de un elemento, coloque un elemento detrás de otro, y para añadir efectos especiales a algunos
selectores, como enlaces.
Para obtener más información acerca de CSS, por favor, eche un vistazo a nuestros ejemplos de CSS y
nuestra referencia de CSS .
JavaScript
Un sitio web estático es agradable cuando lo que desea es mostrar el contenido plano, pero un sitio web dinámico
puede reaccionar ante los acontecimientos y permitir la interacción del usuario.
JavaScript es el lenguaje de programación más popular en Internet y funciona con todos los principales
navegadores.
Si desea obtener más información acerca de JavaScript, por favor visite nuestro tutorial JavaScript .
92
Página