<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.tocateules.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jaume</id>
	<title>TocaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.tocateules.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jaume"/>
	<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php/Special:Contributions/Jaume"/>
	<updated>2026-06-12T05:43:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=M3&amp;diff=196</id>
		<title>M3</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=M3&amp;diff=196"/>
		<updated>2024-09-14T16:17:03Z</updated>

		<summary type="html">&lt;p&gt;Jaume: Created page with &amp;quot;RA1&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[RA1]]&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=CIBER&amp;diff=195</id>
		<title>CIBER</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=CIBER&amp;diff=195"/>
		<updated>2024-09-14T16:16:40Z</updated>

		<summary type="html">&lt;p&gt;Jaume: Created page with &amp;quot;M3&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[M3]]&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=Main_Page&amp;diff=194</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=Main_Page&amp;diff=194"/>
		<updated>2024-09-14T16:16:30Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[DAW]]&lt;br /&gt;
&lt;br /&gt;
[[ASIX]]&lt;br /&gt;
&lt;br /&gt;
[[CIBER]]&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=XML_Schema&amp;diff=193</id>
		<title>XML Schema</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=XML_Schema&amp;diff=193"/>
		<updated>2024-03-22T14:21:07Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Són una sintàxi alternativa per a les DTDs.&lt;br /&gt;
Utilitzen la sintàxi pròpia de XML&lt;br /&gt;
Avantatges:&lt;br /&gt;
*Fàcils d'aprendre &lt;br /&gt;
*Suporten tipus de dades: numérics, dates...&lt;br /&gt;
*Procesables igual que els documents XML&lt;br /&gt;
&lt;br /&gt;
=Què hi ha a un esquema XML=&lt;br /&gt;
Un esquema XML defineix la estructura válida per un tipus de document XML, es a dir defineix:&lt;br /&gt;
*Els elements que poden aparèixer al document.&lt;br /&gt;
*Els atributs que es poden utilitzar juntament a cada element.&lt;br /&gt;
*Com es poden niuar els elements (Pares i fills)&lt;br /&gt;
*L'ordre en el que apareixen els elements fills d'un mateix pare.&lt;br /&gt;
*El nombre permès dels elements fills&lt;br /&gt;
*Si un element pot ser buit o no.&lt;br /&gt;
*Tipus de dades per a elements i atributs.&lt;br /&gt;
*Valors per defecte i fixos per a elements i atributs.&lt;br /&gt;
==Altres avantatges dels esquemes==&lt;br /&gt;
*Més precisió que en les DTD en la definició de tipus de dades mitjançant formats i restriccions. &lt;br /&gt;
*Per exemple, en una data:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;date type=&amp;quot;date&amp;quot;&amp;gt;1999-03-11&amp;lt;/date&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*Els esquemes es defineixen com a documents XML. En un document a part amb l'extensió .xsd.&lt;br /&gt;
*Els documents XML es basen en aquest esquema, incluirem una referència a l'arxiu .xsd&lt;br /&gt;
==Com associar esquemes a documents XML==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;note xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:noNamespaceSchemaLocation=&amp;quot;note.xsd&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;to&amp;gt;Tove&amp;lt;/to&amp;gt; &lt;br /&gt;
&amp;lt;from&amp;gt;Jani&amp;lt;/from&amp;gt; &lt;br /&gt;
&amp;lt;heading&amp;gt;Reminder&amp;lt;/heading&amp;gt; &lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
Don't forget me this weekend!&lt;br /&gt;
&amp;lt;/body&amp;gt; &lt;br /&gt;
&amp;lt;/note&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple esquema W3C==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema”&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;note&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;xs:sequence&amp;gt; &lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;to&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;from&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;heading&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;body&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/xs:sequence&amp;gt; &lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Esquemes XML – elements schema=&lt;br /&gt;
Els elements utilitzats en la creació d'un esquema “procedeixen” de l'espai de noms: &lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
http://www.w3.org/2001/XMLSchema&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
L'element Schema es l'element arrel del document que defineix l'esquema:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Esquemes XML – elements “simples”==&lt;br /&gt;
Un element simple és un element que només pot contenir text (qualsevol tipus de dada), però no altres elements ni atributs.&lt;br /&gt;
Per a definir un element simple utilitzem la sintaxis:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;xxx&amp;quot; type=&amp;quot;yyy&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Exemples==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=“apellido” type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=“edad&amp;quot; type=&amp;quot;xs:integer&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;xs:element name=“fecNac&amp;quot; type=&amp;quot;xs:date&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Esquemes XML – elements “simples”,tipus de dades=&lt;br /&gt;
Els tipus de dades més utilitzats són:&lt;br /&gt;
*xs:string &lt;br /&gt;
*xs:decimal &lt;br /&gt;
*xs:integer &lt;br /&gt;
*xs:boolean &lt;br /&gt;
*xs:date &lt;br /&gt;
*xs:time &lt;br /&gt;
Un element simple pot tenir un valor per defecte I &lt;br /&gt;
un valor “fixe”.&lt;br /&gt;
S'indica mitjançant els atributs default I fixed:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;color&amp;quot; type=&amp;quot;xs:string&amp;quot; default=&amp;quot;red&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Enumeració==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;car&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:enumeration value=&amp;quot;Audi&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:enumeration value=&amp;quot;Golf&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:enumeration value=&amp;quot;BMW&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;letter&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[a-z]&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
En aquest exemple, l'element “letter” ha de prendre &lt;br /&gt;
com a valor una lletra minúscula.&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;initials&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[a-zA-Z][a-zA-Z][a-zA-Z]&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
En aquest exemple l'element “initials” ha de prendre com a valor 3 lletres majúscules o minúscules.&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;choice&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[xyz]&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
En aquest exemple, l'element “choice” ha de prendre com a &lt;br /&gt;
valor una d'aquestes lletres: x, y o z&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern integer==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;prodid&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:integer&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[0-9][0-9][0-9][0-9][0-9]&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;letter&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;([a-z])*&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;password&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[a-zA-Z0-9]{8}&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
En aquest exemple, el valor del camp “password” ha de ser &lt;br /&gt;
de 8 caràcters.&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Longitud string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;password&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:length value=&amp;quot;8&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Els elements length, minLength y maxLength permeten &lt;br /&gt;
indicar el número exacte, mínim i màxim de caràcters que &lt;br /&gt;
pot tenir un valor d'un element.&lt;br /&gt;
==Restriccions - Restriccions per valor==&lt;br /&gt;
Si volem restringir un valor de l'xml, com per exemple que sigui més gran que 5, que sigui més petit que 2, etc... Podem utilitzar els element minInclusive, maxInclusive, minExclusive i maxExclusive.&lt;br /&gt;
Per exemple, per declarar que volem que un valor tingui un valor superior o igual a 4, podriem especificar-ho:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;numRodes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:integer&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:minInclusive value=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
So volguéssim especificar que el valor sigui més gran que 4 i mes petit o igual a 8:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;numRodes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:integer&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:minExclusive value=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;xs:maxInclusive value=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Declarar elements complexos=&lt;br /&gt;
Els elements complexos són aquells que dins seu contenen altres elements simples o complexos.&amp;lt;br /&amp;gt;&lt;br /&gt;
Donat un xml com per exemple:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;employee&amp;gt;&lt;br /&gt;
  &amp;lt;firstname&amp;gt;John&amp;lt;/firstname&amp;gt;&lt;br /&gt;
  &amp;lt;lastname&amp;gt;Smith&amp;lt;/lastname&amp;gt;&lt;br /&gt;
&amp;lt;/employee&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Els elements complexos els podem declarar de dues maneres diferents:&lt;br /&gt;
* '''Dins del mateix element'''&lt;br /&gt;
En el moment de definir l'element complex, dins seu ja definim l'estructura del tipus complex.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;employee&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
      &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''Creant un tipus personalitzat'''&lt;br /&gt;
Podem definir un tipus complex personalitzat, i assignar a l'element que volem definir aquest tipus personalitzat que hem creat.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;employee&amp;quot; type=&amp;quot;personinfo&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xs:complexType name=&amp;quot;personinfo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
D'aquesta segona manera podem &amp;quot;reaprofitar&amp;quot; el tipus personalitzat que hem creat en diversos elements del nostre xml, de manera que el codi ens quedarà més curt i ben organitzat. Serà, per tant, la manera en la que declararem els tipus complexos en els nostres exercicis.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;employee&amp;quot; type=&amp;quot;personinfo&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;student&amp;quot; type=&amp;quot;personinfo&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;member&amp;quot; type=&amp;quot;personinfo&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xs:complexType name=&amp;quot;personinfo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Atributs=&lt;br /&gt;
Els elements que contenen atributs son considerats com elements complexos. Per tant la seva definició serà semblants a la d'un element complex afegint l'etiqueta '''''xs:attribute'''''.&amp;lt;br/&amp;gt;&lt;br /&gt;
Caldrà diferenciar entre tres diferents tipus d'elements complexes amb atributs:&lt;br /&gt;
* '''Element buit'''&lt;br /&gt;
En el següent xml:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;&lt;br /&gt;
        &amp;lt;Name&amp;gt;&lt;br /&gt;
		&amp;lt;FirstName&amp;gt;Mark&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
		&amp;lt;LastName&amp;gt;Twain&amp;lt;/LastName&amp;gt;&lt;br /&gt;
	&amp;lt;/Name&amp;gt;&lt;br /&gt;
	&amp;lt;HomePage URL=&amp;quot;http://www.marktwain.com&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El codi XML Schema que validaria que l'element '''HomePage''' té un atribut ''URL'' seria els següent:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;HomePage&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
	      &amp;lt;xs:attribute name=&amp;quot;URL&amp;quot; type=&amp;quot;xs:anyURI&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''Element simple'''&lt;br /&gt;
Si l'element a definir és de tipus simple com el següent:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;&lt;br /&gt;
	&amp;lt;Name Pseudonym=&amp;quot;true&amp;quot; HomePage=&amp;quot;http://www.nathanielhawthorne.com&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;FirstName Full=&amp;quot;false&amp;quot;&amp;gt;Nat&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
		&amp;lt;LastName&amp;gt;Hawthorne&amp;lt;/LastName&amp;gt;&lt;br /&gt;
	&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El codi XML Schema que validaria que l'element ''FirstName'' té un atribut ''Full'' seria:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;FirstName&amp;quot;&amp;gt;&lt;br /&gt;
	        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
			&amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xs:attribute name=&amp;quot;Full&amp;quot; type=&amp;quot;xs:boolean&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
			&amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
		&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
	&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''Element complex'''&lt;br /&gt;
Si l'atribut a validar es troba en un element de tipus complex, com per exemple:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;&lt;br /&gt;
	&amp;lt;Name Pseudonym=&amp;quot;true&amp;quot; HomePage=&amp;quot;http://www.marktwain.com&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;FirstName&amp;gt;Mark&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
		&amp;lt;LastName&amp;gt;Twain&amp;lt;/LastName&amp;gt;&lt;br /&gt;
	&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
S'hauria de validar de la següent manera:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;Name&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
		&amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
			&amp;lt;xs:element name=&amp;quot;FirstName&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;xs:element name=&amp;quot;LastName&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
		&amp;lt;xs:attribute name=&amp;quot;Pseudonym&amp;quot; type=&amp;quot;xs:boolean&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xs:attribute name=&amp;quot;HomePage&amp;quot; type=&amp;quot;xs:anyURI&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Indicadors=&lt;br /&gt;
En els exemples anteriors hem utilitzat l'element  &lt;br /&gt;
xs:sequence com element fill de l'element xs:complexType&lt;br /&gt;
xs:sequence indica que els elements anidats dintre d'ell han d'apareixer en un ordre determinat.&lt;br /&gt;
Altres opcions o indicadors són: xs:all y xs:choice&lt;br /&gt;
==Indicador xs:all==&lt;br /&gt;
L'indicador xs:all indica que els elements que conté poden &lt;br /&gt;
aparèixer en cualsevol ordre però com a màxim una vegada.&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;person&amp;quot;&amp;gt; &lt;br /&gt;
   &amp;lt;xs:complexType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:all&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:all&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Indicador xs:choice==&lt;br /&gt;
L'indicador xs:choice indica que pot aparèixer només un els delements que conté:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;person&amp;quot;&amp;gt; &lt;br /&gt;
   &amp;lt;xs:complexType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:choice&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:choice&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==maxOccurs i minOccurs==&lt;br /&gt;
Aquests indidcadors s'utilitzen per a indicar el nombre máxim I mínim de vegades que pot aparèixer un element fill d'un element compelx.&lt;br /&gt;
L'atribut maxOccurs pot prendre el valor “unbounded”, que indica que no existeix cap limit.&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;person&amp;quot;&amp;gt; &lt;br /&gt;
   &amp;lt;xs:complexType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;full_name&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;child_name&amp;quot; type=&amp;quot;xs:string&amp;quot; maxOccurs=&amp;quot;10&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=XML_Schema&amp;diff=192</id>
		<title>XML Schema</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=XML_Schema&amp;diff=192"/>
		<updated>2024-03-22T14:20:25Z</updated>

		<summary type="html">&lt;p&gt;Jaume: Created page with &amp;quot;Són una sintàxi alternativa per a les DTDs. Utilitzen la sintàxi pròpia de XML Avantatges: *Fàcils d'aprendre  *Suporten tipus de dades: numérics, dates... *Procesables...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Són una sintàxi alternativa per a les DTDs.&lt;br /&gt;
Utilitzen la sintàxi pròpia de XML&lt;br /&gt;
Avantatges:&lt;br /&gt;
*Fàcils d'aprendre &lt;br /&gt;
*Suporten tipus de dades: numérics, dates...&lt;br /&gt;
*Procesables igual que els documents XML&lt;br /&gt;
&lt;br /&gt;
=Qué hi ha a un esquema XML=&lt;br /&gt;
Un esquema XML defineix la estructura válida per un tipus de document XML, es a dir defineix:&lt;br /&gt;
*Els elements que poden aparèixer al document.&lt;br /&gt;
*Els atributs que es poden utilitzar juntament a cada element.&lt;br /&gt;
*Com es poden niuar els elements (Pares i fills)&lt;br /&gt;
*L'ordre en el que apareixen els elements fills d'un mateix pare.&lt;br /&gt;
*El nombre permès dels elements fills&lt;br /&gt;
*Si un element pot ser buit o no.&lt;br /&gt;
*Tipus de dades per a elements i atributs.&lt;br /&gt;
*Valors per defecte i fixos per a elements i atributs.&lt;br /&gt;
==Altres avantatges dels esquemes==&lt;br /&gt;
*Més precisió que en les DTD en la definició de tipus de dades mitjançant formats i restriccions. &lt;br /&gt;
*Per exemple, en una data:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;date type=&amp;quot;date&amp;quot;&amp;gt;1999-03-11&amp;lt;/date&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
*Els esquemes es defineixen com a documents XML. En un document a part amb l'extensió .xsd.&lt;br /&gt;
*Els documents XML es basen en aquest esquema, incluirem una referència a l'arxiu .xsd&lt;br /&gt;
==Com associar esquemes a documents XML==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;note xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:noNamespaceSchemaLocation=&amp;quot;note.xsd&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;to&amp;gt;Tove&amp;lt;/to&amp;gt; &lt;br /&gt;
&amp;lt;from&amp;gt;Jani&amp;lt;/from&amp;gt; &lt;br /&gt;
&amp;lt;heading&amp;gt;Reminder&amp;lt;/heading&amp;gt; &lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
Don't forget me this weekend!&lt;br /&gt;
&amp;lt;/body&amp;gt; &lt;br /&gt;
&amp;lt;/note&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple esquema W3C==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt; &lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema”&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;note&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;xs:sequence&amp;gt; &lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;to&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;from&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;heading&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;body&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/xs:sequence&amp;gt; &lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Esquemes XML – elements schema=&lt;br /&gt;
Els elements utilitzats en la creació d'un esquema “procedeixen” de l'espai de noms: &lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
http://www.w3.org/2001/XMLSchema&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
L'element Schema es l'element arrel del document que defineix l'esquema:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Esquemes XML – elements “simples”==&lt;br /&gt;
Un element simple és un element que només pot contenir text (qualsevol tipus de dada), però no altres elements ni atributs.&lt;br /&gt;
Per a definir un element simple utilitzem la sintaxis:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;xxx&amp;quot; type=&amp;quot;yyy&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Exemples==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=“apellido” type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=“edad&amp;quot; type=&amp;quot;xs:integer&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;xs:element name=“fecNac&amp;quot; type=&amp;quot;xs:date&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Esquemes XML – elements “simples”,tipus de dades=&lt;br /&gt;
Els tipus de dades més utilitzats són:&lt;br /&gt;
*xs:string &lt;br /&gt;
*xs:decimal &lt;br /&gt;
*xs:integer &lt;br /&gt;
*xs:boolean &lt;br /&gt;
*xs:date &lt;br /&gt;
*xs:time &lt;br /&gt;
Un element simple pot tenir un valor per defecte I &lt;br /&gt;
un valor “fixe”.&lt;br /&gt;
S'indica mitjançant els atributs default I fixed:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;color&amp;quot; type=&amp;quot;xs:string&amp;quot; default=&amp;quot;red&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Enumeració==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;car&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:enumeration value=&amp;quot;Audi&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:enumeration value=&amp;quot;Golf&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:enumeration value=&amp;quot;BMW&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;letter&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[a-z]&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
En aquest exemple, l'element “letter” ha de prendre &lt;br /&gt;
com a valor una lletra minúscula.&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;initials&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[a-zA-Z][a-zA-Z][a-zA-Z]&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
En aquest exemple l'element “initials” ha de prendre com a valor 3 lletres majúscules o minúscules.&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;choice&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[xyz]&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
En aquest exemple, l'element “choice” ha de prendre com a &lt;br /&gt;
valor una d'aquestes lletres: x, y o z&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern integer==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;prodid&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:integer&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[0-9][0-9][0-9][0-9][0-9]&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;letter&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;([a-z])*&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Pattern string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;password&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:pattern value=&amp;quot;[a-zA-Z0-9]{8}&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
En aquest exemple, el valor del camp “password” ha de ser &lt;br /&gt;
de 8 caràcters.&lt;br /&gt;
&lt;br /&gt;
==Restriccions - Longitud string==&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;password&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:length value=&amp;quot;8&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Els elements length, minLength y maxLength permeten &lt;br /&gt;
indicar el número exacte, mínim i màxim de caràcters que &lt;br /&gt;
pot tenir un valor d'un element.&lt;br /&gt;
==Restriccions - Restriccions per valor==&lt;br /&gt;
Si volem restringir un valor de l'xml, com per exemple que sigui més gran que 5, que sigui més petit que 2, etc... Podem utilitzar els element minInclusive, maxInclusive, minExclusive i maxExclusive.&lt;br /&gt;
Per exemple, per declarar que volem que un valor tingui un valor superior o igual a 4, podriem especificar-ho:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;numRodes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:integer&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:minInclusive value=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
So volguéssim especificar que el valor sigui més gran que 4 i mes petit o igual a 8:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;numRodes&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;xs:simpleType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:restriction base=&amp;quot;xs:integer&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;xs:minExclusive value=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;xs:maxInclusive value=&amp;quot;8&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:restriction&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Declarar elements complexos=&lt;br /&gt;
Els elements complexos són aquells que dins seu contenen altres elements simples o complexos.&amp;lt;br /&amp;gt;&lt;br /&gt;
Donat un xml com per exemple:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;employee&amp;gt;&lt;br /&gt;
  &amp;lt;firstname&amp;gt;John&amp;lt;/firstname&amp;gt;&lt;br /&gt;
  &amp;lt;lastname&amp;gt;Smith&amp;lt;/lastname&amp;gt;&lt;br /&gt;
&amp;lt;/employee&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Els elements complexos els podem declarar de dues maneres diferents:&lt;br /&gt;
* '''Dins del mateix element'''&lt;br /&gt;
En el moment de definir l'element complex, dins seu ja definim l'estructura del tipus complex.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;employee&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
    &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
      &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''Creant un tipus personalitzat'''&lt;br /&gt;
Podem definir un tipus complex personalitzat, i assignar a l'element que volem definir aquest tipus personalitzat que hem creat.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;employee&amp;quot; type=&amp;quot;personinfo&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xs:complexType name=&amp;quot;personinfo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
D'aquesta segona manera podem &amp;quot;reaprofitar&amp;quot; el tipus personalitzat que hem creat en diversos elements del nostre xml, de manera que el codi ens quedarà més curt i ben organitzat. Serà, per tant, la manera en la que declararem els tipus complexos en els nostres exercicis.&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;employee&amp;quot; type=&amp;quot;personinfo&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;student&amp;quot; type=&amp;quot;personinfo&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;member&amp;quot; type=&amp;quot;personinfo&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xs:complexType name=&amp;quot;personinfo&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
&amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Atributs=&lt;br /&gt;
Els elements que contenen atributs son considerats com elements complexos. Per tant la seva definició serà semblants a la d'un element complex afegint l'etiqueta '''''xs:attribute'''''.&amp;lt;br/&amp;gt;&lt;br /&gt;
Caldrà diferenciar entre tres diferents tipus d'elements complexes amb atributs:&lt;br /&gt;
* '''Element buit'''&lt;br /&gt;
En el següent xml:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;&lt;br /&gt;
        &amp;lt;Name&amp;gt;&lt;br /&gt;
		&amp;lt;FirstName&amp;gt;Mark&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
		&amp;lt;LastName&amp;gt;Twain&amp;lt;/LastName&amp;gt;&lt;br /&gt;
	&amp;lt;/Name&amp;gt;&lt;br /&gt;
	&amp;lt;HomePage URL=&amp;quot;http://www.marktwain.com&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El codi XML Schema que validaria que l'element '''HomePage''' té un atribut ''URL'' seria els següent:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;HomePage&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
	      &amp;lt;xs:attribute name=&amp;quot;URL&amp;quot; type=&amp;quot;xs:anyURI&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''Element simple'''&lt;br /&gt;
Si l'element a definir és de tipus simple com el següent:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;&lt;br /&gt;
	&amp;lt;Name Pseudonym=&amp;quot;true&amp;quot; HomePage=&amp;quot;http://www.nathanielhawthorne.com&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;FirstName Full=&amp;quot;false&amp;quot;&amp;gt;Nat&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
		&amp;lt;LastName&amp;gt;Hawthorne&amp;lt;/LastName&amp;gt;&lt;br /&gt;
	&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
El codi XML Schema que validaria que l'element ''FirstName'' té un atribut ''Full'' seria:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;FirstName&amp;quot;&amp;gt;&lt;br /&gt;
	        &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
			&amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
				&amp;lt;xs:extension base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;xs:attribute name=&amp;quot;Full&amp;quot; type=&amp;quot;xs:boolean&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
			&amp;lt;/xs:simpleContent&amp;gt;&lt;br /&gt;
		&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
	&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''Element complex'''&lt;br /&gt;
Si l'atribut a validar es troba en un element de tipus complex, com per exemple:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;Author&amp;gt;&lt;br /&gt;
	&amp;lt;Name Pseudonym=&amp;quot;true&amp;quot; HomePage=&amp;quot;http://www.marktwain.com&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;FirstName&amp;gt;Mark&amp;lt;/FirstName&amp;gt;&lt;br /&gt;
		&amp;lt;LastName&amp;gt;Twain&amp;lt;/LastName&amp;gt;&lt;br /&gt;
	&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;/Author&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
S'hauria de validar de la següent manera:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;Name&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
		&amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
			&amp;lt;xs:element name=&amp;quot;FirstName&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;xs:element name=&amp;quot;LastName&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
		&amp;lt;xs:attribute name=&amp;quot;Pseudonym&amp;quot; type=&amp;quot;xs:boolean&amp;quot;/&amp;gt;&lt;br /&gt;
		&amp;lt;xs:attribute name=&amp;quot;HomePage&amp;quot; type=&amp;quot;xs:anyURI&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=Indicadors=&lt;br /&gt;
En els exemples anteriors hem utilitzat l'element  &lt;br /&gt;
xs:sequence com element fill de l'element xs:complexType&lt;br /&gt;
xs:sequence indica que els elements anidats dintre d'ell han d'apareixer en un ordre determinat.&lt;br /&gt;
Altres opcions o indicadors són: xs:all y xs:choice&lt;br /&gt;
==Indicador xs:all==&lt;br /&gt;
L'indicador xs:all indica que els elements que conté poden &lt;br /&gt;
aparèixer en cualsevol ordre però com a màxim una vegada.&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;person&amp;quot;&amp;gt; &lt;br /&gt;
   &amp;lt;xs:complexType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:all&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:all&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Indicador xs:choice==&lt;br /&gt;
L'indicador xs:choice indica que pot aparèixer només un els delements que conté:&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;person&amp;quot;&amp;gt; &lt;br /&gt;
   &amp;lt;xs:complexType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:choice&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;firstname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;lastname&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:choice&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==maxOccurs i minOccurs==&lt;br /&gt;
Aquests indidcadors s'utilitzen per a indicar el nombre máxim I mínim de vegades que pot aparèixer un element fill d'un element compelx.&lt;br /&gt;
L'atribut maxOccurs pot prendre el valor “unbounded”, que indica que no existeix cap limit.&lt;br /&gt;
&amp;lt;source language=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xs:element name=&amp;quot;person&amp;quot;&amp;gt; &lt;br /&gt;
   &amp;lt;xs:complexType&amp;gt; &lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;full_name&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt; &lt;br /&gt;
         &amp;lt;xs:element name=&amp;quot;child_name&amp;quot; type=&amp;quot;xs:string&amp;quot; maxOccurs=&amp;quot;10&amp;quot;/&amp;gt; &lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt; &lt;br /&gt;
   &amp;lt;/xs:complexType&amp;gt; &lt;br /&gt;
&amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:HTML5.png&amp;diff=191</id>
		<title>File:HTML5.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:HTML5.png&amp;diff=191"/>
		<updated>2024-02-29T12:39:42Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Padding.gif&amp;diff=190</id>
		<title>File:Padding.gif</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Padding.gif&amp;diff=190"/>
		<updated>2024-02-29T12:39:32Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=Maquetacio&amp;diff=189</id>
		<title>Maquetacio</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=Maquetacio&amp;diff=189"/>
		<updated>2024-02-29T12:39:18Z</updated>

		<summary type="html">&lt;p&gt;Jaume: Created page with &amp;quot;La maquetació d'un lloc web determina la distribució dels elements d'aquests.  La maquetació acostuma a seguir patrons habituals:  *Disseny fixe/líquid/híbrid *Amb/sense...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La maquetació d'un lloc web determina la distribució dels elements d'aquests.&lt;br /&gt;
&lt;br /&gt;
La maquetació acostuma a seguir patrons habituals:&lt;br /&gt;
&lt;br /&gt;
*Disseny fixe/líquid/híbrid&lt;br /&gt;
*Amb/sense capçalera/peu (fixes o no)&lt;br /&gt;
*Barres laterals: amb/sense, comportament, quantitat.&lt;br /&gt;
*Zones per a menús, barres d'eines, breadcrumbs, publicitat, móduls&lt;br /&gt;
*Zones de continguts&lt;br /&gt;
*Seguint una quadrícula de referència o no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Història ==&lt;br /&gt;
&lt;br /&gt;
Durant els anys 90, l'única manera de crear pàgines amb diverses columnes era mitjançant la utilització de taules.&lt;br /&gt;
*En ocasions calia incloure taules dins de taules, cosa que complicava especialment el codi&lt;br /&gt;
*L'objectiu de les taules no era aquest, si no presentar informació per files, columnes...amb certa lògica.&lt;br /&gt;
&lt;br /&gt;
Per a la maquetacióm utilitzem les ''&amp;lt;div&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
Amb HTML5 s'introdueixen els elements semàntics, que es comporten igual que les ''&amp;lt;div&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
==HTML &amp;lt;5 vs HTML5==&lt;br /&gt;
[[File:HTML5.png]]&lt;br /&gt;
&lt;br /&gt;
==Model de capses==&lt;br /&gt;
Els elements HMTL tenen una capsa i, segons el tipus de capsa, diferenciem:&lt;br /&gt;
*'''Elements de bloc''': reserven línies completes (h1,p,ul,li,div,...&lt;br /&gt;
*'''Elements en línia''': se situen dins d'una línia&lt;br /&gt;
Per defecte NO treballen amb marges, espaiats, etc..però podem canviar aquest comportament (''display: inline-block'')&lt;br /&gt;
Totes les capses tenen tres propietats que permeten ajustar-ne l'aparença:&lt;br /&gt;
*'''margin''': el marge extern de la capsa&lt;br /&gt;
*'''border''': la vora de la capsa&lt;br /&gt;
*'''padding''': el marge intern de la capsa&lt;br /&gt;
[[File:padding.gif]]&lt;br /&gt;
&lt;br /&gt;
==Posicionament==&lt;br /&gt;
CSS disposa d'una sèrie d'esquemes de posicionament, entre altres:&lt;br /&gt;
*Estàtic&lt;br /&gt;
*Relatiu&lt;br /&gt;
*Absolut&lt;br /&gt;
*Fixe&lt;br /&gt;
*Flotant&lt;br /&gt;
Podeu trobar informació detallada sobre els esquemes de posicionament en la següent pàgina: http://es.learnlayout.com/&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=Forms&amp;diff=188</id>
		<title>Forms</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=Forms&amp;diff=188"/>
		<updated>2024-02-29T12:38:15Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funcions d'un formulari==&lt;br /&gt;
Els formularis permeten fer arribar informació als llocs web.&lt;br /&gt;
&lt;br /&gt;
Trobem trobem formularis cada vegada que ens registrem a un lloc web, quan comprem en línia, quan enviem un correu electrònic,...&lt;br /&gt;
&lt;br /&gt;
Els formularis necessiten, generalment, d’una llenguatge de&lt;br /&gt;
programació que reculli la informació i faci el tractament:&lt;br /&gt;
&lt;br /&gt;
* Enviar un correu electrònic.&lt;br /&gt;
* Emmagatzemar-la a la base de dades.&lt;br /&gt;
* Utilitzar-la per a generar una altra pàgina.&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==Estructura d'un formulari==&lt;br /&gt;
Els formularis a HTML es representen amb l’etiqueta '''&amp;lt;form&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
Tots els controls que tingui el formulari s’han de situar a l’interior d’un bloc d’aquest tipus.&lt;br /&gt;
&lt;br /&gt;
Acostuma a tenir dos atributs: &lt;br /&gt;
&lt;br /&gt;
*'''action:''' la URL de la pàgina del servidor que rep el formulari.&lt;br /&gt;
*'''method:''' un dels dos mètodes d’enviament de formularis.&lt;br /&gt;
&amp;lt;source language=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;subscripcio.php&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;!-- Informació i camps del formulari--&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La informació del formulari es pot enviar mitjançant dos mètodes:&lt;br /&gt;
*'''POST:''' la informació s’envia com a part de la petició sense ésser visible a de forma directa l’usuari, mitjançant capçaleres HTTP.&lt;br /&gt;
*'''GET:''' la informació s’envia mitjançant l’adreça, sent visible per a l’usuari.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left; margin-right: 10px;&amp;quot;&lt;br /&gt;
!|#&lt;br /&gt;
!|Etiqueta&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&amp;lt;label&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&amp;lt;input type=&amp;quot;text&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&amp;lt;input type=&amp;quot;password&amp;quot; /&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&amp;lt;input type=&amp;quot;radio&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&amp;lt;fieldset&amp;gt; + &amp;lt;legend&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&amp;lt;select&amp;gt; + &amp;lt;option&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|&amp;lt;textarea&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|&amp;lt;input type=&amp;quot;checkbox&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&amp;lt;input type=&amp;quot;submit&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&amp;lt;input type=&amp;quot;reset&amp;quot; /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
[[File:Forms1.png]]&lt;br /&gt;
==Aplicació d'estils als formularis==&lt;br /&gt;
Els formularis es poden complementar amb estils CSS:&lt;br /&gt;
*Podem utilitzar totes les propietats ja estudiades: fonts, colors, fons, vores, marges interns i externs, dimensions, etc.&lt;br /&gt;
*L'única diferència és el selector d’etiqueta: input és massa genèric, i a vegades volem discriminar aquells d’un tipus específic (type).&lt;br /&gt;
[[File:Forms2.png]]&lt;br /&gt;
*Aquest mecanisme combina amb la resta de selectors: id, class,...&lt;br /&gt;
*Per a fer diverses columnes i alinear-les correctament, haurem d’utilitzar taules (mètode no del tot correcte).&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Forms2.png&amp;diff=187</id>
		<title>File:Forms2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Forms2.png&amp;diff=187"/>
		<updated>2024-02-29T12:37:39Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Forms1.png&amp;diff=186</id>
		<title>File:Forms1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Forms1.png&amp;diff=186"/>
		<updated>2024-02-29T12:37:30Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=Forms&amp;diff=185</id>
		<title>Forms</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=Forms&amp;diff=185"/>
		<updated>2024-02-29T12:37:07Z</updated>

		<summary type="html">&lt;p&gt;Jaume: Created page with &amp;quot;==Funcions d'un formulari== Els formularis permeten fer arribar informació als llocs web.  Trobem trobem formularis cada vegada que ens registrem a un lloc web, quan comprem...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Funcions d'un formulari==&lt;br /&gt;
Els formularis permeten fer arribar informació als llocs web.&lt;br /&gt;
&lt;br /&gt;
Trobem trobem formularis cada vegada que ens registrem a un lloc web, quan comprem en línia, quan enviem un correu electrònic,...&lt;br /&gt;
&lt;br /&gt;
Els formularis necessiten, generalment, d’una llenguatge de&lt;br /&gt;
programació que reculli la informació i faci el tractament:&lt;br /&gt;
&lt;br /&gt;
* Enviar un correu electrònic.&lt;br /&gt;
* Emmagatzemar-la a la base de dades.&lt;br /&gt;
* Utilitzar-la per a generar una altra pàgina.&lt;br /&gt;
* etc.&lt;br /&gt;
&lt;br /&gt;
==Estructura d'un formulari==&lt;br /&gt;
Els formularis a HTML es representen amb l’etiqueta '''&amp;lt;form&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
Tots els controls que tingui el formulari s’han de situar a l’interior d’un bloc d’aquest tipus.&lt;br /&gt;
&lt;br /&gt;
Acostuma a tenir dos atributs: &lt;br /&gt;
&lt;br /&gt;
*'''action:''' la URL de la pàgina del servidor que rep el formulari.&lt;br /&gt;
*'''method:''' un dels dos mètodes d’enviament de formularis.&lt;br /&gt;
&amp;lt;source language=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;form action=&amp;quot;subscripcio.php&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;!-- Informació i camps del formulari--&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La informació del formulari es pot enviar mitjançant dos mètodes:&lt;br /&gt;
*'''POST:''' la informació s’envia com a part de la petició sense ésser visible a de forma directa l’usuari, mitjançant capçaleres HTTP.&lt;br /&gt;
*'''GET:''' la informació s’envia mitjançant l’adreça, sent visible per a l’usuari.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left; margin-right: 10px;&amp;quot;&lt;br /&gt;
!|#&lt;br /&gt;
!|Etiqueta&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|&amp;lt;label&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|&amp;lt;input type=&amp;quot;text&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|&amp;lt;input type=&amp;quot;password&amp;quot; /&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|&amp;lt;input type=&amp;quot;radio&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|&amp;lt;fieldset&amp;gt; + &amp;lt;legend&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|&amp;lt;select&amp;gt; + &amp;lt;option&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|&amp;lt;textarea&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|&amp;lt;input type=&amp;quot;checkbox&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|&amp;lt;input type=&amp;quot;submit&amp;quot; /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|&amp;lt;input type=&amp;quot;reset&amp;quot; /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
[[Fitxer:Forms1.png]]&lt;br /&gt;
==Aplicació d'estils als formularis==&lt;br /&gt;
Els formularis es poden complementar amb estils CSS:&lt;br /&gt;
*Podem utilitzar totes les propietats ja estudiades: fonts, colors, fons, vores, marges interns i externs, dimensions, etc.&lt;br /&gt;
*L'única diferència és el selector d’etiqueta: input és massa genèric, i a vegades volem discriminar aquells d’un tipus específic (type).&lt;br /&gt;
[[Fitxer:Forms2.png]]&lt;br /&gt;
*Aquest mecanisme combina amb la resta de selectors: id, class,...&lt;br /&gt;
*Per a fer diverses columnes i alinear-les correctament, haurem d’utilitzar taules (mètode no del tot correcte).&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=CSS&amp;diff=184</id>
		<title>CSS</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=CSS&amp;diff=184"/>
		<updated>2024-02-27T19:44:09Z</updated>

		<summary type="html">&lt;p&gt;Jaume: /* Exemple de CSS aplicat a llistes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=El llenguatge CSS=&lt;br /&gt;
CSS és un llenguatge que permet descriure la '''presentació gràfica''' de les pàgines web&lt;br /&gt;
&lt;br /&gt;
CSS aporta una sèrie de beneficis als llocs web:&lt;br /&gt;
*'''Menys càrrega:''' s'acostuma a disposar d'un (o varis) fulls associats a totes les pàgines d'un lloc web. Un cop s'han descarregar no es tornes a descarregar.&lt;br /&gt;
*'''Menys esforç de modificació''', ja que els estils centralitzars permeten no haver d'anar pàgina a pàgina a realitzar canvis.&lt;br /&gt;
*'''Menys esforç per als cercadors''', que poden indexar el contingut ràpidament, sense haver de perdre el temps en estils&lt;br /&gt;
*'''Més rapidesa de desenvolupament''', ja que no s'han de repetir els mateixos fragments de codi diverses vegades.&lt;br /&gt;
*'''Més accessibilitat''' per als lectors de pantalla, que poden formatar de manera personalitzada les pàgines HTML&lt;br /&gt;
&lt;br /&gt;
==HTML + CSS==&lt;br /&gt;
Per a associar un full d'estils a una pàgina web cal incloure el següent fragment de codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;estil.css&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
dins de la secció '''&amp;lt;head&amp;gt;''' d'una pàgina.&lt;br /&gt;
&lt;br /&gt;
Es poden associar tants fulls d'estil com es vulgui.&lt;br /&gt;
&lt;br /&gt;
Existeixen dues maneres més d'assignar estils a les pàgines HTML.&lt;br /&gt;
* Elements '''&amp;lt;style&amp;gt;'''&lt;br /&gt;
* Atribut '''style=&amp;quot;&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
==Arquitectura d'un full d'estils ==&lt;br /&gt;
Els fulls d'estils CSS estan constituïts per diverses regles que defineixen com es mostren els elements que especifiquen.&lt;br /&gt;
&lt;br /&gt;
Cada regla té dues parts:&lt;br /&gt;
*El '''selector''': determina sobre '''quins''' elements de la pàgina s'aplica l'estil&lt;br /&gt;
*La '''declaració''': estableix quins formats s'apliquen sobre la selecció feta&lt;br /&gt;
**Cada declaració indica un '''valor''' per a cadascuna de les '''propietats''' de l'element&lt;br /&gt;
[[File:ImatgeCSS1.png|center]]&lt;br /&gt;
Com es pot veure, una declaració es pot aprofitar per a diversos selectors separant-los per comes.&lt;br /&gt;
&lt;br /&gt;
==Selectors bàsics de CSS ==&lt;br /&gt;
Els selectors CSS més utilitzats són:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|Notació&lt;br /&gt;
!|Ús&lt;br /&gt;
!|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Selecciona tots els elements de l'àmbit&lt;br /&gt;
|*{...}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Selecciona per tipus d'element&lt;br /&gt;
|p, h3{...}&lt;br /&gt;
|-&lt;br /&gt;
|.&lt;br /&gt;
|Selecciona els elements d'una classe concreta&lt;br /&gt;
|.titular{...}&lt;br /&gt;
|-&lt;br /&gt;
|#&lt;br /&gt;
|Selecciona l'element que té l'id indicat&lt;br /&gt;
|#capsalera{...}&lt;br /&gt;
|-&lt;br /&gt;
|(espai)&lt;br /&gt;
|Selecciona els elements dins de l'arbre HTML&lt;br /&gt;
|div span{...}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|Selecciona els elements justament per sota d'un altre element&lt;br /&gt;
|div &amp;gt; span{...}&lt;br /&gt;
|}&lt;br /&gt;
Podem combinar selectors de diversos tipus: '''cal imaginar l'HTML com un arbre i navegar-lo.&lt;br /&gt;
&lt;br /&gt;
Per exemple, el següent codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;My home page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My home page&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Hello, I am Marijn and this is my home page.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;I also wrote a book! Read it&lt;br /&gt;
      &amp;lt;a href=&amp;quot;http://eloquentjavascript.net&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Està estructurat com indicar el següent arbre:&lt;br /&gt;
[[Fitxer:Html-tree.jpg|thumb|center]]&lt;br /&gt;
== Declaració d'estils ==&lt;br /&gt;
Els selectors que hem vist fins ara no tindrien cap sentit sense una sèrie de propietats que podem modificar.&lt;br /&gt;
Aquestes propietats són molt extenses i no és a l'abast d'aquest mòdul estudiar-los tots. En el següent link, podem trobar el llistat de propietats de CSS [http://www.w3.org/TR/CSS Link]&lt;br /&gt;
===Estils de text===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''color:'''&lt;br /&gt;
|''Color''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-family:'''&lt;br /&gt;
|Família de fonts&lt;br /&gt;
|-&lt;br /&gt;
|'''font-size:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-style:'''&lt;br /&gt;
|''normal'' | italic&lt;br /&gt;
|-&lt;br /&gt;
|'''font-weight'''&lt;br /&gt;
|''normal'' | bold&lt;br /&gt;
|-&lt;br /&gt;
|'''line-height:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''text-align:'''&lt;br /&gt;
|''left'' | right | center | justify&lt;br /&gt;
|-&lt;br /&gt;
|'''text-decoration:'''&lt;br /&gt;
|''none'' | underline | overline | line-through&lt;br /&gt;
|-&lt;br /&gt;
|'''text-transform'''&lt;br /&gt;
|''none'' | uppercase | lowercase&lt;br /&gt;
|-&lt;br /&gt;
|'''font'''&lt;br /&gt;
|Permet establir ''font-style'' - ''font-variant'' - ''font-weight'' - ''font-size/line-height'' - ''font-family'', en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
===Exemple estils de text ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
File:ImatgeCSS3.png|Pàgina HTML sense CSS&lt;br /&gt;
File:ImatgeCSS2.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	background-color: #f8f8f8;&lt;br /&gt;
	font-family: &amp;quot;Lucida Grande&amp;quot;, Tahoma, Arial, sans-serif;&lt;br /&gt;
	font-size:12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1, h2 {&lt;br /&gt;
	border-bottom:1px solid #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#capsalera h1 {&lt;br /&gt;
	font: italic bold 50px Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.dolly, a {&lt;br /&gt;
	color:#7fa3fc;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a {&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#peu {&lt;br /&gt;
	text-align:right;&lt;br /&gt;
	margin-top:40px;&lt;br /&gt;
	border-top:1px dotted #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Colors en CSS==&lt;br /&gt;
Les tres maneres més típiques d'indicar colors en CSS són:&lt;br /&gt;
*'''En format hexadecimal:#RRGGBB'''.Cada posició representa una xifra de 0 a la F(15) que indica la quantitat d'aquell color.&lt;br /&gt;
*'''En format RGB:rgb(r,g,b)'''En cada espai del parèntesi s'indica la quantitat de color del 0 al 255&lt;br /&gt;
**Com a derivat d'aquest existeix el format '''format RGBA''', amb un valor de transparència del 0 a l'1 en l'última posició: '''rgb(r,g,b,a)'''&lt;br /&gt;
*'''Nom de color''':es proporciona una llista de 147 colors predeterminats que es poden utilitzar directament.&lt;br /&gt;
**black, blue, white, red, green, yellow, magenta&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Web_colors Colors en CSS]&lt;br /&gt;
[[Fitxer:ImatgeCSS4.png|center]]&lt;br /&gt;
Els llocs més típics on acostumem a aplicar colors són:&lt;br /&gt;
*'''Tipografies''': mitjançant la propietat ''color''&lt;br /&gt;
*'''Fons''': mitjançant la propietat ''background-color'' assignen colors de fons a qualsevol tipus d'element&lt;br /&gt;
*'''Vores''':''border-color'',''border-left-color'',...&lt;br /&gt;
&lt;br /&gt;
==Unitats de mida==&lt;br /&gt;
Les mides es poden indicar en les següents unitats:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Notació&lt;br /&gt;
!| Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|Notació&lt;br /&gt;
|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|'''px'''&lt;br /&gt;
|font-size:12px&lt;br /&gt;
|-&lt;br /&gt;
|Emes(l'equivalent a l'amplada de la lletra m)&lt;br /&gt;
|'''em'''&lt;br /&gt;
|font-size:1.2em&lt;br /&gt;
|-&lt;br /&gt;
|Percentatge&lt;br /&gt;
|'''%'''&lt;br /&gt;
|font-size:120%&lt;br /&gt;
|}&lt;br /&gt;
Les mides en emes o percentatges són relatives a l'element pare de l'element al qual se li hagi donat estil&lt;br /&gt;
*El que s'acostuma a fer és definir la mida del '''body''' i la resta en forma relativa &lt;br /&gt;
*El cas que no s'indiqui res al '''body''', s'agafa la mida per defecte del navegador, que acostuma a ser de '''16px''' si no ha estat canviada per l'usuari&lt;br /&gt;
==Estils sobre llistats==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-type:'''&lt;br /&gt;
|''none | circle | disc | square | armenian | decimal | decimal-leading-zero | georgian | lower-alpha | lower-greek | lower-latin | lower-roman | upper-alpha | upper-latin | upper-roman | inherit''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-position:'''&lt;br /&gt;
|''inside | outside''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style:'''&lt;br /&gt;
|Permet establir tipus, posició i/o imatge en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exemple de CSS aplicat a llistes===&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
File:ImatgeCSS6.png|Pàgina HTML sense CSS&lt;br /&gt;
File:ImatgeCSS5.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif;&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	color: rgb(50,50,50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1 {&lt;br /&gt;
	font: 2em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	letter-spacing: -.5px;&lt;br /&gt;
	color:#576673;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
	font: 1.4em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
	color:#687c8e;&lt;br /&gt;
	border-bottom: 1px dotted #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul {&lt;br /&gt;
	list-style-type: circle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol {&lt;br /&gt;
	list-style-type: decimal-leading-zero;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol ol {&lt;br /&gt;
	list-style-type: lower-roman;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li em {&lt;br /&gt;
	color: #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li strong {&lt;br /&gt;
	color: #6a8ea4;	&lt;br /&gt;
	text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Precedència de regles==&lt;br /&gt;
Quan dues declaracions es contradiuen sobre un mateix element, s'apliquen dues normes:&lt;br /&gt;
*Primer s'aplica la regla més local&lt;br /&gt;
*Si són igual de locals, s'aplica la regla amb la puntuació més alta.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| per cada selector...&lt;br /&gt;
!| sumem ... punts&lt;br /&gt;
|-&lt;br /&gt;
|Etiqueta&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Classe(.)&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Id(#)&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|Resta&lt;br /&gt;
|0&lt;br /&gt;
|}&lt;br /&gt;
'''Sempre s'aplica aquella regla més específica'''.Si hi ha empat s'aplicarà aquella que aparegui més tard.&lt;br /&gt;
===Exemple de precedència de regles===&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Herencia&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
            #caja header h1 { color: blue; }&lt;br /&gt;
            #caja .cabecera h1 { color: red; }&lt;br /&gt;
            header h1 { color: lime; }&lt;br /&gt;
            h1 { color:purple; }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&amp;lt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;caja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;header class=&amp;quot;cabecera&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;h1&amp;gt;Cabecera: header&amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;/header&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Com podeu observar en el codi anterior, existeixen quatre regles CSS que fan referència al mateix element, concretament a l'encapçalament h1 del codi HMTL.&lt;br /&gt;
Per saber quina de les regles s'aplicarà, caldrà calcular el pes de cada una d'elles:&lt;br /&gt;
*'''#caja header h1 { color: blue; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 102: 100 per la referència a la classe ''caja'', 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''#caja .cabecera h1 { color: red; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 111 per la referència a la classe ''caja'', 10 per la referència a la classe ''cabecera'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''header h1 { color: lime; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 2, 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''h1 { color:purple; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 1 per la referència a ''h1''&lt;br /&gt;
Per tant, la regla que s'aplicarà en aquest cas és '''#caja .cabecera h1 { color: red; }'''&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:ImatgeCSS6.png&amp;diff=183</id>
		<title>File:ImatgeCSS6.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:ImatgeCSS6.png&amp;diff=183"/>
		<updated>2024-02-27T19:43:48Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:ImatgeCSS5.png&amp;diff=182</id>
		<title>File:ImatgeCSS5.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:ImatgeCSS5.png&amp;diff=182"/>
		<updated>2024-02-27T19:43:37Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:ImatgeCSS3.png&amp;diff=181</id>
		<title>File:ImatgeCSS3.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:ImatgeCSS3.png&amp;diff=181"/>
		<updated>2024-02-27T19:18:19Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=CSS&amp;diff=180</id>
		<title>CSS</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=CSS&amp;diff=180"/>
		<updated>2024-02-27T19:17:36Z</updated>

		<summary type="html">&lt;p&gt;Jaume: /* Exemple estils de text */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=El llenguatge CSS=&lt;br /&gt;
CSS és un llenguatge que permet descriure la '''presentació gràfica''' de les pàgines web&lt;br /&gt;
&lt;br /&gt;
CSS aporta una sèrie de beneficis als llocs web:&lt;br /&gt;
*'''Menys càrrega:''' s'acostuma a disposar d'un (o varis) fulls associats a totes les pàgines d'un lloc web. Un cop s'han descarregar no es tornes a descarregar.&lt;br /&gt;
*'''Menys esforç de modificació''', ja que els estils centralitzars permeten no haver d'anar pàgina a pàgina a realitzar canvis.&lt;br /&gt;
*'''Menys esforç per als cercadors''', que poden indexar el contingut ràpidament, sense haver de perdre el temps en estils&lt;br /&gt;
*'''Més rapidesa de desenvolupament''', ja que no s'han de repetir els mateixos fragments de codi diverses vegades.&lt;br /&gt;
*'''Més accessibilitat''' per als lectors de pantalla, que poden formatar de manera personalitzada les pàgines HTML&lt;br /&gt;
&lt;br /&gt;
==HTML + CSS==&lt;br /&gt;
Per a associar un full d'estils a una pàgina web cal incloure el següent fragment de codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;estil.css&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
dins de la secció '''&amp;lt;head&amp;gt;''' d'una pàgina.&lt;br /&gt;
&lt;br /&gt;
Es poden associar tants fulls d'estil com es vulgui.&lt;br /&gt;
&lt;br /&gt;
Existeixen dues maneres més d'assignar estils a les pàgines HTML.&lt;br /&gt;
* Elements '''&amp;lt;style&amp;gt;'''&lt;br /&gt;
* Atribut '''style=&amp;quot;&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
==Arquitectura d'un full d'estils ==&lt;br /&gt;
Els fulls d'estils CSS estan constituïts per diverses regles que defineixen com es mostren els elements que especifiquen.&lt;br /&gt;
&lt;br /&gt;
Cada regla té dues parts:&lt;br /&gt;
*El '''selector''': determina sobre '''quins''' elements de la pàgina s'aplica l'estil&lt;br /&gt;
*La '''declaració''': estableix quins formats s'apliquen sobre la selecció feta&lt;br /&gt;
**Cada declaració indica un '''valor''' per a cadascuna de les '''propietats''' de l'element&lt;br /&gt;
[[File:ImatgeCSS1.png|center]]&lt;br /&gt;
Com es pot veure, una declaració es pot aprofitar per a diversos selectors separant-los per comes.&lt;br /&gt;
&lt;br /&gt;
==Selectors bàsics de CSS ==&lt;br /&gt;
Els selectors CSS més utilitzats són:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|Notació&lt;br /&gt;
!|Ús&lt;br /&gt;
!|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Selecciona tots els elements de l'àmbit&lt;br /&gt;
|*{...}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Selecciona per tipus d'element&lt;br /&gt;
|p, h3{...}&lt;br /&gt;
|-&lt;br /&gt;
|.&lt;br /&gt;
|Selecciona els elements d'una classe concreta&lt;br /&gt;
|.titular{...}&lt;br /&gt;
|-&lt;br /&gt;
|#&lt;br /&gt;
|Selecciona l'element que té l'id indicat&lt;br /&gt;
|#capsalera{...}&lt;br /&gt;
|-&lt;br /&gt;
|(espai)&lt;br /&gt;
|Selecciona els elements dins de l'arbre HTML&lt;br /&gt;
|div span{...}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|Selecciona els elements justament per sota d'un altre element&lt;br /&gt;
|div &amp;gt; span{...}&lt;br /&gt;
|}&lt;br /&gt;
Podem combinar selectors de diversos tipus: '''cal imaginar l'HTML com un arbre i navegar-lo.&lt;br /&gt;
&lt;br /&gt;
Per exemple, el següent codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;My home page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My home page&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Hello, I am Marijn and this is my home page.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;I also wrote a book! Read it&lt;br /&gt;
      &amp;lt;a href=&amp;quot;http://eloquentjavascript.net&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Està estructurat com indicar el següent arbre:&lt;br /&gt;
[[Fitxer:Html-tree.jpg|thumb|center]]&lt;br /&gt;
== Declaració d'estils ==&lt;br /&gt;
Els selectors que hem vist fins ara no tindrien cap sentit sense una sèrie de propietats que podem modificar.&lt;br /&gt;
Aquestes propietats són molt extenses i no és a l'abast d'aquest mòdul estudiar-los tots. En el següent link, podem trobar el llistat de propietats de CSS [http://www.w3.org/TR/CSS Link]&lt;br /&gt;
===Estils de text===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''color:'''&lt;br /&gt;
|''Color''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-family:'''&lt;br /&gt;
|Família de fonts&lt;br /&gt;
|-&lt;br /&gt;
|'''font-size:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-style:'''&lt;br /&gt;
|''normal'' | italic&lt;br /&gt;
|-&lt;br /&gt;
|'''font-weight'''&lt;br /&gt;
|''normal'' | bold&lt;br /&gt;
|-&lt;br /&gt;
|'''line-height:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''text-align:'''&lt;br /&gt;
|''left'' | right | center | justify&lt;br /&gt;
|-&lt;br /&gt;
|'''text-decoration:'''&lt;br /&gt;
|''none'' | underline | overline | line-through&lt;br /&gt;
|-&lt;br /&gt;
|'''text-transform'''&lt;br /&gt;
|''none'' | uppercase | lowercase&lt;br /&gt;
|-&lt;br /&gt;
|'''font'''&lt;br /&gt;
|Permet establir ''font-style'' - ''font-variant'' - ''font-weight'' - ''font-size/line-height'' - ''font-family'', en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
===Exemple estils de text ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
File:ImatgeCSS3.png|Pàgina HTML sense CSS&lt;br /&gt;
File:ImatgeCSS2.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	background-color: #f8f8f8;&lt;br /&gt;
	font-family: &amp;quot;Lucida Grande&amp;quot;, Tahoma, Arial, sans-serif;&lt;br /&gt;
	font-size:12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1, h2 {&lt;br /&gt;
	border-bottom:1px solid #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#capsalera h1 {&lt;br /&gt;
	font: italic bold 50px Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.dolly, a {&lt;br /&gt;
	color:#7fa3fc;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a {&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#peu {&lt;br /&gt;
	text-align:right;&lt;br /&gt;
	margin-top:40px;&lt;br /&gt;
	border-top:1px dotted #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Colors en CSS==&lt;br /&gt;
Les tres maneres més típiques d'indicar colors en CSS són:&lt;br /&gt;
*'''En format hexadecimal:#RRGGBB'''.Cada posició representa una xifra de 0 a la F(15) que indica la quantitat d'aquell color.&lt;br /&gt;
*'''En format RGB:rgb(r,g,b)'''En cada espai del parèntesi s'indica la quantitat de color del 0 al 255&lt;br /&gt;
**Com a derivat d'aquest existeix el format '''format RGBA''', amb un valor de transparència del 0 a l'1 en l'última posició: '''rgb(r,g,b,a)'''&lt;br /&gt;
*'''Nom de color''':es proporciona una llista de 147 colors predeterminats que es poden utilitzar directament.&lt;br /&gt;
**black, blue, white, red, green, yellow, magenta&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Web_colors Colors en CSS]&lt;br /&gt;
[[Fitxer:ImatgeCSS4.png|center]]&lt;br /&gt;
Els llocs més típics on acostumem a aplicar colors són:&lt;br /&gt;
*'''Tipografies''': mitjançant la propietat ''color''&lt;br /&gt;
*'''Fons''': mitjançant la propietat ''background-color'' assignen colors de fons a qualsevol tipus d'element&lt;br /&gt;
*'''Vores''':''border-color'',''border-left-color'',...&lt;br /&gt;
&lt;br /&gt;
==Unitats de mida==&lt;br /&gt;
Les mides es poden indicar en les següents unitats:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Notació&lt;br /&gt;
!| Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|Notació&lt;br /&gt;
|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|'''px'''&lt;br /&gt;
|font-size:12px&lt;br /&gt;
|-&lt;br /&gt;
|Emes(l'equivalent a l'amplada de la lletra m)&lt;br /&gt;
|'''em'''&lt;br /&gt;
|font-size:1.2em&lt;br /&gt;
|-&lt;br /&gt;
|Percentatge&lt;br /&gt;
|'''%'''&lt;br /&gt;
|font-size:120%&lt;br /&gt;
|}&lt;br /&gt;
Les mides en emes o percentatges són relatives a l'element pare de l'element al qual se li hagi donat estil&lt;br /&gt;
*El que s'acostuma a fer és definir la mida del '''body''' i la resta en forma relativa &lt;br /&gt;
*El cas que no s'indiqui res al '''body''', s'agafa la mida per defecte del navegador, que acostuma a ser de '''16px''' si no ha estat canviada per l'usuari&lt;br /&gt;
==Estils sobre llistats==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-type:'''&lt;br /&gt;
|''none | circle | disc | square | armenian | decimal | decimal-leading-zero | georgian | lower-alpha | lower-greek | lower-latin | lower-roman | upper-alpha | upper-latin | upper-roman | inherit''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-position:'''&lt;br /&gt;
|''inside | outside''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style:'''&lt;br /&gt;
|Permet establir tipus, posició i/o imatge en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exemple de CSS aplicat a llistes===&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS6.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS5.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif;&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	color: rgb(50,50,50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1 {&lt;br /&gt;
	font: 2em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	letter-spacing: -.5px;&lt;br /&gt;
	color:#576673;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
	font: 1.4em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
	color:#687c8e;&lt;br /&gt;
	border-bottom: 1px dotted #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul {&lt;br /&gt;
	list-style-type: circle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol {&lt;br /&gt;
	list-style-type: decimal-leading-zero;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol ol {&lt;br /&gt;
	list-style-type: lower-roman;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li em {&lt;br /&gt;
	color: #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li strong {&lt;br /&gt;
	color: #6a8ea4;	&lt;br /&gt;
	text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Precedència de regles==&lt;br /&gt;
Quan dues declaracions es contradiuen sobre un mateix element, s'apliquen dues normes:&lt;br /&gt;
*Primer s'aplica la regla més local&lt;br /&gt;
*Si són igual de locals, s'aplica la regla amb la puntuació més alta.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| per cada selector...&lt;br /&gt;
!| sumem ... punts&lt;br /&gt;
|-&lt;br /&gt;
|Etiqueta&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Classe(.)&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Id(#)&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|Resta&lt;br /&gt;
|0&lt;br /&gt;
|}&lt;br /&gt;
'''Sempre s'aplica aquella regla més específica'''.Si hi ha empat s'aplicarà aquella que aparegui més tard.&lt;br /&gt;
===Exemple de precedència de regles===&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Herencia&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
            #caja header h1 { color: blue; }&lt;br /&gt;
            #caja .cabecera h1 { color: red; }&lt;br /&gt;
            header h1 { color: lime; }&lt;br /&gt;
            h1 { color:purple; }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&amp;lt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;caja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;header class=&amp;quot;cabecera&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;h1&amp;gt;Cabecera: header&amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;/header&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Com podeu observar en el codi anterior, existeixen quatre regles CSS que fan referència al mateix element, concretament a l'encapçalament h1 del codi HMTL.&lt;br /&gt;
Per saber quina de les regles s'aplicarà, caldrà calcular el pes de cada una d'elles:&lt;br /&gt;
*'''#caja header h1 { color: blue; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 102: 100 per la referència a la classe ''caja'', 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''#caja .cabecera h1 { color: red; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 111 per la referència a la classe ''caja'', 10 per la referència a la classe ''cabecera'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''header h1 { color: lime; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 2, 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''h1 { color:purple; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 1 per la referència a ''h1''&lt;br /&gt;
Per tant, la regla que s'aplicarà en aquest cas és '''#caja .cabecera h1 { color: red; }'''&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:ImatgeCSS2.png&amp;diff=179</id>
		<title>File:ImatgeCSS2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:ImatgeCSS2.png&amp;diff=179"/>
		<updated>2024-02-27T19:16:49Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=CSS&amp;diff=178</id>
		<title>CSS</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=CSS&amp;diff=178"/>
		<updated>2024-02-22T15:37:36Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=El llenguatge CSS=&lt;br /&gt;
CSS és un llenguatge que permet descriure la '''presentació gràfica''' de les pàgines web&lt;br /&gt;
&lt;br /&gt;
CSS aporta una sèrie de beneficis als llocs web:&lt;br /&gt;
*'''Menys càrrega:''' s'acostuma a disposar d'un (o varis) fulls associats a totes les pàgines d'un lloc web. Un cop s'han descarregar no es tornes a descarregar.&lt;br /&gt;
*'''Menys esforç de modificació''', ja que els estils centralitzars permeten no haver d'anar pàgina a pàgina a realitzar canvis.&lt;br /&gt;
*'''Menys esforç per als cercadors''', que poden indexar el contingut ràpidament, sense haver de perdre el temps en estils&lt;br /&gt;
*'''Més rapidesa de desenvolupament''', ja que no s'han de repetir els mateixos fragments de codi diverses vegades.&lt;br /&gt;
*'''Més accessibilitat''' per als lectors de pantalla, que poden formatar de manera personalitzada les pàgines HTML&lt;br /&gt;
&lt;br /&gt;
==HTML + CSS==&lt;br /&gt;
Per a associar un full d'estils a una pàgina web cal incloure el següent fragment de codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;estil.css&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
dins de la secció '''&amp;lt;head&amp;gt;''' d'una pàgina.&lt;br /&gt;
&lt;br /&gt;
Es poden associar tants fulls d'estil com es vulgui.&lt;br /&gt;
&lt;br /&gt;
Existeixen dues maneres més d'assignar estils a les pàgines HTML.&lt;br /&gt;
* Elements '''&amp;lt;style&amp;gt;'''&lt;br /&gt;
* Atribut '''style=&amp;quot;&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
==Arquitectura d'un full d'estils ==&lt;br /&gt;
Els fulls d'estils CSS estan constituïts per diverses regles que defineixen com es mostren els elements que especifiquen.&lt;br /&gt;
&lt;br /&gt;
Cada regla té dues parts:&lt;br /&gt;
*El '''selector''': determina sobre '''quins''' elements de la pàgina s'aplica l'estil&lt;br /&gt;
*La '''declaració''': estableix quins formats s'apliquen sobre la selecció feta&lt;br /&gt;
**Cada declaració indica un '''valor''' per a cadascuna de les '''propietats''' de l'element&lt;br /&gt;
[[File:ImatgeCSS1.png|center]]&lt;br /&gt;
Com es pot veure, una declaració es pot aprofitar per a diversos selectors separant-los per comes.&lt;br /&gt;
&lt;br /&gt;
==Selectors bàsics de CSS ==&lt;br /&gt;
Els selectors CSS més utilitzats són:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|Notació&lt;br /&gt;
!|Ús&lt;br /&gt;
!|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Selecciona tots els elements de l'àmbit&lt;br /&gt;
|*{...}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Selecciona per tipus d'element&lt;br /&gt;
|p, h3{...}&lt;br /&gt;
|-&lt;br /&gt;
|.&lt;br /&gt;
|Selecciona els elements d'una classe concreta&lt;br /&gt;
|.titular{...}&lt;br /&gt;
|-&lt;br /&gt;
|#&lt;br /&gt;
|Selecciona l'element que té l'id indicat&lt;br /&gt;
|#capsalera{...}&lt;br /&gt;
|-&lt;br /&gt;
|(espai)&lt;br /&gt;
|Selecciona els elements dins de l'arbre HTML&lt;br /&gt;
|div span{...}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|Selecciona els elements justament per sota d'un altre element&lt;br /&gt;
|div &amp;gt; span{...}&lt;br /&gt;
|}&lt;br /&gt;
Podem combinar selectors de diversos tipus: '''cal imaginar l'HTML com un arbre i navegar-lo.&lt;br /&gt;
&lt;br /&gt;
Per exemple, el següent codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;My home page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My home page&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Hello, I am Marijn and this is my home page.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;I also wrote a book! Read it&lt;br /&gt;
      &amp;lt;a href=&amp;quot;http://eloquentjavascript.net&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Està estructurat com indicar el següent arbre:&lt;br /&gt;
[[Fitxer:Html-tree.jpg|thumb|center]]&lt;br /&gt;
== Declaració d'estils ==&lt;br /&gt;
Els selectors que hem vist fins ara no tindrien cap sentit sense una sèrie de propietats que podem modificar.&lt;br /&gt;
Aquestes propietats són molt extenses i no és a l'abast d'aquest mòdul estudiar-los tots. En el següent link, podem trobar el llistat de propietats de CSS [http://www.w3.org/TR/CSS Link]&lt;br /&gt;
===Estils de text===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''color:'''&lt;br /&gt;
|''Color''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-family:'''&lt;br /&gt;
|Família de fonts&lt;br /&gt;
|-&lt;br /&gt;
|'''font-size:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-style:'''&lt;br /&gt;
|''normal'' | italic&lt;br /&gt;
|-&lt;br /&gt;
|'''font-weight'''&lt;br /&gt;
|''normal'' | bold&lt;br /&gt;
|-&lt;br /&gt;
|'''line-height:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''text-align:'''&lt;br /&gt;
|''left'' | right | center | justify&lt;br /&gt;
|-&lt;br /&gt;
|'''text-decoration:'''&lt;br /&gt;
|''none'' | underline | overline | line-through&lt;br /&gt;
|-&lt;br /&gt;
|'''text-transform'''&lt;br /&gt;
|''none'' | uppercase | lowercase&lt;br /&gt;
|-&lt;br /&gt;
|'''font'''&lt;br /&gt;
|Permet establir ''font-style'' - ''font-variant'' - ''font-weight'' - ''font-size/line-height'' - ''font-family'', en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
===Exemple estils de text ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS3.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS2.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	background-color: #f8f8f8;&lt;br /&gt;
	font-family: &amp;quot;Lucida Grande&amp;quot;, Tahoma, Arial, sans-serif;&lt;br /&gt;
	font-size:12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1, h2 {&lt;br /&gt;
	border-bottom:1px solid #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#capsalera h1 {&lt;br /&gt;
	font: italic bold 50px Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.dolly, a {&lt;br /&gt;
	color:#7fa3fc;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a {&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#peu {&lt;br /&gt;
	text-align:right;&lt;br /&gt;
	margin-top:40px;&lt;br /&gt;
	border-top:1px dotted #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Colors en CSS==&lt;br /&gt;
Les tres maneres més típiques d'indicar colors en CSS són:&lt;br /&gt;
*'''En format hexadecimal:#RRGGBB'''.Cada posició representa una xifra de 0 a la F(15) que indica la quantitat d'aquell color.&lt;br /&gt;
*'''En format RGB:rgb(r,g,b)'''En cada espai del parèntesi s'indica la quantitat de color del 0 al 255&lt;br /&gt;
**Com a derivat d'aquest existeix el format '''format RGBA''', amb un valor de transparència del 0 a l'1 en l'última posició: '''rgb(r,g,b,a)'''&lt;br /&gt;
*'''Nom de color''':es proporciona una llista de 147 colors predeterminats que es poden utilitzar directament.&lt;br /&gt;
**black, blue, white, red, green, yellow, magenta&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Web_colors Colors en CSS]&lt;br /&gt;
[[Fitxer:ImatgeCSS4.png|center]]&lt;br /&gt;
Els llocs més típics on acostumem a aplicar colors són:&lt;br /&gt;
*'''Tipografies''': mitjançant la propietat ''color''&lt;br /&gt;
*'''Fons''': mitjançant la propietat ''background-color'' assignen colors de fons a qualsevol tipus d'element&lt;br /&gt;
*'''Vores''':''border-color'',''border-left-color'',...&lt;br /&gt;
&lt;br /&gt;
==Unitats de mida==&lt;br /&gt;
Les mides es poden indicar en les següents unitats:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Notació&lt;br /&gt;
!| Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|Notació&lt;br /&gt;
|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|'''px'''&lt;br /&gt;
|font-size:12px&lt;br /&gt;
|-&lt;br /&gt;
|Emes(l'equivalent a l'amplada de la lletra m)&lt;br /&gt;
|'''em'''&lt;br /&gt;
|font-size:1.2em&lt;br /&gt;
|-&lt;br /&gt;
|Percentatge&lt;br /&gt;
|'''%'''&lt;br /&gt;
|font-size:120%&lt;br /&gt;
|}&lt;br /&gt;
Les mides en emes o percentatges són relatives a l'element pare de l'element al qual se li hagi donat estil&lt;br /&gt;
*El que s'acostuma a fer és definir la mida del '''body''' i la resta en forma relativa &lt;br /&gt;
*El cas que no s'indiqui res al '''body''', s'agafa la mida per defecte del navegador, que acostuma a ser de '''16px''' si no ha estat canviada per l'usuari&lt;br /&gt;
==Estils sobre llistats==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-type:'''&lt;br /&gt;
|''none | circle | disc | square | armenian | decimal | decimal-leading-zero | georgian | lower-alpha | lower-greek | lower-latin | lower-roman | upper-alpha | upper-latin | upper-roman | inherit''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-position:'''&lt;br /&gt;
|''inside | outside''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style:'''&lt;br /&gt;
|Permet establir tipus, posició i/o imatge en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exemple de CSS aplicat a llistes===&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS6.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS5.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif;&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	color: rgb(50,50,50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1 {&lt;br /&gt;
	font: 2em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	letter-spacing: -.5px;&lt;br /&gt;
	color:#576673;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
	font: 1.4em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
	color:#687c8e;&lt;br /&gt;
	border-bottom: 1px dotted #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul {&lt;br /&gt;
	list-style-type: circle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol {&lt;br /&gt;
	list-style-type: decimal-leading-zero;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol ol {&lt;br /&gt;
	list-style-type: lower-roman;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li em {&lt;br /&gt;
	color: #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li strong {&lt;br /&gt;
	color: #6a8ea4;	&lt;br /&gt;
	text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Precedència de regles==&lt;br /&gt;
Quan dues declaracions es contradiuen sobre un mateix element, s'apliquen dues normes:&lt;br /&gt;
*Primer s'aplica la regla més local&lt;br /&gt;
*Si són igual de locals, s'aplica la regla amb la puntuació més alta.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| per cada selector...&lt;br /&gt;
!| sumem ... punts&lt;br /&gt;
|-&lt;br /&gt;
|Etiqueta&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Classe(.)&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Id(#)&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|Resta&lt;br /&gt;
|0&lt;br /&gt;
|}&lt;br /&gt;
'''Sempre s'aplica aquella regla més específica'''.Si hi ha empat s'aplicarà aquella que aparegui més tard.&lt;br /&gt;
===Exemple de precedència de regles===&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Herencia&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
            #caja header h1 { color: blue; }&lt;br /&gt;
            #caja .cabecera h1 { color: red; }&lt;br /&gt;
            header h1 { color: lime; }&lt;br /&gt;
            h1 { color:purple; }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&amp;lt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;caja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;header class=&amp;quot;cabecera&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;h1&amp;gt;Cabecera: header&amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;/header&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Com podeu observar en el codi anterior, existeixen quatre regles CSS que fan referència al mateix element, concretament a l'encapçalament h1 del codi HMTL.&lt;br /&gt;
Per saber quina de les regles s'aplicarà, caldrà calcular el pes de cada una d'elles:&lt;br /&gt;
*'''#caja header h1 { color: blue; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 102: 100 per la referència a la classe ''caja'', 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''#caja .cabecera h1 { color: red; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 111 per la referència a la classe ''caja'', 10 per la referència a la classe ''cabecera'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''header h1 { color: lime; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 2, 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''h1 { color:purple; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 1 per la referència a ''h1''&lt;br /&gt;
Per tant, la regla que s'aplicarà en aquest cas és '''#caja .cabecera h1 { color: red; }'''&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=CSS&amp;diff=177</id>
		<title>CSS</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=CSS&amp;diff=177"/>
		<updated>2024-02-22T15:37:20Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=El llenguatge CSS=&lt;br /&gt;
CSS és un llenguatge que permet descriure la '''presentació gràfica''' de les pàgines web&lt;br /&gt;
&lt;br /&gt;
CSS aporta una sèrie de beneficis als llocs web:&lt;br /&gt;
*'''Menys càrrega:''' s'acostuma a disposar d'un (o varis) fulls associats a totes les pàgines d'un lloc web. Un cop s'han descarregar no es tornes a descarregar.&lt;br /&gt;
*'''Menys esforç de modificació''', ja que els estils centralitzars permeten no haver d'anar pàgina a pàgina a realitzar canvis.&lt;br /&gt;
*'''Menys esforç per als cercadors''', que poden indexar el contingut ràpidament, sense haver de perdre el temps en estils&lt;br /&gt;
*'''Més rapidesa de desenvolupament''', ja que no s'han de repetir els mateixos fragments de codi diverses vegades.&lt;br /&gt;
*'''Més accessibilitat''' per als lectors de pantalla, que poden formatar de manera personalitzada les pàgines HTML&lt;br /&gt;
&lt;br /&gt;
==HTML + CSS==&lt;br /&gt;
Per a associar un full d'estils a una pàgina web cal incloure el següent fragment de codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;estil.css&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
dins de la secció '''&amp;lt;head&amp;gt;''' d'una pàgina.&lt;br /&gt;
&lt;br /&gt;
Es poden associar tants fulls d'estil com es vulgui.&lt;br /&gt;
&lt;br /&gt;
Existeixen dues maneres més d'assignar estils a les pàgines HTML.&lt;br /&gt;
* Elements '''&amp;lt;style&amp;gt;'''&lt;br /&gt;
* Atribut '''style=&amp;quot;&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
==Arquitectura d'un full d'estils ==&lt;br /&gt;
Els fulls d'estils CSS estan constituïts per diverses regles que defineixen com es mostren els elements que especifiquen.&lt;br /&gt;
&lt;br /&gt;
Cada regla té dues parts:&lt;br /&gt;
*El '''selector''': determina sobre '''quins''' elements de la pàgina s'aplica l'estil&lt;br /&gt;
*La '''declaració''': estableix quins formats s'apliquen sobre la selecció feta&lt;br /&gt;
**Cada declaració indica un '''valor''' per a cadascuna de les '''propietats''' de l'element&lt;br /&gt;
[[File:ImatgeCSS1.png]]&lt;br /&gt;
Com es pot veure, una declaració es pot aprofitar per a diversos selectors separant-los per comes.&lt;br /&gt;
&lt;br /&gt;
==Selectors bàsics de CSS ==&lt;br /&gt;
Els selectors CSS més utilitzats són:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|Notació&lt;br /&gt;
!|Ús&lt;br /&gt;
!|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Selecciona tots els elements de l'àmbit&lt;br /&gt;
|*{...}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Selecciona per tipus d'element&lt;br /&gt;
|p, h3{...}&lt;br /&gt;
|-&lt;br /&gt;
|.&lt;br /&gt;
|Selecciona els elements d'una classe concreta&lt;br /&gt;
|.titular{...}&lt;br /&gt;
|-&lt;br /&gt;
|#&lt;br /&gt;
|Selecciona l'element que té l'id indicat&lt;br /&gt;
|#capsalera{...}&lt;br /&gt;
|-&lt;br /&gt;
|(espai)&lt;br /&gt;
|Selecciona els elements dins de l'arbre HTML&lt;br /&gt;
|div span{...}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|Selecciona els elements justament per sota d'un altre element&lt;br /&gt;
|div &amp;gt; span{...}&lt;br /&gt;
|}&lt;br /&gt;
Podem combinar selectors de diversos tipus: '''cal imaginar l'HTML com un arbre i navegar-lo.&lt;br /&gt;
&lt;br /&gt;
Per exemple, el següent codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;My home page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My home page&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Hello, I am Marijn and this is my home page.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;I also wrote a book! Read it&lt;br /&gt;
      &amp;lt;a href=&amp;quot;http://eloquentjavascript.net&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Està estructurat com indicar el següent arbre:&lt;br /&gt;
[[Fitxer:Html-tree.jpg|thumb|center]]&lt;br /&gt;
== Declaració d'estils ==&lt;br /&gt;
Els selectors que hem vist fins ara no tindrien cap sentit sense una sèrie de propietats que podem modificar.&lt;br /&gt;
Aquestes propietats són molt extenses i no és a l'abast d'aquest mòdul estudiar-los tots. En el següent link, podem trobar el llistat de propietats de CSS [http://www.w3.org/TR/CSS Link]&lt;br /&gt;
===Estils de text===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''color:'''&lt;br /&gt;
|''Color''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-family:'''&lt;br /&gt;
|Família de fonts&lt;br /&gt;
|-&lt;br /&gt;
|'''font-size:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-style:'''&lt;br /&gt;
|''normal'' | italic&lt;br /&gt;
|-&lt;br /&gt;
|'''font-weight'''&lt;br /&gt;
|''normal'' | bold&lt;br /&gt;
|-&lt;br /&gt;
|'''line-height:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''text-align:'''&lt;br /&gt;
|''left'' | right | center | justify&lt;br /&gt;
|-&lt;br /&gt;
|'''text-decoration:'''&lt;br /&gt;
|''none'' | underline | overline | line-through&lt;br /&gt;
|-&lt;br /&gt;
|'''text-transform'''&lt;br /&gt;
|''none'' | uppercase | lowercase&lt;br /&gt;
|-&lt;br /&gt;
|'''font'''&lt;br /&gt;
|Permet establir ''font-style'' - ''font-variant'' - ''font-weight'' - ''font-size/line-height'' - ''font-family'', en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
===Exemple estils de text ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS3.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS2.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	background-color: #f8f8f8;&lt;br /&gt;
	font-family: &amp;quot;Lucida Grande&amp;quot;, Tahoma, Arial, sans-serif;&lt;br /&gt;
	font-size:12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1, h2 {&lt;br /&gt;
	border-bottom:1px solid #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#capsalera h1 {&lt;br /&gt;
	font: italic bold 50px Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.dolly, a {&lt;br /&gt;
	color:#7fa3fc;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a {&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#peu {&lt;br /&gt;
	text-align:right;&lt;br /&gt;
	margin-top:40px;&lt;br /&gt;
	border-top:1px dotted #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Colors en CSS==&lt;br /&gt;
Les tres maneres més típiques d'indicar colors en CSS són:&lt;br /&gt;
*'''En format hexadecimal:#RRGGBB'''.Cada posició representa una xifra de 0 a la F(15) que indica la quantitat d'aquell color.&lt;br /&gt;
*'''En format RGB:rgb(r,g,b)'''En cada espai del parèntesi s'indica la quantitat de color del 0 al 255&lt;br /&gt;
**Com a derivat d'aquest existeix el format '''format RGBA''', amb un valor de transparència del 0 a l'1 en l'última posició: '''rgb(r,g,b,a)'''&lt;br /&gt;
*'''Nom de color''':es proporciona una llista de 147 colors predeterminats que es poden utilitzar directament.&lt;br /&gt;
**black, blue, white, red, green, yellow, magenta&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Web_colors Colors en CSS]&lt;br /&gt;
[[Fitxer:ImatgeCSS4.png|center]]&lt;br /&gt;
Els llocs més típics on acostumem a aplicar colors són:&lt;br /&gt;
*'''Tipografies''': mitjançant la propietat ''color''&lt;br /&gt;
*'''Fons''': mitjançant la propietat ''background-color'' assignen colors de fons a qualsevol tipus d'element&lt;br /&gt;
*'''Vores''':''border-color'',''border-left-color'',...&lt;br /&gt;
&lt;br /&gt;
==Unitats de mida==&lt;br /&gt;
Les mides es poden indicar en les següents unitats:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Notació&lt;br /&gt;
!| Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|Notació&lt;br /&gt;
|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|'''px'''&lt;br /&gt;
|font-size:12px&lt;br /&gt;
|-&lt;br /&gt;
|Emes(l'equivalent a l'amplada de la lletra m)&lt;br /&gt;
|'''em'''&lt;br /&gt;
|font-size:1.2em&lt;br /&gt;
|-&lt;br /&gt;
|Percentatge&lt;br /&gt;
|'''%'''&lt;br /&gt;
|font-size:120%&lt;br /&gt;
|}&lt;br /&gt;
Les mides en emes o percentatges són relatives a l'element pare de l'element al qual se li hagi donat estil&lt;br /&gt;
*El que s'acostuma a fer és definir la mida del '''body''' i la resta en forma relativa &lt;br /&gt;
*El cas que no s'indiqui res al '''body''', s'agafa la mida per defecte del navegador, que acostuma a ser de '''16px''' si no ha estat canviada per l'usuari&lt;br /&gt;
==Estils sobre llistats==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-type:'''&lt;br /&gt;
|''none | circle | disc | square | armenian | decimal | decimal-leading-zero | georgian | lower-alpha | lower-greek | lower-latin | lower-roman | upper-alpha | upper-latin | upper-roman | inherit''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-position:'''&lt;br /&gt;
|''inside | outside''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style:'''&lt;br /&gt;
|Permet establir tipus, posició i/o imatge en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exemple de CSS aplicat a llistes===&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS6.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS5.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif;&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	color: rgb(50,50,50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1 {&lt;br /&gt;
	font: 2em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	letter-spacing: -.5px;&lt;br /&gt;
	color:#576673;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
	font: 1.4em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
	color:#687c8e;&lt;br /&gt;
	border-bottom: 1px dotted #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul {&lt;br /&gt;
	list-style-type: circle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol {&lt;br /&gt;
	list-style-type: decimal-leading-zero;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol ol {&lt;br /&gt;
	list-style-type: lower-roman;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li em {&lt;br /&gt;
	color: #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li strong {&lt;br /&gt;
	color: #6a8ea4;	&lt;br /&gt;
	text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Precedència de regles==&lt;br /&gt;
Quan dues declaracions es contradiuen sobre un mateix element, s'apliquen dues normes:&lt;br /&gt;
*Primer s'aplica la regla més local&lt;br /&gt;
*Si són igual de locals, s'aplica la regla amb la puntuació més alta.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| per cada selector...&lt;br /&gt;
!| sumem ... punts&lt;br /&gt;
|-&lt;br /&gt;
|Etiqueta&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Classe(.)&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Id(#)&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|Resta&lt;br /&gt;
|0&lt;br /&gt;
|}&lt;br /&gt;
'''Sempre s'aplica aquella regla més específica'''.Si hi ha empat s'aplicarà aquella que aparegui més tard.&lt;br /&gt;
===Exemple de precedència de regles===&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Herencia&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
            #caja header h1 { color: blue; }&lt;br /&gt;
            #caja .cabecera h1 { color: red; }&lt;br /&gt;
            header h1 { color: lime; }&lt;br /&gt;
            h1 { color:purple; }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&amp;lt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;caja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;header class=&amp;quot;cabecera&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;h1&amp;gt;Cabecera: header&amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;/header&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Com podeu observar en el codi anterior, existeixen quatre regles CSS que fan referència al mateix element, concretament a l'encapçalament h1 del codi HMTL.&lt;br /&gt;
Per saber quina de les regles s'aplicarà, caldrà calcular el pes de cada una d'elles:&lt;br /&gt;
*'''#caja header h1 { color: blue; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 102: 100 per la referència a la classe ''caja'', 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''#caja .cabecera h1 { color: red; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 111 per la referència a la classe ''caja'', 10 per la referència a la classe ''cabecera'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''header h1 { color: lime; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 2, 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''h1 { color:purple; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 1 per la referència a ''h1''&lt;br /&gt;
Per tant, la regla que s'aplicarà en aquest cas és '''#caja .cabecera h1 { color: red; }'''&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=CSS&amp;diff=176</id>
		<title>CSS</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=CSS&amp;diff=176"/>
		<updated>2024-02-22T15:36:20Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=El llenguatge CSS=&lt;br /&gt;
CSS és un llenguatge que permet descriure la '''presentació gràfica''' de les pàgines web&lt;br /&gt;
&lt;br /&gt;
CSS aporta una sèrie de beneficis als llocs web:&lt;br /&gt;
*'''Menys càrrega:''' s'acostuma a disposar d'un (o varis) fulls associats a totes les pàgines d'un lloc web. Un cop s'han descarregar no es tornes a descarregar.&lt;br /&gt;
*'''Menys esforç de modificació''', ja que els estils centralitzars permeten no haver d'anar pàgina a pàgina a realitzar canvis.&lt;br /&gt;
*'''Menys esforç per als cercadors''', que poden indexar el contingut ràpidament, sense haver de perdre el temps en estils&lt;br /&gt;
*'''Més rapidesa de desenvolupament''', ja que no s'han de repetir els mateixos fragments de codi diverses vegades.&lt;br /&gt;
*'''Més accessibilitat''' per als lectors de pantalla, que poden formatar de manera personalitzada les pàgines HTML&lt;br /&gt;
&lt;br /&gt;
==HTML + CSS==&lt;br /&gt;
Per a associar un full d'estils a una pàgina web cal incloure el següent fragment de codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;estil.css&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
dins de la secció '''&amp;lt;head&amp;gt;''' d'una pàgina.&lt;br /&gt;
&lt;br /&gt;
Es poden associar tants fulls d'estil com es vulgui.&lt;br /&gt;
&lt;br /&gt;
Existeixen dues maneres més d'assignar estils a les pàgines HTML.&lt;br /&gt;
* Elements '''&amp;lt;style&amp;gt;'''&lt;br /&gt;
* Atribut '''style=&amp;quot;&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
==Arquitectura d'un full d'estils ==&lt;br /&gt;
Els fulls d'estils CSS estan constituïts per diverses regles que defineixen com es mostren els elements que especifiquen.&lt;br /&gt;
&lt;br /&gt;
Cada regla té dues parts:&lt;br /&gt;
*El '''selector''': determina sobre '''quins''' elements de la pàgina s'aplica l'estil&lt;br /&gt;
*La '''declaració''': estableix quins formats s'apliquen sobre la selecció feta&lt;br /&gt;
**Cada declaració indica un '''valor''' per a cadascuna de les '''propietats''' de l'element&lt;br /&gt;
[[Fitxer:ImatgeCSS1.png]]&lt;br /&gt;
Com es pot veure, una declaració es pot aprofitar per a diversos selectors separant-los per comes.&lt;br /&gt;
&lt;br /&gt;
==Selectors bàsics de CSS ==&lt;br /&gt;
Els selectors CSS més utilitzats són:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|Notació&lt;br /&gt;
!|Ús&lt;br /&gt;
!|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Selecciona tots els elements de l'àmbit&lt;br /&gt;
|*{...}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Selecciona per tipus d'element&lt;br /&gt;
|p, h3{...}&lt;br /&gt;
|-&lt;br /&gt;
|.&lt;br /&gt;
|Selecciona els elements d'una classe concreta&lt;br /&gt;
|.titular{...}&lt;br /&gt;
|-&lt;br /&gt;
|#&lt;br /&gt;
|Selecciona l'element que té l'id indicat&lt;br /&gt;
|#capsalera{...}&lt;br /&gt;
|-&lt;br /&gt;
|(espai)&lt;br /&gt;
|Selecciona els elements dins de l'arbre HTML&lt;br /&gt;
|div span{...}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|Selecciona els elements justament per sota d'un altre element&lt;br /&gt;
|div &amp;gt; span{...}&lt;br /&gt;
|}&lt;br /&gt;
Podem combinar selectors de diversos tipus: '''cal imaginar l'HTML com un arbre i navegar-lo.&lt;br /&gt;
&lt;br /&gt;
Per exemple, el següent codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;My home page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My home page&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Hello, I am Marijn and this is my home page.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;I also wrote a book! Read it&lt;br /&gt;
      &amp;lt;a href=&amp;quot;http://eloquentjavascript.net&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Està estructurat com indicar el següent arbre:&lt;br /&gt;
[[Fitxer:Html-tree.jpg|thumb|center]]&lt;br /&gt;
== Declaració d'estils ==&lt;br /&gt;
Els selectors que hem vist fins ara no tindrien cap sentit sense una sèrie de propietats que podem modificar.&lt;br /&gt;
Aquestes propietats són molt extenses i no és a l'abast d'aquest mòdul estudiar-los tots. En el següent link, podem trobar el llistat de propietats de CSS [http://www.w3.org/TR/CSS Link]&lt;br /&gt;
===Estils de text===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''color:'''&lt;br /&gt;
|''Color''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-family:'''&lt;br /&gt;
|Família de fonts&lt;br /&gt;
|-&lt;br /&gt;
|'''font-size:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-style:'''&lt;br /&gt;
|''normal'' | italic&lt;br /&gt;
|-&lt;br /&gt;
|'''font-weight'''&lt;br /&gt;
|''normal'' | bold&lt;br /&gt;
|-&lt;br /&gt;
|'''line-height:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''text-align:'''&lt;br /&gt;
|''left'' | right | center | justify&lt;br /&gt;
|-&lt;br /&gt;
|'''text-decoration:'''&lt;br /&gt;
|''none'' | underline | overline | line-through&lt;br /&gt;
|-&lt;br /&gt;
|'''text-transform'''&lt;br /&gt;
|''none'' | uppercase | lowercase&lt;br /&gt;
|-&lt;br /&gt;
|'''font'''&lt;br /&gt;
|Permet establir ''font-style'' - ''font-variant'' - ''font-weight'' - ''font-size/line-height'' - ''font-family'', en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
===Exemple estils de text ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS3.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS2.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	background-color: #f8f8f8;&lt;br /&gt;
	font-family: &amp;quot;Lucida Grande&amp;quot;, Tahoma, Arial, sans-serif;&lt;br /&gt;
	font-size:12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1, h2 {&lt;br /&gt;
	border-bottom:1px solid #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#capsalera h1 {&lt;br /&gt;
	font: italic bold 50px Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.dolly, a {&lt;br /&gt;
	color:#7fa3fc;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a {&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#peu {&lt;br /&gt;
	text-align:right;&lt;br /&gt;
	margin-top:40px;&lt;br /&gt;
	border-top:1px dotted #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Colors en CSS==&lt;br /&gt;
Les tres maneres més típiques d'indicar colors en CSS són:&lt;br /&gt;
*'''En format hexadecimal:#RRGGBB'''.Cada posició representa una xifra de 0 a la F(15) que indica la quantitat d'aquell color.&lt;br /&gt;
*'''En format RGB:rgb(r,g,b)'''En cada espai del parèntesi s'indica la quantitat de color del 0 al 255&lt;br /&gt;
**Com a derivat d'aquest existeix el format '''format RGBA''', amb un valor de transparència del 0 a l'1 en l'última posició: '''rgb(r,g,b,a)'''&lt;br /&gt;
*'''Nom de color''':es proporciona una llista de 147 colors predeterminats que es poden utilitzar directament.&lt;br /&gt;
**black, blue, white, red, green, yellow, magenta&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Web_colors Colors en CSS]&lt;br /&gt;
[[Fitxer:ImatgeCSS4.png|center]]&lt;br /&gt;
Els llocs més típics on acostumem a aplicar colors són:&lt;br /&gt;
*'''Tipografies''': mitjançant la propietat ''color''&lt;br /&gt;
*'''Fons''': mitjançant la propietat ''background-color'' assignen colors de fons a qualsevol tipus d'element&lt;br /&gt;
*'''Vores''':''border-color'',''border-left-color'',...&lt;br /&gt;
&lt;br /&gt;
==Unitats de mida==&lt;br /&gt;
Les mides es poden indicar en les següents unitats:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Notació&lt;br /&gt;
!| Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|Notació&lt;br /&gt;
|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|'''px'''&lt;br /&gt;
|font-size:12px&lt;br /&gt;
|-&lt;br /&gt;
|Emes(l'equivalent a l'amplada de la lletra m)&lt;br /&gt;
|'''em'''&lt;br /&gt;
|font-size:1.2em&lt;br /&gt;
|-&lt;br /&gt;
|Percentatge&lt;br /&gt;
|'''%'''&lt;br /&gt;
|font-size:120%&lt;br /&gt;
|}&lt;br /&gt;
Les mides en emes o percentatges són relatives a l'element pare de l'element al qual se li hagi donat estil&lt;br /&gt;
*El que s'acostuma a fer és definir la mida del '''body''' i la resta en forma relativa &lt;br /&gt;
*El cas que no s'indiqui res al '''body''', s'agafa la mida per defecte del navegador, que acostuma a ser de '''16px''' si no ha estat canviada per l'usuari&lt;br /&gt;
==Estils sobre llistats==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-type:'''&lt;br /&gt;
|''none | circle | disc | square | armenian | decimal | decimal-leading-zero | georgian | lower-alpha | lower-greek | lower-latin | lower-roman | upper-alpha | upper-latin | upper-roman | inherit''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-position:'''&lt;br /&gt;
|''inside | outside''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style:'''&lt;br /&gt;
|Permet establir tipus, posició i/o imatge en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exemple de CSS aplicat a llistes===&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS6.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS5.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif;&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	color: rgb(50,50,50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1 {&lt;br /&gt;
	font: 2em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	letter-spacing: -.5px;&lt;br /&gt;
	color:#576673;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
	font: 1.4em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
	color:#687c8e;&lt;br /&gt;
	border-bottom: 1px dotted #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul {&lt;br /&gt;
	list-style-type: circle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol {&lt;br /&gt;
	list-style-type: decimal-leading-zero;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol ol {&lt;br /&gt;
	list-style-type: lower-roman;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li em {&lt;br /&gt;
	color: #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li strong {&lt;br /&gt;
	color: #6a8ea4;	&lt;br /&gt;
	text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Precedència de regles==&lt;br /&gt;
Quan dues declaracions es contradiuen sobre un mateix element, s'apliquen dues normes:&lt;br /&gt;
*Primer s'aplica la regla més local&lt;br /&gt;
*Si són igual de locals, s'aplica la regla amb la puntuació més alta.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| per cada selector...&lt;br /&gt;
!| sumem ... punts&lt;br /&gt;
|-&lt;br /&gt;
|Etiqueta&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Classe(.)&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Id(#)&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|Resta&lt;br /&gt;
|0&lt;br /&gt;
|}&lt;br /&gt;
'''Sempre s'aplica aquella regla més específica'''.Si hi ha empat s'aplicarà aquella que aparegui més tard.&lt;br /&gt;
===Exemple de precedència de regles===&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Herencia&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
            #caja header h1 { color: blue; }&lt;br /&gt;
            #caja .cabecera h1 { color: red; }&lt;br /&gt;
            header h1 { color: lime; }&lt;br /&gt;
            h1 { color:purple; }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&amp;lt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;caja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;header class=&amp;quot;cabecera&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;h1&amp;gt;Cabecera: header&amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;/header&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Com podeu observar en el codi anterior, existeixen quatre regles CSS que fan referència al mateix element, concretament a l'encapçalament h1 del codi HMTL.&lt;br /&gt;
Per saber quina de les regles s'aplicarà, caldrà calcular el pes de cada una d'elles:&lt;br /&gt;
*'''#caja header h1 { color: blue; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 102: 100 per la referència a la classe ''caja'', 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''#caja .cabecera h1 { color: red; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 111 per la referència a la classe ''caja'', 10 per la referència a la classe ''cabecera'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''header h1 { color: lime; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 2, 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''h1 { color:purple; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 1 per la referència a ''h1''&lt;br /&gt;
Per tant, la regla que s'aplicarà en aquest cas és '''#caja .cabecera h1 { color: red; }'''&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:ImatgeCSS1.png&amp;diff=175</id>
		<title>File:ImatgeCSS1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:ImatgeCSS1.png&amp;diff=175"/>
		<updated>2024-02-22T15:33:37Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=CSS&amp;diff=173</id>
		<title>CSS</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=CSS&amp;diff=173"/>
		<updated>2024-02-22T08:09:57Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=El llenguatge CSS=&lt;br /&gt;
CSS és un llenguatge que permet descriure la '''presentació gràfica''' de les pàgines web&lt;br /&gt;
&lt;br /&gt;
CSS aporta una sèrie de beneficis als llocs web:&lt;br /&gt;
*'''Menys càrrega:''' s'acostuma a disposar d'un (o varis) fulls associats a totes les pàgines d'un lloc web. Un cop s'han descarregar no es tornes a descarregar.&lt;br /&gt;
*'''Menys esforç de modificació''', ja que els estils centralitzars permeten no haver d'anar pàgina a pàgina a realitzar canvis.&lt;br /&gt;
*'''Menys esforç per als cercadors''', que poden indexar el contingut ràpidament, sense haver de perdre el temps en estils&lt;br /&gt;
*'''Més rapidesa de desenvolupament''', ja que no s'han de repetir els mateixos fragments de codi diverses vegades.&lt;br /&gt;
*'''Més accessibilitat''' per als lectors de pantalla, que poden formatar de manera personalitzada les pàgines HTML&lt;br /&gt;
&lt;br /&gt;
==HTML + CSS==&lt;br /&gt;
Per a associar un full d'estils a una pàgina web cal incloure el següent fragment de codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;estil.css&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
dins de la secció '''&amp;lt;head&amp;gt;''' d'una pàgina.&lt;br /&gt;
&lt;br /&gt;
Es poden associar tants fulls d'estil com es vulgui.&lt;br /&gt;
&lt;br /&gt;
Existeixen dues maneres més d'assignar estils a les pàgines HTML.&lt;br /&gt;
* Elements '''&amp;lt;style&amp;gt;'''&lt;br /&gt;
* Atribut '''style=&amp;quot;&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
==Arquitectura d'un full d'estils ==&lt;br /&gt;
Els fulls d'estils CSS estan constituïts per diverses regles que defineixen com es mostren els elements que especifiquen.&lt;br /&gt;
&lt;br /&gt;
Cada regla té dues parts:&lt;br /&gt;
*El '''selector''': determina sobre '''quins''' elements de la pàgina s'aplica l'estil&lt;br /&gt;
*La '''declaració''': estableix quins formats s'apliquen sobre la selecció feta&lt;br /&gt;
**Cada declaració indica un '''valor''' per a cadascuna de les '''propietats''' de l'element&lt;br /&gt;
[[Fitxer:ImatgeCSS1.png|center]]&lt;br /&gt;
Com es pot veure, una declaració es pot aprofitar per a diversos selectors separant-los per comes.&lt;br /&gt;
&lt;br /&gt;
==Selectors bàsics de CSS ==&lt;br /&gt;
Els selectors CSS més utilitzats són:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|Notació&lt;br /&gt;
!|Ús&lt;br /&gt;
!|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Selecciona tots els elements de l'àmbit&lt;br /&gt;
|*{...}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Selecciona per tipus d'element&lt;br /&gt;
|p, h3{...}&lt;br /&gt;
|-&lt;br /&gt;
|.&lt;br /&gt;
|Selecciona els elements d'una classe concreta&lt;br /&gt;
|.titular{...}&lt;br /&gt;
|-&lt;br /&gt;
|#&lt;br /&gt;
|Selecciona l'element que té l'id indicat&lt;br /&gt;
|#capsalera{...}&lt;br /&gt;
|-&lt;br /&gt;
|(espai)&lt;br /&gt;
|Selecciona els elements dins de l'arbre HTML&lt;br /&gt;
|div span{...}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|Selecciona els elements justament per sota d'un altre element&lt;br /&gt;
|div &amp;gt; span{...}&lt;br /&gt;
|}&lt;br /&gt;
Podem combinar selectors de diversos tipus: '''cal imaginar l'HTML com un arbre i navegar-lo.&lt;br /&gt;
&lt;br /&gt;
Per exemple, el següent codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;My home page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My home page&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Hello, I am Marijn and this is my home page.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;I also wrote a book! Read it&lt;br /&gt;
      &amp;lt;a href=&amp;quot;http://eloquentjavascript.net&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Està estructurat com indicar el següent arbre:&lt;br /&gt;
[[Fitxer:Html-tree.jpg|thumb|center]]&lt;br /&gt;
== Declaració d'estils ==&lt;br /&gt;
Els selectors que hem vist fins ara no tindrien cap sentit sense una sèrie de propietats que podem modificar.&lt;br /&gt;
Aquestes propietats són molt extenses i no és a l'abast d'aquest mòdul estudiar-los tots. En el següent link, podem trobar el llistat de propietats de CSS [http://www.w3.org/TR/CSS Link]&lt;br /&gt;
===Estils de text===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''color:'''&lt;br /&gt;
|''Color''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-family:'''&lt;br /&gt;
|Família de fonts&lt;br /&gt;
|-&lt;br /&gt;
|'''font-size:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-style:'''&lt;br /&gt;
|''normal'' | italic&lt;br /&gt;
|-&lt;br /&gt;
|'''font-weight'''&lt;br /&gt;
|''normal'' | bold&lt;br /&gt;
|-&lt;br /&gt;
|'''line-height:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''text-align:'''&lt;br /&gt;
|''left'' | right | center | justify&lt;br /&gt;
|-&lt;br /&gt;
|'''text-decoration:'''&lt;br /&gt;
|''none'' | underline | overline | line-through&lt;br /&gt;
|-&lt;br /&gt;
|'''text-transform'''&lt;br /&gt;
|''none'' | uppercase | lowercase&lt;br /&gt;
|-&lt;br /&gt;
|'''font'''&lt;br /&gt;
|Permet establir ''font-style'' - ''font-variant'' - ''font-weight'' - ''font-size/line-height'' - ''font-family'', en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
===Exemple estils de text ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS3.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS2.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	background-color: #f8f8f8;&lt;br /&gt;
	font-family: &amp;quot;Lucida Grande&amp;quot;, Tahoma, Arial, sans-serif;&lt;br /&gt;
	font-size:12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1, h2 {&lt;br /&gt;
	border-bottom:1px solid #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#capsalera h1 {&lt;br /&gt;
	font: italic bold 50px Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.dolly, a {&lt;br /&gt;
	color:#7fa3fc;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a {&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#peu {&lt;br /&gt;
	text-align:right;&lt;br /&gt;
	margin-top:40px;&lt;br /&gt;
	border-top:1px dotted #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Colors en CSS==&lt;br /&gt;
Les tres maneres més típiques d'indicar colors en CSS són:&lt;br /&gt;
*'''En format hexadecimal:#RRGGBB'''.Cada posició representa una xifra de 0 a la F(15) que indica la quantitat d'aquell color.&lt;br /&gt;
*'''En format RGB:rgb(r,g,b)'''En cada espai del parèntesi s'indica la quantitat de color del 0 al 255&lt;br /&gt;
**Com a derivat d'aquest existeix el format '''format RGBA''', amb un valor de transparència del 0 a l'1 en l'última posició: '''rgb(r,g,b,a)'''&lt;br /&gt;
*'''Nom de color''':es proporciona una llista de 147 colors predeterminats que es poden utilitzar directament.&lt;br /&gt;
**black, blue, white, red, green, yellow, magenta&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Web_colors Colors en CSS]&lt;br /&gt;
[[Fitxer:ImatgeCSS4.png|center]]&lt;br /&gt;
Els llocs més típics on acostumem a aplicar colors són:&lt;br /&gt;
*'''Tipografies''': mitjançant la propietat ''color''&lt;br /&gt;
*'''Fons''': mitjançant la propietat ''background-color'' assignen colors de fons a qualsevol tipus d'element&lt;br /&gt;
*'''Vores''':''border-color'',''border-left-color'',...&lt;br /&gt;
&lt;br /&gt;
==Unitats de mida==&lt;br /&gt;
Les mides es poden indicar en les següents unitats:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Notació&lt;br /&gt;
!| Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|Notació&lt;br /&gt;
|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|'''px'''&lt;br /&gt;
|font-size:12px&lt;br /&gt;
|-&lt;br /&gt;
|Emes(l'equivalent a l'amplada de la lletra m)&lt;br /&gt;
|'''em'''&lt;br /&gt;
|font-size:1.2em&lt;br /&gt;
|-&lt;br /&gt;
|Percentatge&lt;br /&gt;
|'''%'''&lt;br /&gt;
|font-size:120%&lt;br /&gt;
|}&lt;br /&gt;
Les mides en emes o percentatges són relatives a l'element pare de l'element al qual se li hagi donat estil&lt;br /&gt;
*El que s'acostuma a fer és definir la mida del '''body''' i la resta en forma relativa &lt;br /&gt;
*El cas que no s'indiqui res al '''body''', s'agafa la mida per defecte del navegador, que acostuma a ser de '''16px''' si no ha estat canviada per l'usuari&lt;br /&gt;
==Estils sobre llistats==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-type:'''&lt;br /&gt;
|''none | circle | disc | square | armenian | decimal | decimal-leading-zero | georgian | lower-alpha | lower-greek | lower-latin | lower-roman | upper-alpha | upper-latin | upper-roman | inherit''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-position:'''&lt;br /&gt;
|''inside | outside''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style:'''&lt;br /&gt;
|Permet establir tipus, posició i/o imatge en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exemple de CSS aplicat a llistes===&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS6.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS5.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif;&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	color: rgb(50,50,50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1 {&lt;br /&gt;
	font: 2em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	letter-spacing: -.5px;&lt;br /&gt;
	color:#576673;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
	font: 1.4em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
	color:#687c8e;&lt;br /&gt;
	border-bottom: 1px dotted #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul {&lt;br /&gt;
	list-style-type: circle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol {&lt;br /&gt;
	list-style-type: decimal-leading-zero;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol ol {&lt;br /&gt;
	list-style-type: lower-roman;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li em {&lt;br /&gt;
	color: #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li strong {&lt;br /&gt;
	color: #6a8ea4;	&lt;br /&gt;
	text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Precedència de regles==&lt;br /&gt;
Quan dues declaracions es contradiuen sobre un mateix element, s'apliquen dues normes:&lt;br /&gt;
*Primer s'aplica la regla més local&lt;br /&gt;
*Si són igual de locals, s'aplica la regla amb la puntuació més alta.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| per cada selector...&lt;br /&gt;
!| sumem ... punts&lt;br /&gt;
|-&lt;br /&gt;
|Etiqueta&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Classe(.)&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Id(#)&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|Resta&lt;br /&gt;
|0&lt;br /&gt;
|}&lt;br /&gt;
'''Sempre s'aplica aquella regla més específica'''.Si hi ha empat s'aplicarà aquella que aparegui més tard.&lt;br /&gt;
===Exemple de precedència de regles===&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Herencia&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
            #caja header h1 { color: blue; }&lt;br /&gt;
            #caja .cabecera h1 { color: red; }&lt;br /&gt;
            header h1 { color: lime; }&lt;br /&gt;
            h1 { color:purple; }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&amp;lt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;caja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;header class=&amp;quot;cabecera&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;h1&amp;gt;Cabecera: header&amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;/header&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Com podeu observar en el codi anterior, existeixen quatre regles CSS que fan referència al mateix element, concretament a l'encapçalament h1 del codi HMTL.&lt;br /&gt;
Per saber quina de les regles s'aplicarà, caldrà calcular el pes de cada una d'elles:&lt;br /&gt;
*'''#caja header h1 { color: blue; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 102: 100 per la referència a la classe ''caja'', 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''#caja .cabecera h1 { color: red; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 111 per la referència a la classe ''caja'', 10 per la referència a la classe ''cabecera'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''header h1 { color: lime; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 2, 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''h1 { color:purple; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 1 per la referència a ''h1''&lt;br /&gt;
Per tant, la regla que s'aplicarà en aquest cas és '''#caja .cabecera h1 { color: red; }'''&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=HTML&amp;diff=172</id>
		<title>HTML</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=HTML&amp;diff=172"/>
		<updated>2024-02-22T08:00:55Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducció ==&lt;br /&gt;
Un document (pàgina) de Web pot incloure diferents tipus d'informació: text,imatges i enllaços hipertextuals.&amp;lt;br /&amp;gt;&lt;br /&gt;
Aquests enllaços poden activar la recuperació d'una altra pàgina o la recepció d'un fitxer: una imatge, un programa, una animació...&amp;lt;br /&amp;gt;&lt;br /&gt;
Per a la creació d'aquestes pàgines s'utilitza el llenguatge HTML, que permet definir els atributs del text, la posició de les imatges i els enllaços mitjançant unes marques que s'insereixen en el document.&lt;br /&gt;
Estructura d'un document HTML &lt;br /&gt;
Les marques que s'utilitzen en el llenguatge HTML són textos tancats entre els signes &amp;lt; &amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Generalment, funcionen per parelles, l'una en començar i l'altra al final. Normalment, la marca de tancar és la mateixa que la d'obrir amb el caràcter / al davant.&lt;br /&gt;
Per identificar un document cal inserir la marca &amp;lt;HTML&amp;gt; al començament i &amp;lt;/HTML&amp;gt; al final.&lt;br /&gt;
&lt;br /&gt;
== Estructura d'un document HTML ==&lt;br /&gt;
&lt;br /&gt;
Tot document HTML consta de dues parts:&lt;br /&gt;
&lt;br /&gt;
La capçalera conté informació sobre el propi document. Entre les marques &amp;lt;HEAD&amp;gt; i &amp;lt;/HEAD&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dins de la capçalera es posa el títol del document, entre les marques &amp;lt;TITLE&amp;gt; i &amp;lt;/TITLE&amp;gt;. És el text que es pot llegir a la barra de títol del navegador.&lt;br /&gt;
El cos conté el text i les imatges visibles del document. Entre les marques &amp;lt;BODY&amp;gt; i &amp;lt;/BODY&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Exemple&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Page Title&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;My First Heading&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My first paragraph.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Etiquetes d'un document HTML ==&lt;br /&gt;
&lt;br /&gt;
=== Encapçalaments ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Títols HTML es defineixen amb les etiquetes &amp;lt;nowiki&amp;gt;&amp;lt;h1&amp;gt;&amp;lt;/nowiki&amp;gt; a &amp;lt;nowiki&amp;gt;&amp;lt;h6&amp;gt;&amp;lt;/nowiki&amp;gt;.Etiquetes d'un document HTML &lt;br /&gt;
&lt;br /&gt;
=== Paràgrafs. ===&lt;br /&gt;
&lt;br /&gt;
Paràgrafs HTML es defineixen amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Benvinguts a M4&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Els navegadors afegeixen automàticament una línia en blanc abans i després d'un paràgraf.&lt;br /&gt;
El navegador traurà espais addicionals i línies addicionals quan es mostra la pàgina.&lt;br /&gt;
Qualsevol nombre d'espais, i qualsevol nombre de línies noves, compten com un sol espai.Etiquetes d'un document HTML&lt;br /&gt;
&lt;br /&gt;
=== Enllaços ===&lt;br /&gt;
&lt;br /&gt;
Enllaços HTML es defineixen amb l'etiqueta &amp;lt;a&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://www.w3schools.com/&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Visit W3Schools!&amp;lt;/a&amp;gt;&lt;br /&gt;
– L'atribut href especifica la destinació de l'enllaç.&lt;br /&gt;
– L'atribut target especifica on obrir el document vinculat.&lt;br /&gt;
– Aquest exemple s'obrirà el document vinculat a una nova&lt;br /&gt;
finestra o en una nova pestanya.&lt;br /&gt;
*_blank Obre en una nova finestra o pestanya&lt;br /&gt;
*_self&lt;br /&gt;
*_parent&lt;br /&gt;
*_top&lt;br /&gt;
*(default) en la mateixa finestra o frame&lt;br /&gt;
&lt;br /&gt;
En el frame pare.&lt;br /&gt;
Obre al cos complert de la finestra&lt;br /&gt;
http://www.w3schools.com/html/tryit.asp?filename=tryhtml_links_target_top&lt;br /&gt;
&lt;br /&gt;
=== Imatges ===&lt;br /&gt;
Les imatges HTML es defineixen amb l'etiqueta &amp;lt;img&amp;gt;.&lt;br /&gt;
&amp;lt;img src=&amp;quot;url&amp;quot; alt=&amp;quot;some_text&amp;quot;&amp;gt;&lt;br /&gt;
*src és el fitxer d'origen, alt és el text alternatiu.&lt;br /&gt;
*L'etiqueta &amp;lt;img&amp;gt; està buida, conté atributs només, i no té una etiqueta de tancament.&lt;br /&gt;
*L'atribut alt especifica un text alternatiu que s'utilitzarà, quan un element HTML no es pot visualitzar.&lt;br /&gt;
*El valor de l'atribut pot ser llegida pels lectors de pantalla &amp;quot;&amp;quot;.&lt;br /&gt;
D'aquesta manera, algú &amp;quot;escoltar&amp;quot; a la pàgina web, és a dir, una persona cega, pot &amp;quot;sentir&amp;quot; l'element.&lt;br /&gt;
*Si un navegador no pot trobar una imatge, es mostrarà el text alternatiu:&lt;br /&gt;
*Es requereix que l'atribut alt. Una pàgina web que no valida correctament sense.Etiquetes d'un document HTML&lt;br /&gt;
Imatges.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;html5.gif&amp;quot; alt=&amp;quot;HTML5 Icon&amp;quot; width=&amp;quot;128&amp;quot; height=&amp;quot;128&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
*La mida width and height donen la grandaria.&lt;br /&gt;
*La mida de la imatge s'especifica en píxels: width = &amp;quot;104&amp;quot; significa 104 píxels de pantalla ampla.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;html5.gif&amp;quot; alt=&amp;quot;HTML5 Icon&amp;quot; style=&amp;quot;width:128px;height:128px;border:0;&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
*Podeu utilitzar l'atribut style per especificar l'amplada i alçada d'una imatge.&lt;br /&gt;
*Els valors s'especifiquen en píxels (fes servir px després del valor).&lt;br /&gt;
*Afegir &amp;quot;border: 0;&amp;quot; per evitar que IE9 (i anteriors) mostri una vora al voltant de la imatge.Etiquetes d'un document HTML&lt;br /&gt;
&lt;br /&gt;
Les imatges poden estar al nostre directori de feina, o en un directori diferent.&lt;br /&gt;
&lt;br /&gt;
Si l'imatge es troba l'imatge en un subdirectori del nostre directori:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;/images/html5.gif&amp;quot; alt=&amp;quot;HTML5 Icon&amp;quot; style=&amp;quot;width:128px;height:128px;&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
Si es troben en altre ordinador o servidor:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.w3schools.com/images/w3schools_green.jpg&amp;quot; alt=&amp;quot;W3Schools.com&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
Podeu inserir imatges animades, amb la mateixa estructura.&lt;br /&gt;
&lt;br /&gt;
=== Taules ===&lt;br /&gt;
Les taules es defineixen amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;table&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Les taules es divideixen en files de la taula amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Les files es divideixen en columnes que contenen les dades de la taula amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Una fila de la taula també pot dividir-se en capçaleres de la taula amb el &amp;lt;nowiki&amp;gt;&amp;lt;th&amp;gt;&amp;lt;/nowiki&amp;gt; etiqueta.&lt;br /&gt;
Els &amp;lt;nowiki&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/nowiki&amp;gt; poden contenir tot tipus d'elements HTML com a text,imatges, llistes, altres taules, etc.&lt;br /&gt;
Si no especifica una vora de la taula, es mostrarà sense vores.&lt;br /&gt;
Una vora es pot afegir mitjançant l'atribut border, però és millor utilitzar un full d'estil.Etiquetes d'un document HTML&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Jill&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Smith&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Eve&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Jackson&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;94&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Per defecte, tots els navegadors visualitzen la fila &amp;lt;nowiki&amp;gt;&amp;lt;th&amp;gt;&amp;lt;/nowiki&amp;gt; en negreta i centrada.&lt;br /&gt;
Per afegir un títol a una taula, utilitzeu l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;caption&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Colapsar cel·les ====&lt;br /&gt;
Per a colapsar més d'una columna, utilitzeu l'atribut colspan.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;Telephone&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Bill Gates&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;555 77 854&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;555 77 855&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per a colapsar més d'una filera,&lt;br /&gt;
utilitzeu l'atribut rowspan.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Name:&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Bill Gates&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot;&amp;gt;Telephone:&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;555 77 854&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;555 77 855&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Llistes ===&lt;br /&gt;
&lt;br /&gt;
==== Llistes no ordenades ====&lt;br /&gt;
Una llista desordenada comença amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;/nowiki&amp;gt;. Cada element de la llista comença amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Els elements de la llista es marcaran amb bales (petits cercles negres).&lt;br /&gt;
&lt;br /&gt;
==== Llistes ordenades ====&lt;br /&gt;
Una llista ordenada comença amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;ol&amp;gt;&amp;lt;/nowiki&amp;gt;. Cada element de la llista comença amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Els elements de la llista seran marcats amb els números.&lt;br /&gt;
==== Llistes amb descripció ====&lt;br /&gt;
Una llista de descripció és una llista de termes, amb una descripció de cada terme.&lt;br /&gt;
L'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;dl&amp;gt;&amp;lt;/nowiki&amp;gt; defineix la llista de vista general, l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;dt&amp;gt;&amp;lt;/nowiki&amp;gt; defineix el terme (nom), i &amp;lt;nowiki&amp;gt;&amp;lt;dd&amp;gt;&amp;lt;/nowiki&amp;gt; etiqueta descriu cada terme&lt;br /&gt;
&lt;br /&gt;
Llistes no ordenades.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coffee&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Tea&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Milk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Llistes ordenades.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coffee&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Tea&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Milk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Llistes amb descripció.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Coffee&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;- black hot drink&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Milk&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;- white cold drink&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl &amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=HTML&amp;diff=171</id>
		<title>HTML</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=HTML&amp;diff=171"/>
		<updated>2024-02-22T07:59:26Z</updated>

		<summary type="html">&lt;p&gt;Jaume: Protected &amp;quot;HTML&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducció ==&lt;br /&gt;
Un document (pàgina) de Web pot incloure diferents tipus d'informació: text,imatges i enllaços hipertextuals.&amp;lt;br /&amp;gt;&lt;br /&gt;
Aquests enllaços poden activar la recuperació d'una altra pàgina o la recepció d'un fitxer: una imatge, un programa, una animació...&amp;lt;br /&amp;gt;&lt;br /&gt;
Per a la creació d'aquestes pàgines s'utilitza el llenguatge HTML, que permet definir els atributs del text, la posició de les imatges i els enllaços mitjançant unes marques que s'insereixen en el document.&lt;br /&gt;
Estructura d'un document HTML &lt;br /&gt;
Les marques que s'utilitzen en el llenguatge HTML són textos tancats entre els signes &amp;lt; &amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Generalment, funcionen per parelles, l'una en començar i l'altra al final. Normalment, la marca de tancar és la mateixa que la d'obrir amb el caràcter / al davant.&lt;br /&gt;
Per identificar un document cal inserir la marca &amp;lt;HTML&amp;gt; al començament i &amp;lt;/HTML&amp;gt; al final.&lt;br /&gt;
&lt;br /&gt;
== Estructura d'un document HTML==&lt;br /&gt;
&lt;br /&gt;
Tot document HTML consta de dues parts:&lt;br /&gt;
&lt;br /&gt;
La capçalera conté informació sobre el propi document. Entre les marques &amp;lt;HEAD&amp;gt; i &amp;lt;/HEAD&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Dins de la capçalera es posa el títol del document, entre les marques &amp;lt;TITLE&amp;gt; i &amp;lt;/TITLE&amp;gt;. És el text que es pot llegir a la barra de títol del navegador.&lt;br /&gt;
El cos conté el text i les imatges visibles del document. Entre les marques &amp;lt;BODY&amp;gt; i &amp;lt;/BODY&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Exemple&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Page Title&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;My First Heading&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My first paragraph.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Etiquetes d'un document HTML ==&lt;br /&gt;
&lt;br /&gt;
=== Encapçalaments ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Títols HTML es defineixen amb les etiquetes &amp;lt;nowiki&amp;gt;&amp;lt;h1&amp;gt;&amp;lt;/nowiki&amp;gt; a &amp;lt;nowiki&amp;gt;&amp;lt;h6&amp;gt;&amp;lt;/nowiki&amp;gt;.Etiquetes d'un document HTML &lt;br /&gt;
&lt;br /&gt;
=== Paràgrafs. ===&lt;br /&gt;
&lt;br /&gt;
Paràgrafs HTML es defineixen amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Benvinguts a M4&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Els navegadors afegeixen automàticament una línia en blanc abans i després d'un paràgraf.&lt;br /&gt;
El navegador traurà espais addicionals i línies addicionals quan es mostra la pàgina.&lt;br /&gt;
Qualsevol nombre d'espais, i qualsevol nombre de línies noves, compten com un sol espai.Etiquetes d'un document HTML&lt;br /&gt;
&lt;br /&gt;
=== Enllaços ===&lt;br /&gt;
&lt;br /&gt;
Enllaços HTML es defineixen amb l'etiqueta &amp;lt;a&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&amp;quot;http://www.w3schools.com/&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;Visit W3Schools!&amp;lt;/a&amp;gt;&lt;br /&gt;
– L'atribut href especifica la destinació de l'enllaç.&lt;br /&gt;
– L'atribut target especifica on obrir el document vinculat.&lt;br /&gt;
– Aquest exemple s'obrirà el document vinculat a una nova&lt;br /&gt;
finestra o en una nova pestanya.&lt;br /&gt;
*_blank Obre en una nova finestra o pestanya&lt;br /&gt;
*_self&lt;br /&gt;
*_parent&lt;br /&gt;
*_top&lt;br /&gt;
*(default) en la mateixa finestra o frame&lt;br /&gt;
&lt;br /&gt;
En el frame pare.&lt;br /&gt;
Obre al cos complert de la finestra&lt;br /&gt;
http://www.w3schools.com/html/tryit.asp?filename=tryhtml_links_target_top&lt;br /&gt;
&lt;br /&gt;
=== Imatges ===&lt;br /&gt;
Les imatges HTML es defineixen amb l'etiqueta &amp;lt;img&amp;gt;.&lt;br /&gt;
&amp;lt;img src=&amp;quot;url&amp;quot; alt=&amp;quot;some_text&amp;quot;&amp;gt;&lt;br /&gt;
*src és el fitxer d'origen, alt és el text alternatiu.&lt;br /&gt;
*L'etiqueta &amp;lt;img&amp;gt; està buida, conté atributs només, i no té una etiqueta de tancament.&lt;br /&gt;
*L'atribut alt especifica un text alternatiu que s'utilitzarà, quan un element HTML no es pot visualitzar.&lt;br /&gt;
*El valor de l'atribut pot ser llegida pels lectors de pantalla &amp;quot;&amp;quot;.&lt;br /&gt;
D'aquesta manera, algú &amp;quot;escoltar&amp;quot; a la pàgina web, és a dir, una persona cega, pot &amp;quot;sentir&amp;quot; l'element.&lt;br /&gt;
*Si un navegador no pot trobar una imatge, es mostrarà el text alternatiu:&lt;br /&gt;
*Es requereix que l'atribut alt. Una pàgina web que no valida correctament sense.Etiquetes d'un document HTML&lt;br /&gt;
Imatges.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;html5.gif&amp;quot; alt=&amp;quot;HTML5 Icon&amp;quot; width=&amp;quot;128&amp;quot; height=&amp;quot;128&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
*La mida width and height donen la grandaria.&lt;br /&gt;
*La mida de la imatge s'especifica en píxels: width = &amp;quot;104&amp;quot; significa 104 píxels de pantalla ampla.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;html5.gif&amp;quot; alt=&amp;quot;HTML5 Icon&amp;quot; style=&amp;quot;width:128px;height:128px;border:0;&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
*Podeu utilitzar l'atribut style per especificar l'amplada i alçada d'una imatge.&lt;br /&gt;
*Els valors s'especifiquen en píxels (fes servir px després del valor).&lt;br /&gt;
*Afegir &amp;quot;border: 0;&amp;quot; per evitar que IE9 (i anteriors) mostri una vora al voltant de la imatge.Etiquetes d'un document HTML&lt;br /&gt;
&lt;br /&gt;
Les imatges poden estar al nostre directori de feina, o en un directori diferent.&lt;br /&gt;
&lt;br /&gt;
Si l'imatge es troba l'imatge en un subdirectori del nostre directori:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;/images/html5.gif&amp;quot; alt=&amp;quot;HTML5 Icon&amp;quot; style=&amp;quot;width:128px;height:128px;&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
Si es troben en altre ordinador o servidor:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.w3schools.com/images/w3schools_green.jpg&amp;quot; alt=&amp;quot;W3Schools.com&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
Podeu inserir imatges animades, amb la mateixa estructura.&lt;br /&gt;
&lt;br /&gt;
=== Taules ===&lt;br /&gt;
Les taules es defineixen amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;table&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Les taules es divideixen en files de la taula amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Les files es divideixen en columnes que contenen les dades de la taula amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Una fila de la taula també pot dividir-se en capçaleres de la taula amb el &amp;lt;nowiki&amp;gt;&amp;lt;th&amp;gt;&amp;lt;/nowiki&amp;gt; etiqueta.&lt;br /&gt;
Els &amp;lt;nowiki&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/nowiki&amp;gt; poden contenir tot tipus d'elements HTML com a text,imatges, llistes, altres taules, etc.&lt;br /&gt;
Si no especifica una vora de la taula, es mostrarà sense vores.&lt;br /&gt;
Una vora es pot afegir mitjançant l'atribut border, però és millor utilitzar un full d'estil.Etiquetes d'un document HTML&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Jill&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Smith&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Eve&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Jackson&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;94&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Per defecte, tots els navegadors visualitzen la fila &amp;lt;nowiki&amp;gt;&amp;lt;th&amp;gt;&amp;lt;/nowiki&amp;gt; en negreta i centrada.&lt;br /&gt;
Per afegir un títol a una taula, utilitzeu l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;caption&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Colapsar cel·les ====&lt;br /&gt;
Per a colapsar més d'una columna, utilitzeu l'atribut colspan.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Name&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th colspan=&amp;quot;2&amp;quot;&amp;gt;Telephone&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Bill Gates&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;555 77 854&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;555 77 855&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per a colapsar més d'una filera,&lt;br /&gt;
utilitzeu l'atribut rowspan.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Name:&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Bill Gates&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot;&amp;gt;Telephone:&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;555 77 854&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;555 77 855&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Llistes ===&lt;br /&gt;
&lt;br /&gt;
==== Llistes no ordenades ====&lt;br /&gt;
Una llista desordenada comença amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;ul&amp;gt;&amp;lt;/nowiki&amp;gt;. Cada element de la llista comença amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Els elements de la llista es marcaran amb bales (petits cercles negres).&lt;br /&gt;
&lt;br /&gt;
==== Llistes ordenades ====&lt;br /&gt;
Una llista ordenada comença amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;ol&amp;gt;&amp;lt;/nowiki&amp;gt;. Cada element de la llista comença amb l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;li&amp;gt;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Els elements de la llista seran marcats amb els números.&lt;br /&gt;
==== Llistes amb descripció ====&lt;br /&gt;
Una llista de descripció és una llista de termes, amb una descripció de cada terme.&lt;br /&gt;
L'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;dl&amp;gt;&amp;lt;/nowiki&amp;gt; defineix la llista de vista general, l'etiqueta &amp;lt;nowiki&amp;gt;&amp;lt;dt&amp;gt;&amp;lt;/nowiki&amp;gt; defineix el terme (nom), i &amp;lt;nowiki&amp;gt;&amp;lt;dd&amp;gt;&amp;lt;/nowiki&amp;gt; etiqueta descriu cada terme&lt;br /&gt;
&lt;br /&gt;
Llistes no ordenades.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coffee&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Tea&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Milk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Llistes ordenades.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Coffee&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Tea&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Milk&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Llistes amb descripció.&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Coffee&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;- black hot drink&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Milk&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;- white cold drink&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;/dl &amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=Introducci%C3%B3_llenguatges_de_marques&amp;diff=170</id>
		<title>Introducció llenguatges de marques</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=Introducci%C3%B3_llenguatges_de_marques&amp;diff=170"/>
		<updated>2024-02-22T07:59:11Z</updated>

		<summary type="html">&lt;p&gt;Jaume: Protected &amp;quot;Introducció llenguatges de marques&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introducció als llenguatges de marques =&lt;br /&gt;
&lt;br /&gt;
Els llenguatges de marques(també anomenats llenguatges de marcat) són aquells que combinen la informació,generalment textual, que conté un document amb marques o anotacions relatives a l’estructura del text o la forma de representar-lo. El llenguatge de marques és el que especifica quines seran les etiquetes possibles, on s’han de col·locar i el significat que tindrà cadascuna d’elles.&lt;br /&gt;
&lt;br /&gt;
== Tipus de llenguatges ==&lt;br /&gt;
&lt;br /&gt;
=== Llenguatges orientats a presentació ===&lt;br /&gt;
&lt;br /&gt;
Usats pels processadors de text com pot ser Microsoft Word® i codifiquen com ha de presentar el document, per exemple, indicant que una determinada paraula s’ha de presentar en font itàlica o que s’ha de deixar un espai de 10 punts en acabar el paràgraf.&lt;br /&gt;
&lt;br /&gt;
=== Llenguatges descriptius ===&lt;br /&gt;
&lt;br /&gt;
Aquest tipus de llenguatges les marques serveixen per indicar què és aquesta informació, és a dir, descriuen que és el que s’està representant. La majoria dels llenguatges de marques que es fan servir avui dia es troben dins aquest grup com per exemple, el SGML i els seus derivats (HTML, XML, etc.)&lt;br /&gt;
&lt;br /&gt;
=== Llenguatges procedurals ===&lt;br /&gt;
&lt;br /&gt;
En aquest tipus de llenguatges les etiquetes són també orientades a presentació però s’integren dins d’un marc procedural que permet definir macros (seqüències d’accions) i subrutines. Entre els exemples més comuns de llenguatges procedurals podem trobar Et X, LaTeX i Postcript.&lt;br /&gt;
&lt;br /&gt;
Durant aquest mòdul veurem els llenguatges descriptius.&lt;br /&gt;
&lt;br /&gt;
== Evolució dels llenguatges de marques ==&lt;br /&gt;
&lt;br /&gt;
A la dècada dels 60 va aparèixer el llenguatge SGML (Standard Generalized Markup Language), que és un descendent directe del llenguatge GML proposat per IBM.&lt;br /&gt;
&lt;br /&gt;
Aquest llenguatge va sorgir per permetre compartir informació per part de sistemes informàtics.&lt;br /&gt;
&lt;br /&gt;
Aquest estàndard va tenir una gran acceptació però no va aconseguir assentar-del tot a causa principalment a la seva complexitat el que provocava que el programari que farà servir SGML acabava sent excessivament extens i complex.&lt;br /&gt;
&lt;br /&gt;
Al final dels 80, dins del CERN, es va crear un llenguatge de marcat pensat per compartir informació fent servir les xarxes de computadors i, de forma més general, mitjançant Internet. Aquest llenguatge es basava en alguns principis de SGML i ho van denominar HTML (Hyper-text Markup Language).&lt;br /&gt;
&lt;br /&gt;
Finalment, en el 1998, W3C va fer públic un nou estàndard que van denominar XML (eXtended Markup Language), més senzill que SGML i més potent que HTML.&lt;br /&gt;
&lt;br /&gt;
== Evolució de l’HTML ==&lt;br /&gt;
&lt;br /&gt;
El W3C ha definit com a successor d’HTML al llenguatge XHTML.&lt;br /&gt;
&lt;br /&gt;
XHTML aplica les regles de sintaxi estricta de XML al llenguatge HTML, facilitant d’aquesta manera el manteniment i processament dels documents.&lt;br /&gt;
&lt;br /&gt;
Amb l’HTML5 conviu una variant de l’HTML i l’XHTML coneguda com sintaxi XHTML5. Aquesta és la primera vegada que HTML i XHTML s’han desenvolupat en paral·lel. La versió definitiva de la cinquena revisió de l’Estàndard es va publicar a l’octubre de 2014.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| HTML&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| 1991&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| HTML 2.0&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1995&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| HTML 3.2&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1997&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| HTML 4.01&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 1999&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| XHTML&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2000&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| HTML 5.0&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| 2014&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Les pàgines web ===&lt;br /&gt;
&lt;br /&gt;
Una pàgina web és un document electrònic adaptat per a la World Wide Web que, normalment, forma part d’un lloc web.&lt;br /&gt;
&lt;br /&gt;
Les pàgines web estan escrites en un llenguatge de marques que proporciona la capacitat de gestionar i inserir hiperenllaços, generalment, HTML.&lt;br /&gt;
&lt;br /&gt;
El contingut de la pàgina pot ser predeterminat (pàgina web estàtica) o generat en el moment de la seva visualització o en sol·licitar-la a un servidor web (pàgina web dinàmica).&lt;br /&gt;
&lt;br /&gt;
Pel que fa a l’estructura de les pàgines web, alguns organismes, especialment el W3C, estableix directives amb la intenció de normalitzar el disseny, per així facilitar i simplificar la visualització i interpretació del contingut.&lt;br /&gt;
&lt;br /&gt;
Exemples de llenguatges de marques&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;amp;lt;!DOCTYPE html&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;head&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;title&amp;amp;gt;Page Title&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;h1&amp;amp;gt;This is a Heading&amp;amp;lt;/h1&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;p&amp;amp;gt;This is a paragraph.&amp;amp;lt;/p&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/html&amp;amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;bookstore&amp;amp;gt; &amp;amp;lt;book category=“COOKING”&amp;amp;gt; &amp;amp;lt;title lang=“en”&amp;amp;gt;Everyday Italian&amp;amp;lt;/title&amp;amp;gt; &amp;amp;lt;author&amp;amp;gt;Giada De Laurentiis&amp;amp;lt;/author&amp;amp;gt; &amp;amp;lt;year&amp;amp;gt;2005&amp;amp;lt;/year&amp;amp;gt; &amp;amp;lt;price&amp;amp;gt;30.00&amp;amp;lt;/price&amp;amp;gt; &amp;amp;lt;/book&amp;amp;gt; &amp;amp;lt;book category=“WEB”&amp;amp;gt; &amp;amp;lt;title lang=“en”&amp;amp;gt;Learning XML&amp;amp;lt;/title&amp;amp;gt; &amp;amp;lt;author&amp;amp;gt;Erik T. Ray&amp;amp;lt;/author&amp;amp;gt; &amp;amp;lt;year&amp;amp;gt;2003&amp;amp;lt;/year&amp;amp;gt; &amp;amp;lt;price&amp;amp;gt;39.95&amp;amp;lt;/price&amp;amp;gt; &amp;amp;lt;/book&amp;amp;gt; &amp;amp;lt;/bookstore&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=CSS&amp;diff=169</id>
		<title>CSS</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=CSS&amp;diff=169"/>
		<updated>2024-02-22T07:58:57Z</updated>

		<summary type="html">&lt;p&gt;Jaume: Protected &amp;quot;CSS&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=El llenguatge CSS=&lt;br /&gt;
CSS és un llenguatge que permet descriure la '''presentació gràfica''' de les pàgines web&lt;br /&gt;
&lt;br /&gt;
CSS aporta una sèrie de beneficis als llocs web:&lt;br /&gt;
*'''Menys càrrega:''' s'acostuma a disposar d'un (o varis) fulls associats a totes les pàgines d'un lloc web. Un cop s'han descarregar no es tornes a descarregar.&lt;br /&gt;
*'''Menys esforç de modificació''', ja que els estils centralitzars permeten no haver d'anar pàgina a pàgina a realitzar canvis.&lt;br /&gt;
*'''Menys esforç per als cercadors''', que poden indexar el contingut ràpidament, sense haver de perdre el temps en estils&lt;br /&gt;
*'''Més rapidesa de desenvolupament''', ja que no s'han de repetir els mateixos fragments de codi diverses vegades.&lt;br /&gt;
*'''Més accessibilitat''' per als lectors de pantalla, que poden formatar de manera personalitzada les pàgines HTML&lt;br /&gt;
&lt;br /&gt;
==HTML + CSS==&lt;br /&gt;
Per a associar un full d'estils a una pàgina web cal incloure el següent fragment de codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;estil.css&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
dins de la secció '''&amp;lt;head&amp;gt;''' d'una pàgina.&lt;br /&gt;
&lt;br /&gt;
Es poden associar tants fulls d'estil com es vulgui.&lt;br /&gt;
&lt;br /&gt;
Existeixen dues maneres més d'assignar estils a les pàgines HTML.&lt;br /&gt;
* Elements '''&amp;lt;style&amp;gt;'''&lt;br /&gt;
* Atribut '''style=&amp;quot;&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
==Arquitectura d'un full d'estils ==&lt;br /&gt;
Els fulls d'estils CSS estan constituïts per diverses regles que defineixen com es mostren els elements que especifiquen.&lt;br /&gt;
&lt;br /&gt;
Cada regla té dues parts:&lt;br /&gt;
*El '''selector''': determina sobre '''quins''' elements de la pàgina s'aplica l'estil&lt;br /&gt;
*La '''declaració''': estableix quins formats s'apliquen sobre la selecció feta&lt;br /&gt;
**Cada declaració indica un '''valor''' per a cadascuna de les '''propietats''' de l'element&lt;br /&gt;
[[Fitxer:ImatgeCSS1.png|center]]&lt;br /&gt;
Com es pot veure, una declaració es pot aprofitar per a diversos selectors separant-los per comes.&lt;br /&gt;
&lt;br /&gt;
==Selectors bàsics de CSS ==&lt;br /&gt;
Els selectors CSS més utilitzats són:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|Notació&lt;br /&gt;
!|Ús&lt;br /&gt;
!|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|*&lt;br /&gt;
|Selecciona tots els elements de l'àmbit&lt;br /&gt;
|*{...}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Selecciona per tipus d'element&lt;br /&gt;
|p, h3{...}&lt;br /&gt;
|-&lt;br /&gt;
|.&lt;br /&gt;
|Selecciona els elements d'una classe concreta&lt;br /&gt;
|.titular{...}&lt;br /&gt;
|-&lt;br /&gt;
|#&lt;br /&gt;
|Selecciona l'element que té l'id indicat&lt;br /&gt;
|#capsalera{...}&lt;br /&gt;
|-&lt;br /&gt;
|(espai)&lt;br /&gt;
|Selecciona els elements dins de l'arbre HTML&lt;br /&gt;
|div span{...}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;&lt;br /&gt;
|Selecciona els elements justament per sota d'un altre element&lt;br /&gt;
|div &amp;gt; span{...}&lt;br /&gt;
|}&lt;br /&gt;
Podem combinar selectors de diversos tipus: '''cal imaginar l'HTML com un arbre i navegar-lo.&lt;br /&gt;
&lt;br /&gt;
Per exemple, el següent codi:&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;My home page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;My home page&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;Hello, I am Marijn and this is my home page.&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;I also wrote a book! Read it&lt;br /&gt;
      &amp;lt;a href=&amp;quot;http://eloquentjavascript.net&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Està estructurat com indicar el següent arbre:&lt;br /&gt;
[[Fitxer:Html-tree.jpg|thumb|center]]&lt;br /&gt;
== Declaració d'estils ==&lt;br /&gt;
Els selectors que hem vist fins ara no tindrien cap sentit sense una sèrie de propietats que podem modificar.&lt;br /&gt;
Aquestes propietats són molt extenses i no és a l'abast d'aquest mòdul estudiar-los tots. En el següent link, podem trobar el llistat de propietats de CSS [http://www.w3.org/TR/CSS Link]&lt;br /&gt;
===Estils de text===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''color:'''&lt;br /&gt;
|''Color''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-family:'''&lt;br /&gt;
|Família de fonts&lt;br /&gt;
|-&lt;br /&gt;
|'''font-size:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''font-style:'''&lt;br /&gt;
|''normal'' | italic&lt;br /&gt;
|-&lt;br /&gt;
|'''font-weight'''&lt;br /&gt;
|''normal'' | bold&lt;br /&gt;
|-&lt;br /&gt;
|'''line-height:'''&lt;br /&gt;
|''Mida''&lt;br /&gt;
|-&lt;br /&gt;
|'''text-align:'''&lt;br /&gt;
|''left'' | right | center | justify&lt;br /&gt;
|-&lt;br /&gt;
|'''text-decoration:'''&lt;br /&gt;
|''none'' | underline | overline | line-through&lt;br /&gt;
|-&lt;br /&gt;
|'''text-transform'''&lt;br /&gt;
|''none'' | uppercase | lowercase&lt;br /&gt;
|-&lt;br /&gt;
|'''font'''&lt;br /&gt;
|Permet establir ''font-style'' - ''font-variant'' - ''font-weight'' - ''font-size/line-height'' - ''font-family'', en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
===Exemple estils de text ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS3.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS2.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	background-color: #f8f8f8;&lt;br /&gt;
	font-family: &amp;quot;Lucida Grande&amp;quot;, Tahoma, Arial, sans-serif;&lt;br /&gt;
	font-size:12px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1, h2 {&lt;br /&gt;
	border-bottom:1px solid #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#capsalera h1 {&lt;br /&gt;
	font: italic bold 50px Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
span.dolly, a {&lt;br /&gt;
	color:#7fa3fc;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
a {&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#peu {&lt;br /&gt;
	text-align:right;&lt;br /&gt;
	margin-top:40px;&lt;br /&gt;
	border-top:1px dotted #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Colors en CSS==&lt;br /&gt;
Les tres maneres més típiques d'indicar colors en CSS són:&lt;br /&gt;
*'''En format hexadecimal:#RRGGBB'''.Cada posició representa una xifra de 0 a la F(15) que indica la quantitat d'aquell color.&lt;br /&gt;
*'''En format RGB:rgb(r,g,b)'''En cada espai del parèntesi s'indica la quantitat de color del 0 al 255&lt;br /&gt;
**Com a derivat d'aquest existeix el format '''format RGBA''', amb un valor de transparència del 0 a l'1 en l'última posició: '''rgb(r,g,b,a)'''&lt;br /&gt;
*'''Nom de color''':es proporciona una llista de 147 colors predeterminats que es poden utilitzar directament.&lt;br /&gt;
**black, blue, white, red, green, yellow, magenta&lt;br /&gt;
**[http://en.wikipedia.org/wiki/Web_colors Colors en CSS]&lt;br /&gt;
[[Fitxer:ImatgeCSS4.png|center]]&lt;br /&gt;
Els llocs més típics on acostumem a aplicar colors són:&lt;br /&gt;
*'''Tipografies''': mitjançant la propietat ''color''&lt;br /&gt;
*'''Fons''': mitjançant la propietat ''background-color'' assignen colors de fons a qualsevol tipus d'element&lt;br /&gt;
*'''Vores''':''border-color'',''border-left-color'',...&lt;br /&gt;
&lt;br /&gt;
==Unitats de mida==&lt;br /&gt;
Les mides es poden indicar en les següents unitats:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Notació&lt;br /&gt;
!| Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|Notació&lt;br /&gt;
|Exemple&lt;br /&gt;
|-&lt;br /&gt;
|Píxels&lt;br /&gt;
|'''px'''&lt;br /&gt;
|font-size:12px&lt;br /&gt;
|-&lt;br /&gt;
|Emes(l'equivalent a l'amplada de la lletra m)&lt;br /&gt;
|'''em'''&lt;br /&gt;
|font-size:1.2em&lt;br /&gt;
|-&lt;br /&gt;
|Percentatge&lt;br /&gt;
|'''%'''&lt;br /&gt;
|font-size:120%&lt;br /&gt;
|}&lt;br /&gt;
Les mides en emes o percentatges són relatives a l'element pare de l'element al qual se li hagi donat estil&lt;br /&gt;
*El que s'acostuma a fer és definir la mida del '''body''' i la resta en forma relativa &lt;br /&gt;
*El cas que no s'indiqui res al '''body''', s'agafa la mida per defecte del navegador, que acostuma a ser de '''16px''' si no ha estat canviada per l'usuari&lt;br /&gt;
==Estils sobre llistats==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| Propietat&lt;br /&gt;
!| Valors típics&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-type:'''&lt;br /&gt;
|''none | circle | disc | square | armenian | decimal | decimal-leading-zero | georgian | lower-alpha | lower-greek | lower-latin | lower-roman | upper-alpha | upper-latin | upper-roman | inherit''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style-position:'''&lt;br /&gt;
|''inside | outside''&lt;br /&gt;
|-&lt;br /&gt;
|'''list-style:'''&lt;br /&gt;
|Permet establir tipus, posició i/o imatge en una única declaració&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Exemple de CSS aplicat a llistes===&lt;br /&gt;
&amp;lt;gallery mode=traditional widths=400px heights=300px&amp;gt;&lt;br /&gt;
Fitxer:ImatgeCSS6.png|Pàgina HTML sense CSS&lt;br /&gt;
Fitxer:ImatgeCSS5.png|Pàgina HMTL aplicant el CSS inferior&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source language=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
body {&lt;br /&gt;
	font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif;&lt;br /&gt;
	font-size: 14px;&lt;br /&gt;
	color: rgb(50,50,50);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h1 {&lt;br /&gt;
	font: 2em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	letter-spacing: -.5px;&lt;br /&gt;
	color:#576673;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
	font: 1.4em Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
	color:#687c8e;&lt;br /&gt;
	border-bottom: 1px dotted #ccc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ul {&lt;br /&gt;
	list-style-type: circle;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol {&lt;br /&gt;
	list-style-type: decimal-leading-zero;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ol ol {&lt;br /&gt;
	list-style-type: lower-roman;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li em {&lt;br /&gt;
	color: #ccc;	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li strong {&lt;br /&gt;
	color: #6a8ea4;	&lt;br /&gt;
	text-decoration: underline;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Precedència de regles==&lt;br /&gt;
Quan dues declaracions es contradiuen sobre un mateix element, s'apliquen dues normes:&lt;br /&gt;
*Primer s'aplica la regla més local&lt;br /&gt;
*Si són igual de locals, s'aplica la regla amb la puntuació més alta.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!| per cada selector...&lt;br /&gt;
!| sumem ... punts&lt;br /&gt;
|-&lt;br /&gt;
|Etiqueta&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|Classe(.)&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|Id(#)&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|Resta&lt;br /&gt;
|0&lt;br /&gt;
|}&lt;br /&gt;
'''Sempre s'aplica aquella regla més específica'''.Si hi ha empat s'aplicarà aquella que aparegui més tard.&lt;br /&gt;
===Exemple de precedència de regles===&lt;br /&gt;
&amp;lt;source language=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!doctype html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Herencia&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
            #caja header h1 { color: blue; }&lt;br /&gt;
            #caja .cabecera h1 { color: red; }&lt;br /&gt;
            header h1 { color: lime; }&lt;br /&gt;
            h1 { color:purple; }&lt;br /&gt;
        &amp;lt;/style&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&amp;lt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;div id=&amp;quot;caja&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;header class=&amp;quot;cabecera&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;h1&amp;gt;Cabecera: header&amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;/header&amp;gt;&lt;br /&gt;
        &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Com podeu observar en el codi anterior, existeixen quatre regles CSS que fan referència al mateix element, concretament a l'encapçalament h1 del codi HMTL.&lt;br /&gt;
Per saber quina de les regles s'aplicarà, caldrà calcular el pes de cada una d'elles:&lt;br /&gt;
*'''#caja header h1 { color: blue; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 102: 100 per la referència a la classe ''caja'', 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''#caja .cabecera h1 { color: red; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 111 per la referència a la classe ''caja'', 10 per la referència a la classe ''cabecera'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''header h1 { color: lime; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 2, 1 per la referència a ''header'' i 1 per la referència a ''h1''&lt;br /&gt;
*'''h1 { color:purple; }'''&lt;br /&gt;
La puntuació d'aquesta regla és de 1 per la referència a ''h1''&lt;br /&gt;
Per tant, la regla que s'aplicarà en aquest cas és '''#caja .cabecera h1 { color: red; }'''&lt;br /&gt;
&lt;br /&gt;
==Bibliografia==&lt;br /&gt;
José Luís Antúnez, Apunts SMX2-M8&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Ethernet.jpg&amp;diff=154</id>
		<title>File:Ethernet.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Ethernet.jpg&amp;diff=154"/>
		<updated>2022-09-07T11:56:05Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=M17&amp;diff=153</id>
		<title>M17</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=M17&amp;diff=153"/>
		<updated>2022-05-09T16:18:15Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Seguretat en xarxes}}&lt;br /&gt;
=Introducció=&lt;br /&gt;
Avui dia trobem un fet normal estar treballant en una xarxa on hi ha connectats milers d'ordinadors entre si, amb una gran quantitat de dades circulant per la xarxa. Accés a internet. Connectivitat amb altres organitzacions mitjançant el correu electrònic, comprar electrònicament, etc..&lt;br /&gt;
Tots aquests conceptes que avui dia ens resulten tant familiars, la seva funcionalitat va ser ideada al voltant de la dècada dels anys 60 i 70 del segle passat. Per la gent que ho va idear, aquestes funcionalitats no eren més que suposicions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Molts anys després, aquestes bases inicials i teòriques segueixen funcionant tal i com es van dissenyar. Fa falta molt de temps per canviar les coses, i més per crear elements que han estat adaptats segons les necessitats. Per exemple la pila OSI, que havia de representar el model a seguir en les xarxes i finalment va prevaler el model TCP/IP ja que tot i els seus problemes a nivell teòric, ja es trobava en explotació.&lt;br /&gt;
Aquest model d'evolució basat en la necessitat presenta el problema que encara que resulti adaptatiu, pot fallar en elements tant significatius com és la seguretat. I és que TCP/IP té més en compte la connectivitat que no pas la seguretat. La seguretat ha estat presa en consciència temps després, quan s'han posat al descobert fallades existents.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:PilaOSI.jpg|325px|thumb|Pila OSI i TCP/IP]]&lt;br /&gt;
La seguretat és cosa de tots els usuaris, encara que hi hagi qui diu que és únicament cosa dels informàtics. L'ésser humà és reactiu, és a dir fins que no li passa alguna cosa per a que es generi la necessitat.&amp;lt;br /&amp;gt;&lt;br /&gt;
Per exemple, la idea que un usuari té d'un certificat passa per ser &amp;quot;alguna cosa que fa que la pàgina web sigui segura&amp;quot;. A aquesta mateixa persona posteriorment d'explicar-li el que era un atac &amp;quot;man in the middle&amp;quot; se li va preguntar per que acceptava un certificat quan apareixia un error en pantalla. La seva resposta va ser contundent: &amp;quot;això ho he fet moltes vegades i mai passa res. A més si no accepto es tanca la pantalla&amp;quot;. Això reflexa que alguna cosa no s'està fent del tot bé. &amp;lt;br /&amp;gt;&lt;br /&gt;
O es forma a la persona per a poder prendre aquest tipus de decisions, o se li està deixant acceptar una responsabilitat que a la qual no està qualificat.&amp;lt;br /&amp;gt;&lt;br /&gt;
Sembla que la seguretat acaba recaient en qui menys coneixement té sobre la mateixa. Fins i tot sovint els propis tècnics no estan degudament preparats. Han passat ja anys des de que es van publicar els primers resultats amb atacs que veurem a classe com ara '''ARP poisoning''' i encara resulta eficaç en la majoria de xarxes actuals. Sembla doncs que la seguretat es redueix a simples especulacions o paranoies d'alguns, que finalment no s'acaben produint mai.&amp;lt;br /&amp;gt;&lt;br /&gt;
Finalment si analitzem el que passa en moltes empreses, on cal que inverteixin recursos (personal, maquinari, diners...) en quelcom que no és tangible, la solució és clara: no s'inverteix. Sovint s'escolta allò de ''&amp;quot;si no posem solució pot arribar a passar que...&amp;quot;''. Aquesta frase queda oblidada, i finalment s'escolta allò de ''&amp;quot;ja vaig dir que podia passar, i ha passat&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
=Xarxes de dades i els seus dispositius=&lt;br /&gt;
[[File:alohanet.jpg|300px|thumb|Topologia d'alohanet]]&lt;br /&gt;
[[File:arpanet.jpg|300px|thumb|Topologia d'arpanet]]&lt;br /&gt;
[[File:Tokenethernet.jpg|300px|thumb|Topologia token ring i ethernet]]&lt;br /&gt;
[[File:ethernet.jpg|300px|thumb|Vampir utilitzat en ethernet]]&lt;br /&gt;
Avui dia no es pot concebre que una empresa pugui treballar de forma normal si hi ha una fallada en les seves comunicacions de xarxa. Les infraestructures de xarxa s'han convertit en un punt neuràlgic per la gran quantitat de dades que absorbeixen. &amp;lt;br /&amp;gt;&lt;br /&gt;
La idea de les xarxes i dels seus protocols és la de comunicar. El seu objectiu és aconseguir que la xarxa sigui funcional. Les xarxes han evolucionat però el seu objectiu primordial és la funcionalitat. La resta queda com a secundari.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'origen de les xarxes d'ordinadors és quasi tant antic com el dels propis ordinadors. Qui es preocuparia en aquella època de la seguretat quan el principal problema era aconseguir que les màquines es poguessin comunicar? L'important era que funcionés i en aquell entorn la confiança entre terminals es pressuposava. Els models de comunicació es van crear per cavallers i per a cavallers.&amp;lt;br /&amp;gt;&lt;br /&gt;
El concepte de hacker, privacitat o confidencialitat es trobaven a anys llum. La fiabilitat era el nucli sobre el que es recolzaven les comunicacions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Una de les primeres grans xarxes va ser ARPANET. Teoritzada els anys 60 tenia com a objectiu la unió de diferents sistemes informàtics d'organitzacions nord-americanes. Les bases de la seva funcionalitat era:&lt;br /&gt;
* Implementar un sistema de comunicacions descentralitzat on poguessin existir múltiples camins entre dos punts.&lt;br /&gt;
* La segmentació dels missatges en fraccions que poguessin seguir camins diferents&lt;br /&gt;
La xarxa hauria de ser capaç de mantenir la comunicació encara que un segment fallés. Tornem a tenir la connectivitat com a prioritat.&amp;lt;br /&amp;gt;&lt;br /&gt;
Alhora que es dissenyava ARPANET, la Universitat de Hawai va idear un mecanisme per mantenir connectades diferents persones i centres disseminats entre el gran nombre d'illes de Hawai sense necessitat d'utilitzar un medi tipus punt a punt com ho feia ARPANET. La van anomenar ALOHANET. &amp;lt;br /&amp;gt;&lt;br /&gt;
La solució adoptada per ALOHANET va ser utilitzar un tecnologia ja existent, la radio. Això feia que les múltiples estacions de les illes haguessin de compartir un medi comú i amb l'inconvenient que en un medi com la radio, dues estacions no poden comunicar-se alhora.&amp;lt;br /&amp;gt;&lt;br /&gt;
La solució ideada per la universitat de Hawai donava la solució al problema. Es basava en la fiabilitat i en la cortesia, parlava qui volia i la resta esperava a que acabés. Si dos estacions parlaven a la vegada, es donaven per assabentades de l'error i una d'elles esperava a que l'altre realitzés la comunicació. Naixia el CSMA/CD. Aquest CSMA/CD evolucionarà fins a convertir-se en el nostre Ethernet.&amp;lt;br /&amp;gt;&lt;br /&gt;
Les xarxes tipus token i les xarxes ethernet van conviure durant un temps. Mentre una evitava les col·lisions de dades (token) altres els assumeix i intenten recuperar-se. Cada sistema tenia les seves avantatges i els seus inconvenients, i únicament el temps va fer prevaler una sobre les altres. &amp;lt;br /&amp;gt;&lt;br /&gt;
Tot aquest conjunt de tecnologies físiques requerien tenir una comptabilitat a nivell lògic. En aquest sentit com més senzill fos tot, més fàcil seria la compatibilitat, pero la seguretat tendeix a complicar les coses. Així en el primers plantejaments es va apostar per la senzillesa i sobretot per la rapidesa en tenir una implementació. En aquest sentit ARPANET ja era funcional, i tot i que de forma teòrica conté problemes, TCP/IP es va convertir en l'estàndard de xarxes.&amp;lt;br /&amp;gt;&lt;br /&gt;
Els sistemes per cable es van imposar als sistemes sense fil, tot i que més endavant van retornar amb força utilitzant-se dins les xarxes locals. En un principi, les xarxes contenien un nombre poc elevat de màquines i una topologia en forma de bus com la que utilitzava ethernet resultava suficient per les necessitats de la xarxa.&amp;lt;br /&amp;gt;&lt;br /&gt;
Tots els equips estaven connectats al un mateix cable central, que permetia un creixement moderats de la xarxa i tot amb un cost no gaire elevat.&amp;lt;br /&amp;gt;&lt;br /&gt;
Tot i això, a mida que creixia la xarxa les col·lisions eren més probables, el cable de bus es feia era més llarg i per tant tenia més atenuació de la senyal i el gran problema d'aquesta topologia: qualsevol problema en el cable central deixava la xarxa totalment desconnectada. I com més llarg, i per tant més equips pogués tenir la xarxa, més possibilitats hi havia de que fallés el cable central. Un canvi de tecnologia era necessari.&lt;br /&gt;
El canvi tecnològic va arribar i va ser un canvi total en la forma de dissenyar les xarxes. S'elimina el cable central de bus i s'incorpora un element central aglutinador de totes les connexions de la xarxa. Es passa per tant d'una topologia de tipus bus a una topologia de tipus estrella.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'element central s'anomena ''hub'' o concentrador. La incorporació d'aquest element on es connectaran tots els equips de la xarxa fa que tota la comunicació passi a través d'ell i que, en cas de fallada en algun punt de la xarxa, únicament l'equip que estigui connectat en aquell punt sigui l'afectat, passant desapercebut per la resta de la xarxa. A més, l'equip concentrador pot fer la funció de repetidor de la senyal, amb la qual cosa s'elimina el problema de la pèrdua d'intensitat de senyal que tenia el cable de bus.&amp;lt;br /&amp;gt;&lt;br /&gt;
Tot sembla perfecte, hem eliminat el problema d'atenuació de senyal, el problema de caiguda de la xarxa en cas que el cable de bus falli i a més hem aconseguit regenerar la senyal. Hi ha però un problema, ningú va pensar en la seguretat. Així heretant el funcionament de la xarxa de bus, on la informació arribava a tots els equips connectats al bus, el hub també reenviava la informació a tots els equips que a ell es trobaven connectat. Tornem a tenir un escenari que es basa en la confiança en la resta de les màquines de la xarxa. Quin ens garanteix que una màquina no utilitzi les dades que no eren per ell?. De fet, una xarxa on l'element central sigui un ''hub'' es considera una xarxa de confiança.&amp;lt;br /&amp;gt;&lt;br /&gt;
Tot i el problema de seguretat que plantejava l'ús de concentradors, el canvi es va produir principalment pel baix rendiment que donen quan la xarxa té un nombre elevat d'equips. El fet que un ''hub'' reenviï el trànsit a totes les màquines que es troben a ell connectades, fa incrementar el trànsit de forma exponencial. A més, com més equips hi hagi connectats a la xarxa més col·lisions es produeixen i per tant més reenviaments, i més trànsit. No era d'estranyar que aviat les xarxes amb concentradors saturessin i caiguessin. Calia un sistema que segmentés la xarxa i aïllés els problemes. Si els concentradors oferien una solució física dins la capa 1 de la pila OSI, calia escalar el problema a la capa 2, que ofereix la possibilitat de donar una adreça als equips, control de flux, control d'errors i en general mediatitzar la comunicació.&amp;lt;br /&amp;gt;&lt;br /&gt;
Els dispositius de capa 2 que apareixen com els ''switch'' o commutadors, ofereixen unes condicions de connectivitat més òptimes que les que aportaven els concentradors de la capa inferior. Generen la figura del domini de colisió. Bàsicament controlaven el problema:''&amp;quot;Per què si vull enviar la informació a un equip li he d'enviar a tota la resta?&amp;quot;''. Un efecte col·lateral d'aquest canvi era la seguretat, però no era la base fonamental. Si el trànsit d'un equip era dirigit únicament a un equip, el trànsit total de la xarxa es veia reduït d'una forma molt clara. A més també es poden implementar controls de tempesta de broadcast o les implementacions de STP (Spanning Tree Protocol).&amp;lt;br /&amp;gt;&lt;br /&gt;
*[https://www.youtube.com/watch?v=Oh2xkXAdZbQ Exemple de tempesta broadcast]&lt;br /&gt;
Tot i la clara millora de comunicacions que representa l'ús d'un ''switch'' davant de l'ús d'un ''hub'', fins que el cost d'un i l'altre no es va anivellar no es va començar a implantar la utilització de commutadors en les xarxes.&amp;lt;br /&amp;gt;&lt;br /&gt;
Portar la informació des d'un sistema a un altre sense que arribés a tots era la clau, per tant es necessitava adreçar. Que els equips tinguessin algun element que els diferenciés a nivell de capa 2 era fonamental. L'especificació original de IEEE 802, oferia MAC com a mecanisme d'assignació universal d'adreces.&amp;lt;br /&amp;gt;&lt;br /&gt;
Amb aquesta informació un switch és capaç d'emmagatzemar en una taula les adreces MAC de les màquines que hi ha connectades a cada una de les seves boques. D'aquesta manera quan una trama de MAC A vagi dirigida a MAC B, el switch la transmetrà pel port corresponent a la màquina que té la MAC B. Si per casualitat, MAC B estigués en aquell moment transmetent cap a MAC C, els switch és capaç d'emmagatzemar la trama fins que acabi la transmissió de MAC B a MAC C. D'aquesta manera soluciona el problema de les colisions.&amp;lt;br /&amp;gt;&lt;br /&gt;
Amb tot, hi ha un problema que que ha estat assumit com a un mal menor: les trames broadcast. Quan d'un equip no en sabem la seva adreça MAC i necessitem establir una comunicació, hem de saber quina adreça MAC té. No ens quedarà un altre remei que preguntar a totes les màquines de la xarxa, mitjançant una trama broadcast, quina és la MAC d'aquella màquina.&amp;lt;br /&amp;gt;&lt;br /&gt;
Així doncs, com que l'existència d'aquestes trames en condicions de treball normals és habitual, s'assumeix com un mal menor la utilització de les mateixes, excepte en casos d'un ús desorbitat de les mateixes que pugui ocasionar una tempesta de broadcast que podria inutilitzar la xarxa comunicada amb un Switch.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'aparició del switch va oferir velocitat i ample de banda,i de forma col·lateral una sensació de seguretat. El trànsit va dirigit d'un equip a un altre sense que ningú de l'entorn fos receptor de la comunicació. Per tant existeix la falsa creença que amb un switch és impossible obtenir el trànsit entre dues entitats.&amp;lt;br /&amp;gt;&lt;br /&gt;
Per tant fins ara s'han destil·lat una sèrie d'idees del tot el que hem vist:&lt;br /&gt;
* La idea fonamental és la connectivitat: primer que funcioni i la resta vindrà després&lt;br /&gt;
* Quan la idea és funcional, s'avança a millorar altres característiques: serveis, velocitat i ample de banda&lt;br /&gt;
* Els protocols i idees precursores es dissenyen amb el propòsit que siguin funcionals&lt;br /&gt;
* L'evolució de la tecnologia del hardware representa en essència la necessitat: que tot vagi més ràpid i es pugui unir una major quantitat de sistemes&lt;br /&gt;
* La confiança és la base de la comunicació&lt;br /&gt;
&lt;br /&gt;
=Sniffing, Spoofing i Haijacking=&lt;br /&gt;
Els  primers sistemes ethernet, consistien en un bus en els que les màquines de la xarxa enviaven les seves dades. Si ho se sap on està el receptor de les nostres dades haurem d'enviar les dades a totes les màquines amb les que compartim el medi.&amp;lt;br /&amp;gt;&lt;br /&gt;
El procés d'avaluació és simple: &amp;quot;Aquesta informació és per a mi?&amp;quot; Si la resposta és afirmativa, processo la informació. En cas contrari la descarto. La peculiaritat radica en el fet que si un paquet de dades m'arriba i no és per mi, què em condiciona a que no la processi? Cavallerositat?&lt;br /&gt;
==Sniffing==&lt;br /&gt;
[[File:sniffers.png|300px|thumb|Tipus de sniffers]]&lt;br /&gt;
[[File:Snnifer.gif|300px|thumb|Sniffer amb un switch]]&lt;br /&gt;
Si la informació arriba al sistema, no hi ha cap mecanisme que m'impedeixi que la processi. '''Sniff''' és el fet de rastrejar i limitar aquesta cavallerositat. Eliminar aquest element que fa que elimini les dades que no van dirigides a mi és el '''mode promiscu'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Un '''sniffer''' és simplement l'eina que fa tot això: permet que el sistema es posi en mode promiscu. Addicionalment també incorpora una interfície que permet visualitzar les dades que rastreja.&amp;lt;br /&amp;gt;&lt;br /&gt;
Sovint un '''sniffer''' és considerat com un element maliciós dins una xarxa d'ordinadors. Això no sempre és cert ja que sovint ens podem trobar amb un equip que no tingui el comportament esperat dins la xarxa, i ens serà de molta utilitat poder rastrejar el trànsit que rep i envia l'equip per intentar trobar el problema. &amp;lt;br /&amp;gt;&lt;br /&gt;
Un altre cas on un '''sniffer''' no és cap element maliciós, el trobem en el cas d'estar en una xarxa d'estrella on l'element central és un hub. En aquest cas el trànsit de la xarxa li arriba directament a l'equip amb l'sniffer. Simplement el que hem de fer és interpretar-lo.&amp;lt;br /&amp;gt;&lt;br /&gt;
En una xarxa amb un element central que sigui un switch, no podrem realitzar aquest comportament d'una forma tant senzilla. En aquest cas, si volem monitoritzar el trànsit de xarxa d'algun equip haurem de configurar la possibilitat que tenen la majoria de switchs de replicar el trànsit de xarxa a través del port on estigui connectat l'equip amb l'sniffer.&amp;lt;br /&amp;gt;&lt;br /&gt;
Molt sovint aquesta configuració s'obvia i genera un important forat de seguretat dins la xarxa, doncs una persona malintencionada podria arribar a tenir accés a tot el trànsit de xarxa de forma senzilla.&amp;lt;br /&amp;gt;&lt;br /&gt;
El que està clar és que si no descuidem la configuració del nostre switch, estem  complicant força el fet que algú pugui accedir al trànsit de la nostra xarxa. De totes maneres en base als protocols i dissenys inicials de les xarxes, la informació continua transmetent-se en clar, els protocols inicials no especificaven el contrari. Simplement cal fer-se passar pel destinatar-hi per arribar a tenir accés a ella. Aquí entra en joc el següent punt del tema: ''spoofing''&lt;br /&gt;
&lt;br /&gt;
==Spoofing==&lt;br /&gt;
[[File:Spoofing.jpg|300px|thumb|Spoofing]]&lt;br /&gt;
En el sentit més estricte, ''spoofing'' fa referència al conjunt de tècniques enfocades a la suplantació. Per exemple, ''MAC Spoofing'' fa referència a la suplantació de l'adreça física d'un altre sistema. D'aquesta manera podríem obtenir una adreça IP reservada en un servidor DHCP, connectar-nos a una Wifi o accedir a un port concret d'un switch.&amp;lt;br /&amp;gt;&lt;br /&gt;
Així doncs ''spoofing'' no es pot considerar una tècnica concreta, sinó un conjunt d'elles: ''ARP Spoofing'', ''DNS Spoofing'' o ''Web Spoofing''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gairebé en cada capa TCP/IP pot existir una tècnica de suplantació.&lt;br /&gt;
La tècnica de ARP Spoofing consisteix en '''reconduir''' el trànsit entre dues màquines a través d'un tercer. No s'ha de confondre amb la replicació de trànsit.&amp;lt;br /&amp;gt;&lt;br /&gt;
En el cas d'un switch en el que un trànsit va de A a B, es replica a través del port de monitoratge a C. En el cas de la reconducció el trànsit del l'equip A arribaria primer a C, i aquest el reconduirà a B. Encara que la diferència sembli subtil, hi ha un abisme entre una tècnica i l'altre.&amp;lt;br /&amp;gt;&lt;br /&gt;
Seguint amb l'exemple de spoofing anterior, què li impedeix a C alterar les dades abans de tornar-les a enviar a B?. Estem parlant de ''Hijacking''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hijacking==&lt;br /&gt;
[[File:Hijacking.png|300px|thumb|Hijacking]]&lt;br /&gt;
Per ''hijacking'' entenem el segrest de la informació per part d'un equip. De tècniques de Hijacking n'hi ha tantes o més que de spoofing, tot i que sovint es confonen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Un exemple de ''Browser Hijacking'' és quan un navegador web es troba segrestat per una aplicació malintencionada de forma que la informació que rep l'usuari ve condicionada pels paràmetres de l'aplicació. Per exemple la modificació de la pàgina d'inici o l'accés a una pàgina enlloc d'una altra.&amp;lt;br /&amp;gt;&lt;br /&gt;
Un segon exemple el podrem trobar en una sessió telnet. A través de la tècnica d'''ARP spoofing'', un atacant pot redirigir el trànsit i veure el contingut de la sessió telnet.&amp;lt;br /&amp;gt;&lt;br /&gt;
Cal tenir en compte que per a que un atacant pugui realitzar alguna acció maliciosa cal que es trobi en mode promiscu. Si no pot processar la informació que no és específicament per ell, no podrà reconduir-la ni alterar-la.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Wireshark=&lt;br /&gt;
[[File:Wireshark.png|thumb|Pantalla principal de wireshark]]&lt;br /&gt;
Wireshark és una eina d'anàlisis de paquets de xarxa. Els captura en temps real i el visualitza en format inteligible.&lt;br /&gt;
Wireshark inclou filtres, codificació de colors i altres característiques que permeten aprofundir en el trànsit de xarxa i inspeccionar paquets de forma individual.&lt;br /&gt;
La primera pantalla que trobem quan iniciem el programa ens demana quina de les interfícies de xarxa de la nostra màquina volem capturar.&amp;lt;br /&amp;gt;&lt;br /&gt;
Un cop seleccionada la interfície la pantalla canviarà per mostrar-nos la pantalla principal del programa. En aquesta segona pantalla serà on treballarem i on podrem visualitzar gran part de la informació que ens pot proporcionar el programa. Bàsicament la pantalla es dividirà en tres parts:&lt;br /&gt;
* '''Zona de paquets capturats'''&lt;br /&gt;
En aquesta zona apareixeran en temps real els paquets que son capturats en la interfície de xarxa.&lt;br /&gt;
* '''Zona de detall del paquet'''&lt;br /&gt;
En aquesta zona podrem veure detalls sobre el paquet que hem seleccionat en la zona de paquets capturats&lt;br /&gt;
* '''Zona de dades en brut'''&lt;br /&gt;
Aquí podem veure les dades en brut del paquet, és a dir, tal i com arriben a la targeta de xarxa.&amp;lt;br /&amp;gt;&lt;br /&gt;
A banda d'aquestes tres zones principals, en la pantalla principal del programa també trobem un menú superior i botons d'opcions, que ens permetran obtenir altre tipus d'informació sobre el trànsit capturat pel programa.&amp;lt;br /&amp;gt;&lt;br /&gt;
Finalment, trobarem també una barra on podrem escriure i crear filtres que s'aplicaran sobre el conjunt de paquets capturats pel programa i que es mostren en la zona de paquets capturats. Aquesta és una de les eines més importants i útils de wireshark, ja que el nombre de paquets capturats sovint és molt elevat i es fa gairebé impossible seguir les connexions des de la zona de paquets capturats. Amb la utilització de filtres podrem  visualitzar únicament els paquets d'una connexió que ens interessi, o d'un tipus en concret.&lt;br /&gt;
=Atacs=&lt;br /&gt;
Un atac informàtic és un mètode pel qual un individu, mitjançant un sistema informàtic, intenta prendre el control, desestabilitzar o danyar un altre sistema informàtic (ordinador, xarxa privada, etcètera). &lt;br /&gt;
==Tipus atacs==&lt;br /&gt;
Els atacs informàtics els podem classificar en dos grans grups:&lt;br /&gt;
*Segons l'ús que fan de la informació&lt;br /&gt;
*Segons l'objectiu buscat en l'atac&lt;br /&gt;
===Segons informació===&lt;br /&gt;
*''Passius''&amp;lt;br /&amp;gt;&lt;br /&gt;
Registren l'ús de recursos i/o accedeixen a informació del sistema&lt;br /&gt;
*''Actius''&amp;lt;br /&amp;gt;&lt;br /&gt;
Produeixen canvis en la informació&amp;lt;br /&amp;gt;&lt;br /&gt;
===Segons objectiu===&lt;br /&gt;
* Reconeixement de sistemes&lt;br /&gt;
* Vulnerabilitat en els sistemes&lt;br /&gt;
* Robatori d'informació&lt;br /&gt;
* Modificació de missatges transmesos&lt;br /&gt;
* Anàlisis del trànsit&lt;br /&gt;
* Suplantació d'identitat&lt;br /&gt;
* Modificació del transit i taules d'enrutament&lt;br /&gt;
* Connexió no autoritzada a equips&lt;br /&gt;
* Malware&lt;br /&gt;
* Atacs a sistemes criptogràfics&lt;br /&gt;
* Atacs de denegació de servei&lt;br /&gt;
&lt;br /&gt;
==Fases d'un atac informàtic==&lt;br /&gt;
Un atac informàtic, generalment passa per aquestes cinc etapes:&lt;br /&gt;
* Descobriment i exploració del sistema informàtic&lt;br /&gt;
* Cerca de vulnerabilitats a l'equip&lt;br /&gt;
* Explotació i aprofitament de les vulnerabilitats detectades&lt;br /&gt;
* Corrupció del sistema per deixar portes obertes (canvi de passwords)&lt;br /&gt;
* Eliminat de proves reveladores de l'atac (logs)&lt;br /&gt;
&lt;br /&gt;
==Atacs switch==&lt;br /&gt;
===ARP Spoofing===&lt;br /&gt;
Pràctica 1&lt;br /&gt;
===MAC Flooding===&lt;br /&gt;
====Tipus d'atac====&lt;br /&gt;
L'atac '''MAC Flooding''' el podem classificar dins dels atacs passius, com un atac per accedir a la informació d'altres equips.&lt;br /&gt;
&lt;br /&gt;
====Objectiu====&lt;br /&gt;
El MAC Flooding és un mètode d'atac que intenta comprometre la seguretat dels commutadors de xarxa. Els commutadors mantenen una taula anomenada '''MAC table'''. Aquesta taula MAC consisteix en una relació entre les adreces MAC dels equips connectats al commutador i el port en el que estan connectats. Aquesta taula és la que permet als commutadors redirigir el trànsit únicament al port on es troba el destinatari.&lt;br /&gt;
Fet que els distingeix del hub, que redirigeixen el trànsit per tots els ports, fent que aquest sigui accessible per tots els  equips que estan connectats a ell.&amp;lt;br /&amp;gt;&lt;br /&gt;
L'objectiu de l'atac '''MAC Flooding''' és aquesta taula MAC. &lt;br /&gt;
====Desenvolupament====&lt;br /&gt;
La intenció de l'atac és enviar una gran quantitat de trames ethernet. Aquestes trames contindran com adreça MAC origen diferents equips, normalment generades a l'atzar. En conseqüència el commutador anirà emmagatzemant en la seva taula MAC les adreces origen d'aquestes trames. Arribarà un moment en el que aquestes adreces MAC ocuparan tota la capacitat de la taula d'adreces MAC. En aquest moment les adreces MAC dels equips legítims de la xarxa es faran fora de la taula i aquesta quedarà totalment plena d'adreces MAC falsejades. En aquest moment el commutador no podrà entregar qualsevol dada que li arribi per la xarxa al seu legítim destinatari. En conseqüència els commutadors, en casos com aquests, es comporten com a un hub per tal d'assegurar la connectivitat de la xarxa. I al fer-ho, estan enviant la informació per tots els ports del commutador. L'atacant ja  té accés a les dades de la xarxa.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 560px; height: 315px; margin: 0 auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;HEhRzyEC-ns&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 560px; height: 315px; margin: 0 auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;jxNRxB9yN9k&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Prevenció====&lt;br /&gt;
Hi ha quatre maneres bàsiques de prevenir un atac '''MAC FLooding'''&lt;br /&gt;
* ''Port security''&lt;br /&gt;
Activar la seguretat de port en el switch. Amb aquest mètode podem limitar el nombre d'adreces MAC que pot emmagatzemar un port d'un commutador. D'aquesta manera impedirem que encara que rebem un atac '''MAC Flooding''' la taula MAC del commutador ocupi tota la seva capacitat.&lt;br /&gt;
* ''Adreces estàtiques''&lt;br /&gt;
Si configurem el commutador per a que utilitzi adreces MAC dinàmiques, l'atac queda neutralitzat. Ara bé, no utilitzar adreces MAC dinàmiques comporta una gran feina per a l'administrador de sistemes. I per a cada canvi que es produeixi en la xarxa, caldrà modificar la configuració de tots els equips.&lt;br /&gt;
* ''Autentificar amb un servidor AAA''&lt;br /&gt;
Un servidor AAA és aquell que implementa un protocol AAA, com per exemple un servidor Radius, un LDAP, EAP, etc...Aquest tipus de servidor, abans d'autoritzar un equip en la xarxa en verifica la seva identitat. [https://es.wikipedia.org/wiki/Protocolo_AAA Mes informació]&lt;br /&gt;
&lt;br /&gt;
===Doble etiquetatge VLAN===&lt;br /&gt;
====Tipus d'atac====&lt;br /&gt;
Aquest atac el podem classificar dins dels atacs passius, com un atac que modifica el trànsit de xarxa. Aquest atac s'acostuma a utilitzar com a pas previ a un atac de denegació de servei&lt;br /&gt;
====Objectiu====&lt;br /&gt;
L'objectiu d'aquest atac és saltar d'una VLAN a una altra i poden accedir a màquines que en un principi son inabastables. Com s'ha dit anteriorment, aquest tipus d'atac és previ a la realització d'un atac de denegació de servei, doncs un cop s'ha aconseguit saltar la VLAN i accedir a la víctima, es produeix l'atac en si mateix.&lt;br /&gt;
====Desenvolupament====&lt;br /&gt;
Recordem breument la teoria de VLANs. Les VLAN aïllen màquines que es troben connectades a un mateix commutador en xarxes lògiques que entre elles són independents.&lt;br /&gt;
Les VLAN tenen les següents característiques:&lt;br /&gt;
*Enllaços d'accés&lt;br /&gt;
Aquest tipus d'enllaços transmeten les dades de la VLAN en la qual està configurat el port al que pertanyen. Les dades que poguessin arribar de VLAN diferents serien descartats.&lt;br /&gt;
*Enllaços troncals&lt;br /&gt;
[[File:VLANHopping.png|thumb|VLAN Hopping]]&lt;br /&gt;
Aquest tipus d'enllaç normalment uneix commutadors i permet el pas de paquets de diferents VLANs. Aquests paquets d'han de trobar etiquetats segons la normativa IEEE802.1q, que permet especificar amb una etiqueta la VLAN a la qual pertany el paquet. A aquest tipus d'enllaç se li ha d'especificar quina és la VLAN nativa i quines són les VLAN a les que permet el pas de dades.&lt;br /&gt;
Aquest tipus d'atac aprofita el fet que la majoria de commutadors realitzen únicament una desencapsulació 802.1q, el que permet a l'atacant introduir una segona etiqueta 802.1q dins el paquet. &lt;br /&gt;
L'atac d'etiquetatge doble es desenvolupa seguint aquestes tres passes. Suposarem que la VLAN nativa és la 10:&lt;br /&gt;
# L'atacant envia una trama 802.1q amb doble etiqueta al switch. L'encapçalament extern porta l'etiqueta de la VLAN de l'atacant, l'encapçalament intern porta l'etiqueta de la VLAN de la víctima. &lt;br /&gt;
# La trama arriba al switch, que observa que la trama va destinada a la VLAN 10, que és la nativa. El switch reenviarà la trama a tots els ports que pertanyin a la VLAN 10. En el port d'enllaç troncal, no es torna a etiqueta la trama ja que pertany a la VLAN nativa. En aquest punt, l'etiqueta de la VLAN 20 segueix intacta, el primer switch no l'ha inspeccionat.&lt;br /&gt;
#  El segon switch observa únicament l'etiqueta interna que tenia originàriament el paquet que va enviar l'atacant, i per tant veu que la trama va dirigida a la VLAN 20. El segon switch enviarà doncs, la trama a la VLAN 20 segons el que li indiqui la seva taula d'adreces MAC.&lt;br /&gt;
&lt;br /&gt;
Com podeu veure aquest tipus d'atac és unidireccional, i únicament funciona quan l'atacant es connecta a un port de la mateixa VLAN que la VLAN natica del port troncal.&lt;br /&gt;
&lt;br /&gt;
====Prevenció====&lt;br /&gt;
El millor mètode per evitar aquest tipus d'atacs és assegurar la VLAN  nativa dels ports troncals sigui diferent que la VLAN de qualsevol port d'usuari.&lt;br /&gt;
De fet, es considera una pràctica recomanada de seguretat la utilització d'una VLAN fixe per a tots els ports troncals de la xarxa.&lt;br /&gt;
&lt;br /&gt;
===Switch spoofing===&lt;br /&gt;
====Tipus d'atac====&lt;br /&gt;
L'atac '''Switch Spoofing''' el classifiquem dins dels atacs passius, ja que no modifica informació de la xarxa. D'altra banda és una atac que suplanta identitat, fa una connexió no autoritzada de l'equip.&lt;br /&gt;
====Objectiu====&lt;br /&gt;
L'objectiu d'aquest atac és aconseguir que el nostre equip sigui identificat com un commutador amb un enllaç troncal amb un altre commutador. D'aquesta manera aconseguirem que el transit de les VLAN ens arribi a la nostra màquina. D'aquesta manera podrem executar un atac MiTM o un ataca de força bruta contra una altra màquina de la xarxa.&lt;br /&gt;
====Desenvolupament====&lt;br /&gt;
El desenvolupament d'aquest atac es fa a través d'un software que simuli que la màquina atacant és un commutador que vol negociar un enllaç troncal amb el commutador víctima. El software enviarà els paquets DTP necessaris per a poder realitzar aquesta negociació.&lt;br /&gt;
Quan a un commutador no li modifiquem la configuració que té de fàbrica, aquesta és la següent:&lt;br /&gt;
*'''Administrative mode: dynamic auto''' Implica que està disposat a negociar un enllaç troncal de forma dinàmica&lt;br /&gt;
*'''Operational mode: static access''' El switch opera en mode access&lt;br /&gt;
*'''Negotiation of trunking: On''' El protocol dinàmic d'enllaç troncal està activat i per tant es pot negociar&lt;br /&gt;
*'''Operational Trunking Encapsulation: native''' La VLAN nativa pot ser troncal&lt;br /&gt;
*'''Access Mode VLAN: 1''' Quan un enllaç és en mode access, la VLAN és 1&lt;br /&gt;
*'''Trunking Native Mode VLAN: 1''' Quan l'enllaç és troncal la VLAN nativa és 1&lt;br /&gt;
Per tant un port d'un commutador per defecte permet el protocol DTP, negociacions sobre els ports troncals i la VLAN 1 com a VLAN nativa. I amb aquest tipus de configuració, l'atac resulta possible.&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 560px; height: 315px; margin: 0 auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;mMGezerlg9c&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Prevenció====&lt;br /&gt;
Per a intentar evitar aquest atac, cal tenir configurat el commutador i tots els ports sense utilitzar de la següent manera:&lt;br /&gt;
*El port ha d'estar configurat manualment com a port d'accés&lt;br /&gt;
*El port ha d'estar dins una VLAN que no estigui utilitzada per ningú i que no porti a cap destí&lt;br /&gt;
*DTP ha d'estar deshabilitat en el port&lt;br /&gt;
*La VLAN nativa utilitzada és una VLAN que no està sent utilitzada enlloc més i no porta enlloc&lt;br /&gt;
*El port està administrativament deshabilitat&lt;br /&gt;
*No utilitzar mai la VLAN1 per res, a no ser que es vulgui integrar amb altres dispositius.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Atacs router==&lt;br /&gt;
Els atacs a en router fan referència a atacs on principalment s'intenta aprofitar vulnerabilitats del protocol IP, i per tant de l'encaminament dels paquets, per a realitzar atacs principalment de denegació de servei.&amp;lt;br /&amp;gt;&lt;br /&gt;
Abans de parlar dels atacs cal recordar com funciona la fragmentació de paquets IP.&lt;br /&gt;
===Fragmentació de paquets IP===&lt;br /&gt;
Com s'ha comentat anterior ment el protocol IP és l'encarregat de l'encaminament dels paquets, és a dir, defineix la trajectoria que seguiran els paquets des del seu origen fins a la seva destinació. No és un protocol fiable ni orientat a connexió, o sigui que no garanteix el control de fluxe, la recuperació en cas d'error ni que els paquets arribin al seu destí.&amp;lt;br /&amp;gt;&lt;br /&gt;
A l'hora de passar a una capa inferior els paquets IP s'encapsulen en trames que, en funció del tipus de xarxa, tindran una longitud determinada. El tamany d'aquestes trames, anomenat MTU, pot variar d'una xarxa a una altra en funció del medi físic utilitzat.&amp;lt;br /&amp;gt;&lt;br /&gt;
Per tant, el protocol IP ha de tenir en compte que cas dispositiu podrà transmetre trames amb una longitud superior al MTU establert per la xarxa per la qual passa. La fragmentació divideix el datagrames IP en fragments de menor longitud. El reensamblat és l'operació contraria.&lt;br /&gt;
&lt;br /&gt;
===Fragmentació en xarxes Ethernet===&lt;br /&gt;
LA MTU per defecte en una xarxa Ethernet és de 1500 bytes. Així doncs, un paquet IP de més gran de 1500 bytes haurà de ser fragmentat en dos o més paquets.&amp;lt;br /&amp;gt;&lt;br /&gt;
Per a que un paquet pugui ser reconstruït en l'equip destí, aquest ha de tenir aquesta informació:&lt;br /&gt;
* Cada fragment ha d'estar associat a un altre utilitzant un identificador de fragment anomenat '''identificador IP''' o '''ID fragment'''.&lt;br /&gt;
*Informació sobre la seva posició en el paquet no fragmentat&lt;br /&gt;
*Informació sobre la longitud de les dades transportades en el fragment&lt;br /&gt;
*Cada fragment ha de saber si existeixen més fragments a continuació seu o no. Ho indica el flag '''MF'''(''more fragments'')&lt;br /&gt;
Tota aquesta informació anirà en la capçalera IP, col·locada dins el datagrama IP.&amp;lt;br /&amp;gt;&lt;br /&gt;
En la capçalera IP, que normalment serà de 20 bytes, estarà continguda la informació necessària per a poder dirigir el datagrama IP des del seu origen fins al seu destí.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si la MTU d'Ethernet és de 1500 bytes, si descomptem els 20 bytes de la capçalera IP ens queda que una trama Ethernet d'un datagrama IP pot contenir 1480 bytes d'informació.&lt;br /&gt;
[[File:tramaEthernet.png|500px|thumb|center|Datagrama IP dins una trama Ethernet]]&lt;br /&gt;
Darrera la capçalera IP, s'encapsulen les dades. Aquestes poden ser tant d'un protocol IP com TCP, UDP o ICMP. Si per exemple aquestes fóssin TCP, inclourien la capçalera TCP i les dades TCP.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:paquetICMP.png|500px|thumb|center|Trama Ethernet d'un paquet ICMP de 4028 bytes]]&lt;br /&gt;
En la figura anterior veiem una trama ICMP la longitud de la qual és de 4028 bytes. Dins una xarxa Ethernet haurà de fragmentar-se en paquets de 1500 bytes. El primer d'ells contindrà les capçaleres IP del datagrama i de la trama ICMP.&lt;br /&gt;
[[File:Fragment1Total.png|500px|thumb|center|Primer dels datagrames IP, amb les capçaleres IP i ICMP]]&lt;br /&gt;
Així el primer dels datagrames IP contindrà en els primers 20 bytes la capçalera IP, i en els 8 següents que ja serien de dades la capçalera ICMP del paquet ICMP que ha fragmentat. Fixeu-vos que la capçalera IP indica el protocol del paquet que està transmetent, l'identificador de paquet que serà comú en tots els fragments, l'indicador de si segueixen més fragments, l'offset del paquet i la longitud de les dades enviades.&amp;lt;br /&amp;gt;&lt;br /&gt;
Per la seva banda, la capçalera ICMP indica el tipus de petició ICMP, en aquest cas ''request''.&lt;br /&gt;
[[File:Fragment1.png|500px|thumb|center|Detall del primer datagrama IP enviat]]&lt;br /&gt;
El segon dels paquets únicament contindrà en els seus primers 20 bytes la capçalera IP del segon datagrama IP en el que s'ha fragmentat el paquet inicial ICMP. Els següents 1480 bytes, seran dades del segon fragment del paquet ICMP.&lt;br /&gt;
[[File:Fragment2Total.png|500px|thumb|center|Contingut del segon paquet]]&lt;br /&gt;
Veiem que els valors del camp protocol, id de fragment, offset i indicador de més fragments es mantenen. Ha canviat únicament l'offset per indicar que les dades transmeses es troben a partir de la posició 1480 del primer byte del paquet original.&lt;br /&gt;
[[File:Fragment2.png|500px|thumb|center|Dades del segon datagrama IP]]&lt;br /&gt;
L'últim dels fragments contindrà la resta de dades del paquet original, que en aquest cas no arriben al màxim de 1500 bytes.&lt;br /&gt;
[[File:Fragment3Total.png|500px|thumb|center|Dades del tercer paquet]]&lt;br /&gt;
Veiem que en aquest cas l'indicador de més fragments té el valor 0 i que la longitud i l'offset del paquet han variat.&lt;br /&gt;
[[File:Fragment3.png|500px|thumb|center|Contingut del tercer paquet]]&lt;br /&gt;
===Fragments petits===&lt;br /&gt;
====Tipus d'atac====&lt;br /&gt;
Aquest atac és de tipus passiu, ja que no modifica cap informació del sistema: s'aprofita de vulnerabilitats del protocol. És un atac per intentar enganyar els sistemes de comunicació i aconseguir dur,a continuació, un altre atac&lt;br /&gt;
====Objectiu====&lt;br /&gt;
L'objectiu d'aquest atac és aprofitar una característica del protocol TCP per aconseguir saltar els filtres IP que utilitzen molts firewalls antics. Un cop superat aquest filtre, es pot dur a terme una connexió no permesa a algun servei de la màquina víctima.&lt;br /&gt;
====Desenvolupament====&lt;br /&gt;
Segons el RFC (Request For Comment) 791 (IP), tots els nodes d'internet (routers) han de ser capaços de transmetre paquets de 68 bytes sense fragmentar-los.&amp;lt;br /&amp;gt;&lt;br /&gt;
El tamany mínim d'una capçalera IP sense opcions és de 20 bytes, el tamany màxim de la capçalera IP amb totes les opcions és de 60 bytes.&amp;lt;br /&amp;gt;&lt;br /&gt;
El tamany mínim de dades que pot contenir un paquet IP és de 8 bytes.&amp;lt;br /&amp;gt;&lt;br /&gt;
Per tant, si generem un paquet de 68 bytes de dades no serà fragmentat i podrem enviar-lo fins a la màquina destí que haguem triat.&amp;lt;br /&amp;gt;&lt;br /&gt;
La idea de l'atac és aconseguir un paquet suficientment petit per a que hi hagi dades de la capçalera TCP que s'incloguin en un segon fragment del paquet. D'aquesta manera les regles de filtrat dels firewalls no seran complides i el paquet no serà rebutjat.&lt;br /&gt;
Anem a veure un exemple:&lt;br /&gt;
En aquest exemple s'enviarà un primer fragment de 68 bytes, on 60 seran la capçalera IP i 8 bytes seran de dades, i contindran els primers 8 bytes de la capçalera TCP. Aquest 8 bytes són suficients per determinar el port origen i el port destí, pero els flags de connexió estaran en un suposat segon paquet.&amp;lt;br /&amp;gt;&lt;br /&gt;
Els filtres del firewall intentaran eliminar les peticions de connexió (flag SYN=1 i ACK=0), però en aquest primer paquet no podran saber si està realitzant una connexió o no, i per tant el deixaran passar a ell i als possibles fragments posteriors que el segueixen.&lt;br /&gt;
[[File:Tiny1.jpg|500px|thumb|center|Fragment 1]]&lt;br /&gt;
Com podeu veure en el fragment 1 únicament s'especifica el port origen i el port destí. Com que no sabem si demana realitzar una connexió, les regles del firewall no el bloquejaran ni a ell ni als fragments d'ell que vinguin a continuació.&lt;br /&gt;
[[File:Tiny2.jpg|500px|thumb|center|Fragment 2]]&lt;br /&gt;
El fragment 2, és el que conté els camps que especifiquen la connexió al port, però com que el firewall ja ha deixat passar el primer fragment i els hipotètics conseqüents, aquest és permès i es realitza la connexió al port destí especificat al fragment 1.&lt;br /&gt;
[[File:Tiny3.jpg|500px|thumb|center|Fragment reensamblat]]&lt;br /&gt;
Finalment el fragment reensamblat ens mostra el que seria un paquet sense fragmentar que fa la connexió al port destí.&lt;br /&gt;
====Prevenció====&lt;br /&gt;
La principal manera d'impedir aquest atac és especificar a la configuració del router o del firewall un tamany mínim del primer fragment de connexió TCP, de manera que els flags de connexió estiguin inclosos en aquest primer fragment. D'aquesta manera sempre es sabrà en el moment de rebre el primer fragment si s'esta intentant realitzar una connexió al port o no, i en cas necesaari podrem descartar el fragment.&lt;br /&gt;
&lt;br /&gt;
===Fragments sobreposats===&lt;br /&gt;
====Tipus d'atac====&lt;br /&gt;
De la mateixa manera que l'atac de paquets petit, aquest atac és de tipus passiu ja que explota vulnerabilitats de protocols pero no modifica les dades que es transmeten.&lt;br /&gt;
====Objectiu====&lt;br /&gt;
L'objectiu d'aquest atac és aconseguir realitzar una connexió a un servei on en principi no està permesa la connexió. Per tant, l'objectiu és saltar-se la seguretat d'un equip per a poder realitzar un hipotètic segon atac.&lt;br /&gt;
====Desenvolupament====&lt;br /&gt;
Aquest atac té la mateixa base que l'atac de fragments petits, però intenta saltar la protecció de mida mínima de paquets. En aquest cas el primer dels fragments que s'envia conté tots els flags de connexió de la capçalera TCP, la vulnerabilitat es troba en la utilització de l'offset de les capçaleres per a sobreescriure la capçalera del primer fragment.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:super1.jpg|500px|thumb|center|Fragment 1]]&lt;br /&gt;
Com es pot veure en la imatge anterior, s'envia un paquet que conté totes les dades de la capçalera TCP. En aquest cas els filtres no el rebutjarien, ja que la capçalera està completa. Fixem-nos que la capçalera no indica que es vulgui realitzar una connexió a la màquina (flag ACK=0 i flag SYN=0). Per tant, com que no intenta realitzar cap connexió els filtres tampoc el rebutjarien. &lt;br /&gt;
[[File:super2.jpg|500px|thumb|center|Fragment 2]]&lt;br /&gt;
El segon fragment, com es veu en la imatge anterior, conté les dades reals de la connexió que volem realitzar. Ara bé, els filtres veuran que el fragment té offset=1, per la qual cosa interpretaran que la connexió no s'està realitzant en aquest fragment ja que és hi ha un paquet previ que suposa que és qui fa la connexió i per això no el rebutjaran. El camp offset treballa en unitats de 64 bytes, per tant un offset=1 ens indica que el fragment comença a la posició 65 del paquet reensamblat.&lt;br /&gt;
[[File:Super3.jpg|500px|thumb|center|Fragment 3]]&lt;br /&gt;
Com que el segon fragment comença a la posició 65 del segon paquet, sobreescriu la capçalera TCP del primer fragment deixant únicament el port origen, port destí del primer fragment. Hem aconseguit un paquet TCP que realitza una connexió i que s'ha saltat els filtres de seguretat.&lt;br /&gt;
&lt;br /&gt;
====Prevenció====&lt;br /&gt;
La prevenció d'aquest atac és l'ús de firewalls reensamblin els paquets abans d'analitzar les seves regles de connexió. Aquests firewalls són més cars i a l'haver de reensamblar els paquets, fan que la latència de la xarxa augmenti.&lt;br /&gt;
&lt;br /&gt;
===IP Spoofing===&lt;br /&gt;
Veure a la pràctica 3&lt;br /&gt;
&lt;br /&gt;
===IP Flooding===&lt;br /&gt;
Veure a la pràctica 3&lt;br /&gt;
==Atacs en xarxes sense fil==&lt;br /&gt;
Les xarxes sense fil cada vegada han tingut més projecció dins el món de les comunicacions. Centrant-nos en el món dels computadors, les xarxes més àmpliament utilitzades són les xarxes WIFI.&lt;br /&gt;
Com bé sabem, aquestes xarxes comparteixen el medi de transmissió de dades: l’aire. Per tant, realitzant un atac man in the middle pot resultar molt senzill, doncs les dades ens passen per davant constantment. Només cal escoltar-les.&lt;br /&gt;
Evidentment, aquesta situació resultat molt insegura: qualsevol persona pot arribar a capturar les nostres dades que viatgen per la xarxa. Per solucionar aquesta problemàtica apareixen les encriptacions de dades dins la xarxa.&lt;br /&gt;
Aquestes encriptacions es produeixen entre client i punt d’accés, i per tant les dades viatgen pel medi totalment encriptades i en principi qui aconsegueixi escoltar-les no podrà interpretar-les a no ser que disposi de la clau per desxifrar-les.&lt;br /&gt;
Existeixen tres encriptacions bàsiques: WEP, WAP i WAP2.&lt;br /&gt;
&lt;br /&gt;
===WEP (Privacitat equivalent al cablejat)===&lt;br /&gt;
WEP va ser desenvolupat per a xarxes sense fil i aprovat com a estàndard de seguretat WIFI el 1999. Tenia com a objectiu oferir el mateix nivell de seguretat que les xarxes cablejades. Tot i això existeixen molts problemes de seguretat que la fan fàcil de trencar i difícil de configurar.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tot i les tasques per a intentar millorar el sistema WEP, segueix sent una solució altament vulnerable. Els sistemes que utilitzin aquest protocol haurien de ser actualitzats o canviats.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
WEP va ser oficialment abandonat per l'aliança WIFI el 2004.&lt;br /&gt;
===WPA (Accés protegit WIFI)===&lt;br /&gt;
WAP va ser utilitzat com a millora del WEP mentre es desenvolupava l'estàndard de seguretat sense fil 802.11i. Un any abans que WEP fos oficialment abandonat, WPA ja estava altament adoptat.&amp;lt;br /&amp;gt;&lt;br /&gt;
La majoria de les aplicacions WPA modernes utilitzen una clau prèviament compartida (PSK), coneguda normalment com a WPA Personal, i el protocol d'Integritat de Clau Temporal o TKIP per a l'encriptació. WPA Enterprise utilitza un servidor d'autenticació per a la generació de claus i certificats.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tot i que WPA també s'ha demostrat que és un sistema bastant vulnerable a la intrusió, aquestes no es realitzen tant pel propi sistema WPA sino pel sistema de configuració de WIFI segura (WPS), un sistema auxilitar desenvolupat per a simplificar la vinculació de dispositius a punts d'accés.&lt;br /&gt;
==WPA2==&lt;br /&gt;
La millora més important introduïda dins el sistema WPA2 de seguretat és l'encriptació mitjançant l'Estàndard de Xifrat Avançat (AES). Aquest sistema d'encriptació està aprovat pel govern dels EUA per xifrar la informació classificada d'alt secret. Per tant, podem suposar que és suficientment bo com pre protegir una xarxa domèstica.&lt;br /&gt;
Lamentablement, la possibilitat d'atacs  través de la configuració de WIFI segura (WPS), segueix sent alta en els actuals punts d'accés WPA2. Encara que forçar l'accés a una xarxa segura WPA/WPA2 pot comportar vàries hores de computació, segueix sent un problema de seguretat real.&amp;lt;br /&amp;gt;&lt;br /&gt;
Es recomana deshabilitar WPS, i seria bo ajustar el firmware del punt d'accés per a no oferir WPS, per excloure definitivament aquest tipus d'atacs.&lt;br /&gt;
==Millor mètode de seguretat WIFI==&lt;br /&gt;
Aquesta és la classificació bàsica de millor a pitjor del mètodes moderns de seguretat WIFI disponibles en els routers actuals (posteriors a 2006):&lt;br /&gt;
# WPA2 + AES &lt;br /&gt;
# WPA + AES &lt;br /&gt;
# WPA + TKIP/AES&lt;br /&gt;
# WPA + TKIP &lt;br /&gt;
# WEP &lt;br /&gt;
# Xarxa oberta&lt;br /&gt;
El millor és desactivar la configuració de wifi segura (WPS) i configurar el router amb WPA2+AES.&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:PilaOSI.jpg&amp;diff=152</id>
		<title>File:PilaOSI.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:PilaOSI.jpg&amp;diff=152"/>
		<updated>2022-05-09T16:16:26Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Alohanet.jpg&amp;diff=151</id>
		<title>File:Alohanet.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Alohanet.jpg&amp;diff=151"/>
		<updated>2022-05-09T16:16:20Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Arpanet.jpg&amp;diff=150</id>
		<title>File:Arpanet.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Arpanet.jpg&amp;diff=150"/>
		<updated>2022-05-09T16:16:14Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Tokenethernet.jpg&amp;diff=149</id>
		<title>File:Tokenethernet.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Tokenethernet.jpg&amp;diff=149"/>
		<updated>2022-05-09T16:16:08Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Sniffers.png&amp;diff=148</id>
		<title>File:Sniffers.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Sniffers.png&amp;diff=148"/>
		<updated>2022-05-09T16:15:42Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Snnifer.gif&amp;diff=147</id>
		<title>File:Snnifer.gif</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Snnifer.gif&amp;diff=147"/>
		<updated>2022-05-09T16:15:34Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Spoofing.jpg&amp;diff=146</id>
		<title>File:Spoofing.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Spoofing.jpg&amp;diff=146"/>
		<updated>2022-05-09T16:15:19Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Hijacking.png&amp;diff=145</id>
		<title>File:Hijacking.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Hijacking.png&amp;diff=145"/>
		<updated>2022-05-09T16:15:14Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Wireshark.png&amp;diff=144</id>
		<title>File:Wireshark.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Wireshark.png&amp;diff=144"/>
		<updated>2022-05-09T16:15:05Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:VLANHopping.png&amp;diff=143</id>
		<title>File:VLANHopping.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:VLANHopping.png&amp;diff=143"/>
		<updated>2022-05-09T16:14:38Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:TramaEthernet.png&amp;diff=142</id>
		<title>File:TramaEthernet.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:TramaEthernet.png&amp;diff=142"/>
		<updated>2022-05-09T16:14:31Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:PaquetICMP.png&amp;diff=141</id>
		<title>File:PaquetICMP.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:PaquetICMP.png&amp;diff=141"/>
		<updated>2022-05-09T16:14:24Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Fragment1Total.png&amp;diff=140</id>
		<title>File:Fragment1Total.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Fragment1Total.png&amp;diff=140"/>
		<updated>2022-05-09T16:14:17Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Fragment1.png&amp;diff=139</id>
		<title>File:Fragment1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Fragment1.png&amp;diff=139"/>
		<updated>2022-05-09T16:14:11Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Fragment2Total.png&amp;diff=138</id>
		<title>File:Fragment2Total.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Fragment2Total.png&amp;diff=138"/>
		<updated>2022-05-09T16:13:58Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Fragment2.png&amp;diff=137</id>
		<title>File:Fragment2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Fragment2.png&amp;diff=137"/>
		<updated>2022-05-09T16:13:51Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Fragment3Total.png&amp;diff=136</id>
		<title>File:Fragment3Total.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Fragment3Total.png&amp;diff=136"/>
		<updated>2022-05-09T16:13:45Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Fragment3.png&amp;diff=135</id>
		<title>File:Fragment3.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Fragment3.png&amp;diff=135"/>
		<updated>2022-05-09T16:13:35Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Tiny1.jpg&amp;diff=134</id>
		<title>File:Tiny1.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Tiny1.jpg&amp;diff=134"/>
		<updated>2022-05-09T16:13:27Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Tiny2.jpg&amp;diff=133</id>
		<title>File:Tiny2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Tiny2.jpg&amp;diff=133"/>
		<updated>2022-05-09T16:13:21Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.tocateules.com/index.php?title=File:Tiny3.jpg&amp;diff=132</id>
		<title>File:Tiny3.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.tocateules.com/index.php?title=File:Tiny3.jpg&amp;diff=132"/>
		<updated>2022-05-09T16:13:14Z</updated>

		<summary type="html">&lt;p&gt;Jaume: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jaume</name></author>
		
	</entry>
</feed>