{"id":36,"date":"2023-04-28T17:09:49","date_gmt":"2023-04-28T15:09:49","guid":{"rendered":"https:\/\/user0.gesem.es\/blog\/?page_id=36"},"modified":"2023-04-28T22:08:20","modified_gmt":"2023-04-28T20:08:20","slug":"introduccio-al-css","status":"publish","type":"page","link":"https:\/\/user0.gesem.es\/blog\/introduccio-al-css\/","title":{"rendered":"Introducci\u00f3 al CSS"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A la nostra fict\u00edcia universitat, les investigadores s&#8217;han revelat. No estan d&#8217;acord amb l&#8217;est\u00e8tica dels seus treballs. Volen tenir llibertat per modificar l&#8217;aparen\u00e7a de la visualitzaci\u00f3 dels escrits al navegador. \u00abDe deb\u00f2 el fons ha de ser blanc?\u00bb, \u00abNo podem canviar la tipografia?\u00bb, \u00abAix\u00f2 no quedaria m\u00e9s bonic a dues columnes?\u00bb,&#8230; Tot s\u00f3n queixes. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El consorci del 3WC es reuneix i decideix fer una concessi\u00f3. Les cient\u00edfiques podran estilar els seus treballs, per\u00f2:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Caldr\u00e0 crear un llenguatge separat de l&#8217; &#8216;HTML<\/li>\n\n\n\n<li>Aquest llenguatge haur\u00e0 de ser tamb\u00e9 limitat i simple.<\/li>\n\n\n\n<li>S&#8217;haur\u00e0 de poder crear amb qualsevol editor de text, no caldr\u00e0 tenir un equip ni un programari sofisticat per generar els estils.<\/li>\n\n\n\n<li>Al navegador, haurem de poder prescindir dels estils si volem. Les p\u00e0gines web han de seguir mostrant tota la informaci\u00f3, sense dependre dels estils.<\/li>\n\n\n\n<li>Si els estils estan mal escrits, el navegador no haur\u00e0 de fallar.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dit aix\u00f2, l&#8217;equip de programadors i programadores es posen a treballar en un nou llenguatge que, finalment, anomenen CSS: Cascade Style Sheets (Fulles d&#8217;estil en cascada). El llenguatge s&#8217;anomena aix\u00ed perqu\u00e8 els estils s&#8217;aplicaran com aigua que cau d&#8217;una cascada:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si demanem al navegador que estili un element d&#8217;una manera i m\u00e9s endavant li diem que ho faci diferent, el navegador far\u00e0 cas a l&#8217;\u00faltima ordre.<\/li>\n\n\n\n<li>Per\u00f2 si la segona ordre no \u00e9s igual o m\u00e9s espec\u00edfica, aleshores far\u00e0 cas a la primera.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">El que faran amb el CSS \u00e9s indicar al navegador quin element volen modificar i com el volen modificar. Hauran d&#8217;aprendre unes poques normes del CSS:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Com indicar un element<\/li>\n\n\n\n<li>Com indicar qu\u00e8 volen canviar, coneixent les propietats modificables<\/li>\n\n\n\n<li>Com indicar quins valors podran donar a les propietats dels diferents elements.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ben mirat, el CSS no \u00e9s una cosa tan estranya. A classe hem fet servir el s\u00edmil de les instruccions per pintar les cases d&#8217;un carrer. Imaginem per un moment que som les pintores encarregades de pintar i l&#8217;Ajuntament ens envia una llista d&#8217;ordres:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Totes les portes del carrer seran de color blau fosc<\/li>\n\n\n\n<li>Els edificis antics tindran la fa\u00e7ana de color rosa<\/li>\n\n\n\n<li>Els edificis m\u00e9s nous tindran la fa\u00e7ana de color blau clar<\/li>\n\n\n\n<li>Els edificis antis tindran les portes de color blau clar<\/li>\n\n\n\n<li>La casa anomenada \u00abCal General\u00bb, ser\u00e0 de color groc<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Hi ha algunes ordres gen\u00e8riques (com pintar les portes de color blau fosc) i ordres m\u00e9s espec\u00edfiques (com pintar les portes de les cases antigues de color blau clar). Com a pintores, entendrem que hem de fer cas a les ordres m\u00e9s espec\u00edfiques (no valdr\u00e0 dir \u00abah, no! vau dir que les portes eren sempre de color blau fosc\u00bb). Si l&#8217;endem\u00e0 canvien d&#8217;opini\u00f3 sobre el color de les portes en general (ara les volen grogues.. quin malson), tamb\u00e9 entendrem que prevaldr\u00e0 l&#8217;ordre m\u00e9s recent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tamb\u00e9 entendrem que podem classificar les cases segons la seva edat, tindrem diferents classes de casa (cases antigues, cases noves). I que a algunes cases s&#8217;hi podran referir per un nom \u00fanic (una identificaci\u00f3).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al llenguatge CSS:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L&#8217;equivalent de les portes i finestres serien les etiquetes de l&#8217;html (p, h1, h2, img)<\/li>\n\n\n\n<li>L&#8217;equivalent de les classes seria l&#8217;atribut \u00abclass\u00bb d&#8217;una etiqueta i es representarien amb el s\u00edmbol punt (.)<\/li>\n\n\n\n<li>L&#8217;equivalent de les identificacions \u00faniques seria l&#8217;atribut \u00abid\u00bb d&#8217;una etiqueta i es representa amb el s\u00edmbol coixinet (#)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La sintaxis del CSS es pot resumir aix\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>element o elements que volem modificar { (claud\u00e0tor que obre) \npropietat: valor; \npropietat: valor;\n} (claud\u00e0tor que tanca)\n\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Entre el claud\u00e0tor que obre i el que tanca, podem assignar valors a diferents propietats. Cada conjunt de valor i propietat el separarem amb <strong>punt i coma <\/strong>(;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La propietat sempre estar\u00e0 separada del valor per <strong>dos punts<\/strong> (:)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El conjunt d&#8217;element\/s a modificar i propietats modificades entre claud\u00e0tors \u00e9s una <strong>regla de CSS<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podem identificar un element per la seva <strong>etiqueta<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>p{\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Podem indicar una <strong>llista<\/strong> d&#8217;elements:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>h1, h2, h3, h4{\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Les <strong>comes<\/strong> indiquen que parlem d&#8217;una llista d&#8217;elements<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podem indicar un element pel nom del seu atribut \u00ab<strong>class<\/strong>\u00ab<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.title{\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En CSS, el punt fa refer\u00e8ncia a l&#8217;atribut class. En l&#8217;HTML un element de la classe \u00abtitle\u00bb t\u00e9 l&#8217;atribut class amb el valor \u00abtitle\u00bb:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h2 class=\"title\"&gt;...&lt;\/h2&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h2 class=\"title title-gran\"&gt;...&lt;\/h2&gt; <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Fixeu-vos que un element pot tenir m\u00e9s d&#8217;una classe, nom\u00e9s cal separar-les amb un espai en blanc en l&#8217;html<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podem indicar un element pel nom de l&#8217;atribut \u00ab<strong>id<\/strong>\u00ab<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#titol-principal{<br>}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A l&#8217;html, un element identificat com a t\u00edtol principal t\u00e9 l&#8217;atribut \u00abid\u00bb amb el valor \u00abtitol-principal\u00bb<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h1 id=\"titol-principal\"&gt;...&lt;\/h1&gt; <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Un element nom\u00e9s pot tenir una id; aquesta id no la pot tenir cap m\u00e9s element a la mateixa p\u00e0gina. NO \u00e9s recomenable fer servir la ID al CSS, per\u00f2 no est\u00e0 prohibit.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Selectors contextuals<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si volem modificar tots els enlla\u00e7os, farem servir l&#8217;etiqueta a (a{ } ). Per\u00f2.. i si volem modificar nom\u00e9s els enlla\u00e7os de les llistes? Aleshores ho escriurem aix\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>li a{ }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">El que fem \u00e9s posar l&#8217;etiqueta (a) en un context (li). <strong>L&#8217;espai en blanc<\/strong> entre etiquetes significa enniuament.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si volem modificar tots els element amb l&#8217;atribut class amb el valor \u00abtitle\u00bb ho farem aix\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.title{ }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Per\u00f2 si volem modificar nom\u00e9s els h2 amb l&#8217;atribut class amb el valor title, ho farem aix\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>h2.title{ }<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En aquest cas, <strong>no hi ha espai entre els dos elements<\/strong>, per tant estem parlant del mateix element: els h2 amb l&#8217;atribut class igual a title.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A l&#8217;html trobarem aix\u00f2:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h2 class=\"title\"&gt;...&lt;\/h2&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si combinem totes aquestes normes, podrem fer refer\u00e8ncia a qualsevol element de la p\u00e0gina.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Propietat background-color i color com a valor<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Qualsevol element d&#8217;una p\u00e0gina web pot tenir un color de fons.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La propietat del color de fons \u00e9s background-color (fixa&#8217;t que \u00abcolor\u00bb s&#8217;escriu en angl\u00e8s americ\u00e0)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El color de fons el podem escriure amb diferents f\u00f2rmules<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Podem fer servir el nom del color: <em>white, black, red,&#8230;<\/em><\/li>\n\n\n\n<li>Podem fer servir un n\u00famero hexadecimal: #RRGGBB (#A1A1A1, #333333,&#8230;)<\/li>\n\n\n\n<li>Podem indicar el color en rgb: rgb(R,pG,B) . R, G, B tindran un valor entre 0 i 255.<\/li>\n\n\n\n<li>Podem indicar el color en rgba: rgba(R,G,B,A). A fa refer\u00e8ncia a alpha, l&#8217;opacitat. Alpha \u00e9s un valor entre 0 (gens opac) i 1 (m\u00e0xima opacitat). 0.5 representa un 50% d&#8217;opacitat<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">R fa refer\u00e8ncia a Red (vermell), G fa refer\u00e8ncia a green (verd) i B fa refer\u00e8ncia a blue (vermell). El valor 0 indica cap quantitat de llum. Per tant rgb(0,0,0) o #000000 representen el color negre. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En un n\u00famero hexadecimal, el valor m\u00e9s alt que podem fer servir \u00e9s la lletra F . Per cada color podrem fer servir un valor entre 00 &#8211; gens- i FF &#8211; m\u00e0xim. El color #FFFFFF representa el blanc.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">On trobem el CSS?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El CSS pot estar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A l&#8217;HTML del <em>body<\/em>, a l&#8217;atribut style de qualsevol etiqueta (exemple: &lt;p style=\u00bbbackground-color:red\u00bb&gt;)<\/li>\n\n\n\n<li>Al <em>head<\/em> de l&#8217;html, dins les etiquetes \u00abstyle\u00bb (&lt;head&gt;..&lt;style&gt;&lt;\/style&gt; &#8230;&lt;\/head&gt;)<\/li>\n\n\n\n<li>En un document extern i vinculat al <em>head<\/em> de l&#8217;html (&lt;link href=\u00bbURL\u00bb rel=\u00bbstylesheet\u00bb).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sempre que puguem, evitarem els estils en l\u00ednia<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I sempre que pugem posarem els estils en un document extern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A l&#8217;exercici d&#8217;avui, per\u00f2, hem fet servir l&#8217;etiqueta <em>style<\/em> del <em>head<\/em> per a indicar els estils. El que hem fet \u00e9s estilar diferents elements de la p\u00e0gina, modificant el color de fons:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Del body<\/li>\n\n\n\n<li>Dels par\u00e0grafs,c<\/li>\n\n\n\n<li>D&#8217;h1, h2, h3, h4<\/li>\n\n\n\n<li>D&#8217;enlla\u00e7os<\/li>\n\n\n\n<li>D&#8217;enlla\u00e7os a la llista<\/li>\n\n\n\n<li>Dels h2 del footer<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Per cert! A trav\u00e9s de diferents errors, hem comprovat com n&#8217;\u00e9s d&#8217;important que les etiquetes <em>html<\/em> estiguin correctament tancades&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>A la nostra fict\u00edcia universitat, les investigadores s&#8217;han revelat. No estan d&#8217;acord amb l&#8217;est\u00e8tica dels seus treballs. Volen tenir llibertat per modificar l&#8217;aparen\u00e7a de la visualitzaci\u00f3 dels escrits al navegador. \u00abDe deb\u00f2 el fons ha de ser blanc?\u00bb, \u00abNo podem canviar la tipografia?\u00bb, \u00abAix\u00f2 no quedaria m\u00e9s bonic a dues columnes?\u00bb,&#8230; Tot s\u00f3n queixes. El&hellip; <a class=\"more-link\" href=\"https:\/\/user0.gesem.es\/blog\/introduccio-al-css\/\">Continueu llegint <span class=\"screen-reader-text\">Introducci\u00f3 al CSS<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-36","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/user0.gesem.es\/blog\/wp-json\/wp\/v2\/pages\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/user0.gesem.es\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/user0.gesem.es\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/user0.gesem.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/user0.gesem.es\/blog\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":8,"href":"https:\/\/user0.gesem.es\/blog\/wp-json\/wp\/v2\/pages\/36\/revisions"}],"predecessor-version":[{"id":45,"href":"https:\/\/user0.gesem.es\/blog\/wp-json\/wp\/v2\/pages\/36\/revisions\/45"}],"wp:attachment":[{"href":"https:\/\/user0.gesem.es\/blog\/wp-json\/wp\/v2\/media?parent=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}