View
132
Download
2
Category
Preview:
Citation preview
CSS
¿Qué es CSS?
CSS es un lenguaje de hojas de estilos
creado para controlar el aspecto o
presentación de los documentos
electrónicos definidos con HTML y
XHTML.
Cascading Style Sheets
Los estilos definen cómo desplegar la información (elementos HTML/XHTML/XML)
Los archivos externos de estilo separan presentación de información.
Mayor flexibilidad, escalabilidad, y posibilidades en la presentación de contenidos web
Dinamismo (junto a javascript y DOM)
Correctamente utilizado reduce el peso de las páginas
Se usan archivos .css
Permite el cambio de apariencia y presentación con solo editar un archivo
Cascading Style Sheets
El concepto de piel (skin)
◦ Diseño que se coloca por encima de la estructura (esqueleto).
Ejemplo: Teléfonos
◦ Estructura: Modelo del teléfono
◦ Piel:
Carcasas de colores
Ventajas del uso de CSS
Estandarizar la presentación de un sitio web completo. Haciendolo fácil de mantener.
Diferentes usuarios pueden contar con diferentes estilos acordes a sus necesidades. Ejemplos: ◦ Estilos para personas con dificultades visuales,
◦ Estilos para dispositivos móviles,
◦ Estilos para dispositivos monocromos,
◦ Estilos para impresión,
◦ Etc.
Los documentos HTML se reducen en tamaño y complejidad.
Estilos CSS
Antes de la aparición de los estilos, la presentación se manejaba directamente dentro de los elementos HTML por medio de atributos. Por ejemplo:
<h2 align="center">
<font color=“blue" size=“3" face="Times New Roman, serif">
<i>Master inftel</i>
</font> </h2>
CSS permite separar el contenido de un documento de su presentación.
En el documento HTML:
<h2>Master inftel</h2>
En la hoja de estilos se define el formato
de los encabezados h2:
h2 {
text-align: center;
color: blue;
font: italic large "Times New Roman",
serif;
}
Ejemplo CSS
Archivo HTML
<html>
<head>
<link rel="stylesheet" type="text/css" href="ejemplo1.css" />
</head>
<body>
<h1>This header is 36 pt</h1>
<h2>This header is blue</h2>
<p>This paragraph has a left margin of 50 pixels</p>
</body>
</html>
Archivo CSS
body {background-color: yellow}
h1 {font-size: 36pt}
h2 {color: blue}
p {margin-left: 50px}
Archivo CSS
body {background-color: blue}
h1 {font-size: 12pt}
h2 {color: yellow}
p {margin-left: 5px}
Cómo incluir CSS en un documento
◦ Incluir CSS en el
mismo documento
HTML
◦ Definir CSS en un
archivo externo
◦ Incluir CSS en los
elementos HTML
Incluir CSS en el mismo documento
Los estilos se definen en una zona
específica del propio documento HTML.
Se emplea la etiqueta <style> de HTML y
solamente se pueden incluir en la
cabecera del documento (sólo dentro de
la sección <head>).
<html > <head> <title>Ejemplo de estilos CSS en el propio documento</title> <style type="text/css"> p { color: black; font-family: Verdana; } </style> </head> <body> <p>Un párrafo de texto.</p> </body> </html>
Incluir CSS en el mismo documento
Definir CSS en un archivo externo
En este caso, todos los estilos CSS se incluyen en un archivo de tipo CSS que las páginas HTML enlazan mediante la etiqueta <link>.
Un archivo de tipo CSS no es más que un archivo simple de texto cuya extensión es .css
Se pueden crear todos los archivos CSS que sean necesarios y cada página HTML puede enlazar tantos archivos CSS como necesite.
<html > <head> <title>Ejemplo de estilos CSS en el propio documento</title> <link rel="stylesheet" type="text/css" href="/css/estilos.css" media="screen" /> </head> <body> <p>Un párrafo de texto.</p> </body> </html>
Definir CSS en un archivo externo
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/css" href="tutorials.css"?>
<tutorials>
<tutorial>
<name>XML Tutorial</name>
<url>http://www.mytutorial.com/xml/tutorial</url>
</tutorial>
<tutorial>
<name>HTML Tutorial</name>
<url>http://www. mytutorial.com/html/tutorial</url>
</tutorial>
</tutorials>
Definir CSS en un archivo externo
Incluir CSS en los elementos HTML
El último método para incluir estilos CSS en documentos HTML es el peor y el menos utilizado, ya que tiene los mismos problemas que la utilización de las etiquetas <font>.
Esta forma de incluir CSS directamente en los elementos HTML solamente se utiliza en determinadas situaciones en las que se debe incluir un estilo muy específico para un solo elemento concreto.
<html> <head> <title>Ejemplo de estilos CSS en el propio documento</title> </head> <body> <p style="color: black; font-family: Verdana;"> Un párrafo de texto. </p> </body> </html>
Incluir CSS en los elementos HTML
Tipos de dispositivos <html>
<head> <style> @media screen { p.test {font-family:verdana,sans-serif;font-size:14px} } @media print { p.test {font-family:times,serif;font-size:10px} } @media screen,print { p.test {font-weight:bold} } </style> </head> <body> .... </body> </html>
Tipos de dispositivos
Precedencia de valores
Valores por defecto del navegador
Hoja de estilo externa
Hoja de estilo interna (en la sección de
encabezado)
Estilo en línea (dentro de un elemento)
SELECTORES
CSS
86
Sintaxis
Tres partes:
◦ Un selector
◦ Una propiedad
◦ Un valor
Sintaxis:
◦ selector {property:value}
/* Este es un comentario en CSS */
/* Este es un
comentario CSS de varias
lineas */
Sintaxis
Comentarios
Sintaxis
Sintaxis
Uso:
◦ body {color:black}
◦ p {font-family:"sans
serif"}
◦ p {text-
align:center;color:red}
Uso:
◦ p
{
text-align:center;
color:black;
font-family:arial
}
◦ h1,h2,h3,h4,h5,h6
{
color:green
}
Selectores
Selector Universal
Selector de tipo o Etiqueta
Selector Descendente
Selector de Clase
Selectores de ID
Selector Universal
Se utiliza para seleccionar todos los
elementos de la página.
* {
margin: 0;
padding: 0;
}
Selector de tipo o etiqueta
Selecciona todos los elementos de la
página cuya etiqueta HTML coincide con
el valor del selector.
p {
...
}
Selector descendente
Selecciona los elementos que se encuentran dentro de otros elementos.
Un elemento es descendiente de otro cuando se encuentra entre las etiquetas de apertura y de cierre del otro elemento.
p span { color: red; }
<p>
...
<span>texto1</span>
...
<a href="">...<span>texto2</span></a>
...
</p>
Selector de clase <body>
<p class="destacado">
Lorem ipsum dolor sit amet...
</p>
<p>
Nunc sed lacus et <a href="#" class="destacado">
est adipiscing</a> accumsan...
</p>
<p>
Class aptent taciti <em class="destacado">
sociosqu ad</em> litora...
</p>
</body>
Selectores de ID
El selector de ID permite seleccionar un elemento de la página a través del valor de su atributo id.
Este tipo de selectores sólo seleccionan un elemento de la página porque el valor del atributo id no se puede repetir en dos elementos diferentes de una misma página.
#nav{ color: red; }
Resumen de Selectores
Elementos H1 {font-family: Arial, Helvetica, sans-serif;
font size: 10pt; font-style: italic;}
Elementos agrupados H1, P, B {font-color: blue;}
Clases para elementos P.enfatizada {font-weight: bold;}
Clases generales .enfatizada {font-weight: bold;}
Selectores ID #enfatizada {font-weight: bold;}
Selectores Pseudo-Classes
Clases predefinidas y se puede establecer efectos especiales
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 */
a.red:visited {color:#FF0000} <a class="red" href="css_syntax.asp">CSS Syntax</a>
Selectores Pseudo-elementos
:after Agrega contenido después de un elemento
:before Agrega contenido antes de un elemento
:first-letter Establece el estilo para el primer carácter de un texto
:first-line Establece el estilo para la primera línea de un texto
Selectores Pseudo-elementos
(:first-line) Ejemplos:
◦ p:first-line { color:#ff0000; font-variant:small-caps; }
Propiedades:
◦ font properties
◦ color properties
◦ background properties
◦ word-spacing
◦ letter-spacing
◦ text-decoration
◦ vertical-align
◦ text-transform
◦ line-height
◦ clear
Selectores Pseudo-elementos
(:first-letter) Ejemplos:
◦ p:first-letter { color:#ff0000; font-size:xx-large; }
Propiedades:
◦ font properties
◦ color properties
◦ background properties
◦ margin properties
◦ padding properties
◦ border properties
◦ text-decoration
◦ vertical-align (only if "float" is "none")
◦ text-transform
◦ line-height
◦ float
◦ clear
Selectores Pseudo-elementos Ejemplos:
◦ p.article:first-letter {color:#ff0000} <p class="article">A paragraph in an article</p>
◦ p:first-letter { color:#ff0000; font-size:xx-large; } p:first-line { color:#0000ff; font-variant:small-caps; }
◦ h1:after { content:url(smiley.gif); }
CSS 2
CAJAS
CSS
103
Modelo de cajas (box model)
Modelo de Formato Visual
Las páginas se construyen como una serie de bloques de arriba hacia abajo.
Cajas
Vestibulum convallis dignissim
diam. Sed et ligula. Proin
ullamcorper odio eu mi. Aliquam
erat volutpat. Nunc ac leo sed
erat commodo ornare. Duis
urna. Nunc ac justo a risus
dictum scelerisque. Curabitur
felis augue, rutrum eu,
sollicitudin ac, auctor non, dolor.
Margin
Padding
Border
Margen
Margen vertical
El margen más largo determinará la distancia entre elementos.
Relleno
PROPIEDADES
CSS
113
Background
Propiedades usadas para el efecto
background
◦ background-color
◦ background-image
◦ background-repeat
◦ background-attachment
◦ background-position
background-color
body {background-color:#b0c4de}
h1 {background-color:#6495ed}
p {background-color:#e0ffff}
div {background-color:#ffffff}
Modos de referencia para el color:
◦ nombre - "red“, “white”, “blue”, etc
◦ RGB - un valor como "rgb(255,0,0)"
◦ Hex – un valor como "#ff0000"
background-image
body {background-image:url(„imagen.gif')}
body {background-image:url('imagen.jpg')}
body { background-image:url(„img/imagen.png'); }
background-repeat
body { background-image:url('gradient2.png'); background-repeat:repeat-x; }
body { background-image:url('img_tree.png'); background-repeat:no-repeat; }
background-repeat background-
position body
{ background-image:url('img_tree.png'); background-repeat:no-repeat; background-position:top right; }
Versión resumida:
body {background:#ffffff url('img_tree.png') no-repeat top right}
Se requiere un orden:
◦ background-color
◦ background-image
◦ background-repeat
◦ background-attachment
◦ background-position
background-attachment
body
{
background-image:url('smiley.gif');
background-repeat:no-repeat;
background-attachment:fixed
}
Propiedades de background
Texto
Color del texto
◦ body {color:blue}
◦ h1 {color:#00ff00}
◦ h2 {color:rgb(255,0,0)}
Alineación
◦ h1 {text-align:center}
◦ p.date {text-align:right}
◦ p.main {text-align:justify}
Texto
Decoración ◦ h1 {text-decoration:overline}
◦ h2 {text-decoration:line-through}
◦ h3 {text-decoration:underline}
◦ h4 {text-decoration:blink}
◦ a {text-decoration:none}
Transformación ◦ p.uppercase {text-transform:uppercase}
◦ p.lowercase {text-transform:lowercase}
◦ p.capitalize {text-transform:capitalize}
Identación ◦ p {text-indent:50px}
Propiedades de texto
Font
p{font-family:"Times New Roman",Georgia,Serif}
Font
font-style
◦ p.normal {font-style:normal}
◦ p.italic {font-style:italic}
◦ p.oblique {font-style:oblique}
Tres tipos: ◦ normal – El texto se muestra de manera normal
◦ italic – El texto se muestra en itálica
◦ oblique – El texto está inclinado (similar a itálica, pero es
soportado menos)
Font
font-size -> default = (16px=1em)
◦ h1 {font-size:40px}
◦ h2 {font-size:30px}
◦ p {font-size:14px}
◦ 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 */
◦ body {font-size:100%}
◦ h1 {font-size:2.5em}
◦ h2 {font-size:1.875em}
◦ p {font-size:0.875em}
Propiedades de font
Border
p.one { border-style:solid; border-width:5px; } p.two { border-style:solid; border-width:medium; }
p { border-top-style:dotted; border-right-style:solid; border-bottom-style:dotted; border-left-style:solid; }
p.one { border-style:solid; border-color:red; } p.two { border-style:solid; border-color:#98bf21; }
border-style:dotted solid;
border-style:dotted solid double dashed;
border-style:dotted solid double;
border-style:dotted solid;
border-style:dotted;
Border (versión corta)
border:5px solid red;
Orden de los valores de la propiedad
border
◦ border-width
◦ border-style
◦ border-color
Outlines
Márgenes
margin-top:100px; margin-bottom:100px; margin-right:50px; margin-left:50px;
p.ex1 {margin-top:2cm}
p.bottommargin {margin-bottom:25%
En corto: ◦ margin:100px 50px;
Márgenes
Padding
La propiedad padding limpia una área alrededor del contenido de un elemento (dentro del borde). Se encuentra afectado por el color de fondo del elemento.
◦ padding-top:25px;
padding-bottom:25px; padding-right:50px; padding-left:50px
◦ padding:25px 50px 75px 100px;
◦ padding:25px 50px 75px;
◦ padding:25px 50px;
◦ padding:25px;
Padding
list-style-type (listas no ordenadas)
Listas no ordenadas
◦ ul.circle {list-style-type:circle}
◦ ul.square {list-style-type:square}
list-style-type (listas ordenadas)
Listas ordenadas
◦ ol.upper-roman {list-style-type:upper-roman}
◦ ol.lower-alpha {list-style-type:lower-alpha}
list-style-type
ul.inside {list-style-position:inside} ul.outside {list-style-position:outside}
ul { list-style-image:url('arrow.gif'); }
ul { list-style-type:none; padding:0px; margin:0px; }
li { background-image:url(arrow.gif); background-repeat:no-repeat; background-position:0px 5px; padding-left:14px; }
list-style-type
Tables <html>
<head>
<style type="text/css">
table.ex1 {table-layout:auto}
table.ex2 {table-layout:fixed}
</style>
</head>
<body>
<table class="ex1" border="1" width="100%">
<tr>
<td width="5%">1000000000000000000000000000</td>
<td width="95%">10000000</td>
</tr>
</table>
<br />
<table class="ex2" border="1" width="100%">
<tr>
<td width="5%">1000000000000000000000000000</td>
<td width="95%">10000000</td>
</tr>
</table>
</body>
Tables
Dimensiones
<html>
<head>
<style type="text/css">
img.normal {height:auto}
img.big {height:50%}
img.small {height:10%}
</style>
</head>
<body>
<img class="normal" src="logocss.gif" width="95" height="84" /><br />
<img class="big" src="logocss.gif" width="95" height="84" /><br />
<img class="small" src="logocss.gif" width="95" height="84" />
</body>
</html>
COMPOSICIÓN
CSS
143
Controlando el Layout
Los estilos pueden controlar el tamaño y
la ubicación de los elementos
Ejemplos: #nav { width: 12em; float: left; }
#news { width: 12em; float: right; }
#main { margin: 1em 13em 1em 13em; }
Layout con DIVs
DIVs pueden son la alternativa a <table>
DIVs son un contenedor como una celda de una tabla
CSS puede posicionar a los DIV
<div id="article">xxx</div>
#article{
width:250px;
padding:5px;
float:right;}
Display
Hidden
◦ h1.hidden {visibility:hidden}
◦ h1.hidden {display:none}
Block vs Inline
Ejemplos de elementos bloque
◦ <h1>
◦ <p>
◦ <div>
Ejemplos de elementos Inline
◦ <span>
◦ <a>
Display (block vs inline)
li {display:inline}
span {display:block}
<html>
<head>
<style type="text/css">
p {display: inline}
</style>
</head>
<body>
<p>A display property with a value of "inline" results in</p>
<p>no distance between two elements.</p>
</body>
</html>
Display (block vs inline)
<head>
<style type="text/css">
a
{
float:left;
width:6em;
text-decoration:none;
color:white;
background-color:purple;
padding:0.2em 0.6em;
border-right:1px solid white;
}
a:hover {background-color:#ff3300}
li {display:inline}
ul
{
float:left;
width:100%;
padding:0;
margin:0;
list-style-type:none;
}
</style>
</head>
Display
Posicionamiento
Fijo:
p.pos_fixed { position:fixed; top:30px; right:5px; }
Relativo y absoluto:
h2.pos_left { position:relative; left:-20px; }
h2.pos_right { position:relative; left:20px; }
h2 { position:absolute; left:100px; top:150px; }
Traslape:
img { position:absolute; left:0px; top:0px; z-index:-1 }
Float La propiedad float permite que un elemento “flote” horizontalmente. De manera que los otros
elementos que le siguen se ajusten de acuerdo al valor del float.
Ejemplo:
img {
float:right; }
Galería de imágenes:
.thumbnail {
float:left; width:110px; height:90px; margin:5px;
}
Desactivar el flotado de los elementos (circundantes):
.text_line {
clear:both; }
Float
UNIDADES DE MEDIDA Y COLORES
CSS
Unidades Relativas
em, (no confundir con la etiqueta <em> de HTML) relativa respecto del tamaño de letra empleado. Aunque no es una definición exacta, el valor de 1em se puede aproximar por la anchura de la letra M ("eme mayúscula") del tipo de letra que se esté utilizando
ex, relativa respecto de la altura de la letra x ("equis minúscula") del tipo de letra que se esté utilizando
px, (píxel) relativa respecto de la pantalla del usuario
Unidades Absolutas
in, del inglés "inches", pulgadas (1 pulgada
son 2.54cms.)
cm, centímetros
mm, milímetros
pt, puntos (1 punto equivale a 1
pulgada/72, es decir, unos 0.35 mm)
pc, picas (1 pica equivale a 12 puntos, es
decir, unos 4.23 mm)
Porcentajes
Los porcentajes se pueden utilizar por
ejemplo para establecer el valor del
tamaño de letra de los elementos:
◦ body { font-size: 1em; }
◦ h1 { font-size: 200%; }
◦ h2 { font-size: 150%; }
Recomendaciones de medidas
En general, se recomienda el uso de unidades relativas siempre que sea posible, ya que mejora la accesibilidad de la página y permite que los documentos se adapten fácilmente a cualquier medio y dispositivo.
El documento "Recomendaciones sobre técnicas CSS para la mejora de la accesibilidad de los contenidos HTML" (http://www.w3.org/TR/WCAG10-CSS-TECHS/) elaborado por el organismo W3C, recomienda el uso de la unidad em para indicar el tamaño del texto y para todas las medidas que sean posibles.
Recomendaciones de medidas
Normalmente se utilizan píxel y
porcentajes para definir el layout del
documento (básicamente, la anchura de
las columnas y elementos de las páginas) y
em y porcentajes para el tamaño de letra
de los textos.
Colores
Palabras clave
◦ red, green, blue
RGB Decimal
◦ p { color: rgb(71, 98, 176); }
RGB Porcentual
◦ p { color: rgb(27%, 38%, 69%); }
RGB Hexadecimal
◦ p { color: #4762B0; }
Recommended