{"id":286,"date":"2020-03-06T23:49:00","date_gmt":"2020-03-06T23:49:00","guid":{"rendered":"https:\/\/ramk.ee\/opikud\/veebidisain\/?post_type=chapter&#038;p=286"},"modified":"2020-03-11T13:04:30","modified_gmt":"2020-03-11T13:04:30","slug":"keerulisemad-selektorid","status":"publish","type":"chapter","link":"https:\/\/ramk.ee\/opikud\/veebidisain\/chapter\/keerulisemad-selektorid\/","title":{"rendered":"Keerulisemad selektorid"},"content":{"raw":"Lisaks eelmises peat\u00fckis v\u00e4lja toodud \u00fcldkasutatavatele elementide selekteerimisviisidele eksisteerib veel hulganisti keerulisemaid selekteerimisviise. J\u00e4rgnevalt on nendest m\u00f5ningad v\u00e4lja toodud.\r\n<h1>Kujundus vastavalt elementide sisaldumisele \u00fcksteise sees<\/h1>\r\nStiile saab adresseerida konkreetsele elemendile vastavalt tema nimele ja paiknemisele teiste elementide sees (hierarhia). Tuleb lihtsalt elemendid \u00fcksteise sisaldamise j\u00e4rjekorras t\u00fchikutega eraldatult \u00fcles lugeda.\r\n\r\nN\u00e4iteks kui HTML dokumendis on elemendid \u00fcksteise sees j\u00e4rgmiselt:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\">&lt;div id=\u201dkast\u201d&gt;\r\n  &lt;div id=\u201dvasak\u201d&gt;\r\n    &lt;img id=\u201dpilt1_1\u201d ... \/&gt;\r\n    &lt;img id=\u201dpilt1_2\u201d ... \/&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div id=\u201dparem\u201d&gt;\r\n    &lt;img id=\u201dpilt2_1\u201d ... \/&gt;\r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\r\nSiis saab stiile kirjutada n\u00e4iteks nii:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">#kast #vasak img { \r\n  css stiil\r\n}<\/pre>\r\nmille puhul rakendatakse stiili k\u00f5ikidele piltidele, mis sisalduvad elemendi \u201ekast\u201c sees olevas elemendis \u201evasak\u201c. See annab mugava ja paindliku v\u00f5imaluse veebilehe erinevate osade elementidele erinevaid ja\/v\u00f5i sarnaseid kujundusi luua.\r\n<h1>Kujundus vastavalt elementi sisaldavale elemendile (parent)<\/h1>\r\nVahel on tarvis kirjutada kujundus elementidele, mis sisalduvad mingit kindlat t\u00fc\u00fcpi elemendis. Sellisel juhul pannakse selektor kirja j\u00e4rgmisel kujul: <em>suurelement&gt;v\u00e4ikeelement<\/em>\r\n\r\n<code><\/code>N\u00e4iteks v\u00f5ib luua kujunduse k\u00f5igile piltidele, mis on paigutatud tabeli lahtritesse (HTML elemendid <code>&lt;td&gt;<\/code>):\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">td&gt;img {\r\n  margin: 5px;\r\n}<\/pre>\r\n<h1>Kujundus vastavalt elementide otsesele j\u00e4rgnevusele<\/h1>\r\nKui on tarvis m\u00e4\u00e4rata kujundust elementidele, mis j\u00e4rgnevad mingisugusele kindlale elemendile, siis pannakse selektor kirja j\u00e4rgmiselt:\r\n<em>esimeneelement+j\u00e4rgnevelement<\/em>\r\nN\u00e4iteks loome kujunduse tekstil\u00f5ikudele (HTML element <code>&lt;p&gt;<\/code>), mis j\u00e4rgnevad suurtele pealkirjadele (HTML element <code>&lt;h1&gt;<\/code>):\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h1+p {\r\n  font-size: 20px;\r\n}<\/pre>\r\n<span class=\"nb\">NB! Saab kirja panna ka pikema j\u00e4rgnevuse jada, n\u00e4iteks l\u00f5igule, mis j\u00e4rgneb <code>&lt;h2&gt;<\/code> pealkirjale, mis omakorda j\u00e4rgneb otse peakirjale <code>&lt;h1&gt;<\/code> ning vajadusel veelgi pikemalt!<\/span>\r\nN\u00e4iteks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h1+h2+p {\r\n  font-size: 20px;\r\n}<\/pre>\r\nSarnaselt saab viidata k\u00f5ikidele kindlat t\u00fc\u00fcpi elementidele, millele eelneb konkreetne element. Selektor kirjutatakse siis kujul: <em>esimeneelement~j\u00e4rgnevelement<\/em>\r\n\r\n<code><\/code>N\u00e4iteks loome kujunduse k\u00f5igile l\u00f5ikudele, millele on eelnenud kolmanda taseme pealkiri (HTML element <code>&lt;h3&gt;<\/code>):\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h3~p {\r\n  color: gray;\r\n}<\/pre>\r\n<h1>Atribuudi selektorid<\/h1>\r\nCSS3 v\u00f5imaldab kasutada selektoreid vastavalt HTML elementide atribuutidele, nende v\u00e4\u00e4rtustele jne. Sellisel juhul kirjutatakse selektor tervenisti kandilistesse sulgudesse: <em>[atribuut_ja_selle_v\u00e4\u00e4rtus_vms]<\/em>\r\n<ul>\r\n \t<li><code><\/code>Kujundust v\u00f5ib luua vastavalt m\u00f5ne atribuudi olemasolule.<\/li>\r\n<\/ul>\r\nN\u00e4iteks loome kujunduse k\u00f5igile elementidele, millel on olemas atribuut \u201e<em>lang<\/em>\u201c:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">[lang] {\r\n  font-famly: verdana;\r\n}<\/pre>\r\n<ul>\r\n \t<li>Kujunduse saab luua vastavalt mingi atribuudi v\u00e4\u00e4rtusele.<\/li>\r\n<\/ul>\r\nN\u00e4iteks loome kujunduse k\u00f5igile neile elementidele, mille atribuudi \u201e<em>title<\/em>\u201c v\u00e4\u00e4rtus on \u201eselgitus\u201c:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">[title=selgitus] {\r\n  font-style: italic;\r\n}<\/pre>\r\nAtribuudi v\u00e4\u00e4rtuse kasutamisel v\u00f5ib viidata ka mingile osale v\u00e4\u00e4rtusest (string)!\r\n<ul>\r\n \t<li style=\"list-style-type: none;\">\r\n<ul>\r\n \t<li><em><code>[atribuut^=string]<\/code><\/em> \u2013 viitab elemendile, mille atribuudi v\u00e4\u00e4rtus algab vastava stringiga;<\/li>\r\n \t<li><em><code>[atribuut$=string]<\/code><\/em> \u2013 viitab elemendile, mille atribuudi v\u00e4\u00e4rtus l\u00f5ppeb vastava stringiga;<\/li>\r\n \t<li><em><code>[atribuut*=string]<\/code><\/em> \u2013 viitab elemendile, mille atribuudi v\u00e4\u00e4rtus sisaldab vastavat stringi.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<span class=\"nb\">NB! String tuleb selektoris paigutada jutum\u00e4rkide vahele!<\/span>\r\n\r\nN\u00e4iteks loome stiili k\u00f5igile elementidele, mille atribuudi \u201esrc\u201c v\u00e4\u00e4rtus sisaldab stringi \u201eramkool.edu.ee\u201c:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">[src*=\"ramkool.edu.ee\"] {\r\n  font-family: courier;\r\n}\r\n<\/pre>\r\n<ul>\r\n \t<li>Eraldi on olemas keeleatribuudiga seotud pseudoklass <em>:lang<\/em>.<\/li>\r\n<\/ul>\r\nN\u00e4iteks loome kujunduse k\u00f5igile elementidele <code>&lt;h2&gt;<\/code>, millel kasutatakse inglise keelt:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\">h2:lang(en) {\r\n  font-style: italic;\r\n}<\/pre>\r\n<h1>Pseudoklassid ja pseudoelemendid<\/h1>\r\nPseudoklasse ja pseudoelemente kasutatakse veebilehe elementidele veelgi paindlikumalt stiilide m\u00e4\u00e4ramiseks.\r\n<h3>Pseudoklassid<\/h3>\r\nPseudoklasse kasutatakse veebilehe elementide erinevate olekute (<em>state<\/em>) defineerimiseks. Nende puhul lisatakse tavap\u00e4rasele selektorile kooloni j\u00e4rele veel nn pseudonimi j\u00e4rgmisel moel: <code>selektor:pseudonimi{kujundus}<\/code>\r\n\r\n<code><\/code>K\u00f5ige tuntumad pseudoelemendid on ilmselt linkidega seotud:\r\n<ul>\r\n \t<li><em>a:link <\/em>\u2013 k\u00fclastamata link;<\/li>\r\n \t<li><em>a:visited<\/em> \u2013 k\u00fclastatud link;<\/li>\r\n \t<li><em>a:hover<\/em> \u2013 hiirekursor on liikunud lingi peale;<\/li>\r\n \t<li><em>a:active<\/em> \u2013 hiire vasak nupp on lingil alla vajutatud (kl\u00f5psamine).<\/li>\r\n<\/ul>\r\nN\u00e4iteks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">a:hover {\r\n  font-weight: bold;\r\n}<\/pre>\r\n<span class=\"nb\">NB! Nendest mainitutest saab pseudonime <em>:hover <\/em>kasutada ka teistel elementidel ning sedasi luua eriefekte hiirega elementidele liikumisel.<\/span>\r\n\r\nOlemas on ka pseudoklass, mis viitab mingi lingi sihtelemendile (<em>target<\/em>), mis on ka hetkel aktiivne. Selleks on pseudoklass <em>:target<\/em>. N\u00e4iteks kujundame elemendi nimega \u201eportree\u201c, mis oli klikitud URL-i v\u00e4\u00e4rtuseks ja mis on aktiivne:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">#portree:target {\r\n  background-color: yellow;\r\n}<\/pre>\r\n\u00dcks huvitav pseudoklass t\u00e4histab k\u00f5iki nimetatud elemendist erinevaid elemente \u2013 selleks on <em>:not<\/em> pseudoklass. .\r\n\r\n<span class=\"nb\">NB! N\u00e4iteks kasutades selektorit <em>:not(p)<\/em> selekteeritakse k\u00f5ik elemendid peale <code>&lt;p&gt;<\/code> elemendi, kaasaarvatud <code>&lt;html&gt;<\/code> ja <code>&lt;body&gt;<\/code>.<\/span>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">:not(p) {\r\n  text-decoration: underline;\r\n}<\/pre>\r\nKogu veebilehe juurelemendi (<em>root<\/em>) jaoks on pseudoklass <em>:root<\/em>. HTML dokumendi puhul on <em>root<\/em> elemendiks <code>&lt;html&gt;<\/code> element:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">:root {\r\n  background-color: blue;\r\n}<\/pre>\r\nT\u00fchja elemendi jaoks on pseudoklass <em><code>:empty<\/code>.<\/em> N\u00e4iteks loome kujunduse t\u00fchjadele tabeli lahtritele:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">td:empty {\r\n  background-color: pink;\r\n}<\/pre>\r\n[caption id=\"attachment_291\" align=\"aligncenter\" width=\"450\"]<img class=\"wp-image-291\" src=\"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/tabel.png\" alt=\"Tabel t\u00fchjade lahtritega\" width=\"450\" height=\"230\" \/> Tulemus: tabeli t\u00fchjad lahtrid on roosa taustaga[\/caption]\r\n<h2>Kasutaja sisendiga seotud pseudoklassid<\/h2>\r\nOsa pseudoklasse on sellised, mida saab kasutada vaid nende elementide puhul, mis v\u00f5imaldavad kasutajal midagi sisestada, n\u00e4iteks klaviatuurilt.\r\n<ul>\r\n \t<li>Kujundust saab luua elemendile, millel on fookus, selleks kasutatakse pseudonime <em>:focus<\/em>. N\u00e4iteks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">input:focus {\r\n  background-color: #FFDDDD;\r\n}<\/pre>\r\n<\/li>\r\n \t<li>V\u00f5ib l\u00e4htuda sellest, kas <code>&lt;input&gt;<\/code> element on aktiveeritud (<em>enabled<\/em>), selleks on pseudonimi <em>:enabled<\/em>. N\u00e4iteks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">input:enabled {\r\n  font-weight: bold;\r\n}<\/pre>\r\n&nbsp;<\/li>\r\n \t<li><span style=\"font-size: 1em;\">Vastupidiselt v\u00f5ib kasutada pseudonime <em>:disabled<\/em>, mis t\u00e4histab neid <code>&lt;input&gt;<\/code><\/span> elemente, mis on deaktiveeritud. N\u00e4iteks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">input:disabled {\r\n  color: gray;\r\n}<\/pre>\r\n&nbsp;<\/li>\r\n \t<li>V\u00f5ib kujundada neid &lt;input&gt; elemente, mis on m\u00e4rkeruutudena m\u00e4rgitud, selleks on pseudonimi <em>:checked<\/em>. N\u00e4iteks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">input:checked {\r\n  background-color: #DDDDDD;\r\n}<\/pre>\r\n<\/li>\r\n<\/ul>\r\n<h2><span style=\"text-align: initial; font-size: 1em;\">Elementide j\u00e4rjestusega seotud pseudoklassid<\/span><\/h2>\r\nPseudoklasside abil saab kujundada ka elemente vastavalt nende asukohale neid sisaldavas elemendis (<em>parent<\/em>).\r\n<ul>\r\n \t<li>Kindlat t\u00fc\u00fcpi elementi, mis on esimene t\u00fctarelement (<em>child<\/em>) teda sisaldavas elemendis saab kujundada pseudoklassi <em>:first-child<\/em> abil.\r\nN\u00e4iteks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h2:first-child {\r\n  background-color: white;\r\n}<\/pre>\r\n&nbsp;<\/li>\r\n \t<li><span style=\"font-size: 1em;\">Kindlat t\u00fc\u00fcpi elementi, mis on viimane t\u00fctarelement (<em>child<\/em>) teda sisaldavas elemendis <\/span><span style=\"font-size: 1em;\">saab kujundada pseudoklassi <em>:last-child<\/em> abil.<\/span>N\u00e4iteks muudame l\u00f5igu, mis on viimane t\u00fctarelement, laiust:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:last-child {\r\n  width: 50%;\r\n}<\/pre>\r\n&nbsp;<\/li>\r\n \t<li><span style=\"font-size: 1em;\">Esimese kindlat t\u00fc\u00fcpi elemendi jaoks teda sisaldavas elemendis (<em>parent<\/em>) on <\/span><span style=\"font-size: 1em;\">pseudoklass <em>:first-of-type<\/em>.<\/span>N\u00e4iteks m\u00e4\u00e4rame mingis elemendis sisalduvale esimesele l\u00f5igule taandrea:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:first-of-type {\r\n text-indent: 20px;\r\n}<\/pre>\r\n&nbsp;<\/li>\r\n \t<li><span style=\"font-size: 1em;\">Viimase kindlat t\u00fc\u00fcpi elemendi jaoks teda sisaldavas elemendis (<em>parent<\/em>) on <\/span><span style=\"font-size: 1em;\">pseudoklass <em>:last-of-type<\/em>.<\/span>N\u00e4iteks muudame mingis elemendis sisalduva viimase sektsiooni raamjoone alumised nurgad \u00fcmaraks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">section:last-of-type {\r\n  border-bottom-left-radius: 20px;\r\n  border-bottom-right-radius: 20px;\r\n}<\/pre>\r\n&nbsp;<\/li>\r\n \t<li><span style=\"font-size: 1em;\">Lugedes algusest saab kindlal positsioonil asuvale t\u00fctarelemendile (<em>child<\/em>) viidata <\/span><span style=\"font-size: 1em;\">pseudoklassiga <em>:nth-child<\/em>.<\/span>N\u00e4iteks loome kujunduse l\u00f5igule, mis on kolmas t\u00fctarelement:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:nth-child(3) {\r\n  font-family: arial;\r\n}<\/pre>\r\n&nbsp;<\/li>\r\n \t<li><span style=\"font-size: 1em;\">Elementidele saab viidata ka tagantpoolt lugema hakates, siis kasutatakse pseudoklassi <\/span><span style=\"font-size: 1em;\"><em>:nth-last-child(n)<\/em>.<\/span>N\u00e4iteks loome kujunduse l\u00f5igule, mis on tagantpoolt kolmas t\u00fctarelement:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:nth-last-child(3) {\r\n  font-family: arial;\r\n}<\/pre>\r\n&nbsp;<\/li>\r\n \t<li><span style=\"font-size: 1em;\">Sarnaselt saab viidata kindlat t\u00fc\u00fcpi elementidele nii eestpoolt kui ka tagantpoolt <\/span><span style=\"font-size: 1em;\">lugedes, selleks on pseudoklassid <em>:nth-of-type(n)<\/em> ja <em>:nth-last-of-type(n)<\/em>.<\/span>N\u00e4iteks loome kujunduse tagantpoolt teisele sektsioonile:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">section:nth-last-of-type {\r\n  border-width: 10px;\r\n}<\/pre>\r\n<\/li>\r\n \t<li>J\u00e4rjekorranumbritena saab kasutada ka viidet paaris v\u00f5i paaritutele arvudele vastavalt even v\u00f5i odd.\r\nN\u00e4iteks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:nth-child(odd) {\r\n  font-family: arial;\r\n}<\/pre>\r\n<\/li>\r\n<\/ul>\r\n<h2>Ainsa t\u00fctarelemendi pseudoklassid<\/h2>\r\n<ul>\r\n \t<li>Elemendile, mis on ainsaks t\u00fctarelemendiks mingis elemendis, m\u00e4\u00e4ratakse kujundus kasutades pseudoklassi <em>:only-child<\/em>.\r\nN\u00e4iteks m\u00e4\u00e4rame ainsaks t\u00fctarelemendiks olevale elemendile <code>&lt;div&gt;<\/code> raamjoone:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">div:only-child {\r\n  border: 20px dashed blue;\r\n}<\/pre>\r\n&nbsp;<\/li>\r\n \t<li><span style=\"font-size: 1em;\">Elemendile, mis on ainus vastavat t\u00fc\u00fcpi t\u00fctarelement, m\u00e4\u00e4ratakse kujundus kasutades <\/span><span style=\"font-size: 1em;\">pseudoelementi <em>:only-of-type<\/em>;<\/span><\/li>\r\n<\/ul>\r\n<h2>Pseudoelemendid<\/h2>\r\nPseudoelemendid viitavad veebilehe elemendi mingisugusele osale.\r\n\r\nPseudoelementide puhul on CSS3 puhul v\u00f5etud kasutusele kirjaviis, kus on kaks koolonit. Eesm\u00e4rgiks on r\u00f5hutada pseudoklasside ja pseudoelementide erinevust.\r\n\r\n<em>selektor::pseudoelement{kujundus}<\/em>\r\n<h2>Esimese tekstirea ja t\u00e4hem\u00e4rgi pseudoelemendid<\/h2>\r\nTeksti kujundamisel saab appi v\u00f5tta pseudoelemendid , mis viitavad esimesele t\u00e4hem\u00e4rgile v\u00f5i esimesele tekstireale. Nendeks pseudoelementideks on: <em>::first-line<\/em> ja <em>::first-letter<\/em>.\r\n\r\nN\u00e4iteks loome kujunduse k\u00f5ikide l\u00f5ikude esimestele t\u00e4hem\u00e4rkidele:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p::first-letter {\r\n  font-size: xx-large;\r\n  color: red;\r\n}<\/pre>\r\nV\u00f5i loome kujunduse mingisuguse suure ploki esimese l\u00f5igu esimesele t\u00e4hem\u00e4rgile:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:first-of-type::first-letter {\r\n  font-size: xx-large;\r\n  color: red;\r\n}<\/pre>\r\n[caption id=\"attachment_293\" align=\"aligncenter\" width=\"500\"]<img class=\"wp-image-293\" src=\"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/esimene-t\u00e4ht.png\" alt=\"l\u00f5igu esimene t\u00e4ht css\" width=\"500\" height=\"226\" \/> Esimese l\u00f5igu esimene t\u00e4ht on kujundatud[\/caption]\r\n<h2>Pseudoelemendid lisamaks sisu elementide ette ja j\u00e4rele<\/h2>\r\nSelleks, et lisada mingit kindlat sisu m\u00e4\u00e4ratud elementide ette v\u00f5i j\u00e4rele on pseudoelemendid <em>::before<\/em> ja <em>::after<\/em>.\r\n\r\nSisu lisatakse omadusega <em>content<\/em>. Sellel omadusel on j\u00e4rgmised v\u00f5imalikud v\u00e4\u00e4rtused:\r\n<ul>\r\n \t<li><em>none<\/em> \u2013 ei lisata mingit sisu;<\/li>\r\n \t<li><em>normal<\/em> \u2013 (vaikev\u00e4\u00e4rtus) seab selle omaduse v\u00e4\u00e4rtuse vaikimisi kasutatavale v\u00e4\u00e4rtusele \u201e<em>none<\/em>\u201c;<\/li>\r\n \t<li><em>counter<\/em> \u2013 lisab sisule loenduri v\u00e4\u00e4rtuse (loenduri nimetus tuleb lisada sulgudesse);<\/li>\r\n \t<li><em>attr<\/em> (atribudinimi) \u2013 lisab sisule elemendi vastava atribuudi v\u00e4\u00e4rtuse;<\/li>\r\n \t<li><em>string<\/em> \u2013 lisab sisule m\u00e4\u00e4ratud stringi (teksti jutum\u00e4rkides);<\/li>\r\n \t<li><em>open-quote<\/em> \u2013 lisab sisule alustava jutum\u00e4rgi;<\/li>\r\n \t<li><em>close-quote<\/em> \u2013 lisab sisule l\u00f5petava jutum\u00e4rgi;<\/li>\r\n \t<li><em>no-open-quote<\/em> \u2013 eemaldab alustava jutum\u00e4rgi;<\/li>\r\n \t<li><em>no-close-quote<\/em> \u2013 eemaldab l\u00f5petava jutum\u00e4rgi;<\/li>\r\n \t<li><em>url <\/em>(aadress) \u2013 lisab sisule mingi meedia (pilt, heli- v\u00f5i videoklipp);<\/li>\r\n \t<li><em>initial<\/em> \u2013 seab selle omaduse esialgsele v\u00e4\u00e4rtusele;<\/li>\r\n \t<li><em>inherit<\/em> \u2013 loend p\u00e4rib vastava omaduse teda sisaldavalt elemendilt (<em>parent<\/em>).<\/li>\r\n<\/ul>\r\nN\u00e4iteks lisame pealkirjadele <code>&lt;h2&gt;<\/code> ette s\u00f5na \u201ePeat\u00fckk\u201c ning jutum\u00e4rkide alguse ning <code>&lt;h2&gt;<\/code> j\u00e4rele jutum\u00e4rkide l\u00f5pu:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h2::before {\r\n  content: \"Peat\u00fckk \" open-quote;\r\n}\r\nh2::after {\r\n  content: close-quote;\r\n}\r\n<\/pre>\r\n<h2>Kasutaja poolt valitud osa<\/h2>\r\n\u00dcks pseudoelement viitab veebilehe mingi elemendi kasutaja poolt valitud (<em>selected<\/em>) osale. Selleks on pseudoelement <em>::selection<\/em>.\r\nN\u00e4iteks:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p::selection {\r\n  font-style: italic;\r\n}<\/pre>","rendered":"<p>Lisaks eelmises peat\u00fckis v\u00e4lja toodud \u00fcldkasutatavatele elementide selekteerimisviisidele eksisteerib veel hulganisti keerulisemaid selekteerimisviise. J\u00e4rgnevalt on nendest m\u00f5ningad v\u00e4lja toodud.<\/p>\n<h1>Kujundus vastavalt elementide sisaldumisele \u00fcksteise sees<\/h1>\n<p>Stiile saab adresseerida konkreetsele elemendile vastavalt tema nimele ja paiknemisele teiste elementide sees (hierarhia). Tuleb lihtsalt elemendid \u00fcksteise sisaldamise j\u00e4rjekorras t\u00fchikutega eraldatult \u00fcles lugeda.<\/p>\n<p>N\u00e4iteks kui HTML dokumendis on elemendid \u00fcksteise sees j\u00e4rgmiselt:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\">&lt;div id=\u201dkast\u201d&gt;\r\n  &lt;div id=\u201dvasak\u201d&gt;\r\n    &lt;img id=\u201dpilt1_1\u201d ... \/&gt;\r\n    &lt;img id=\u201dpilt1_2\u201d ... \/&gt;\r\n  &lt;\/div&gt;\r\n  &lt;div id=\u201dparem\u201d&gt;\r\n    &lt;img id=\u201dpilt2_1\u201d ... \/&gt;\r\n  &lt;\/div&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\n<p>Siis saab stiile kirjutada n\u00e4iteks nii:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">#kast #vasak img { \r\n  css stiil\r\n}<\/pre>\n<p>mille puhul rakendatakse stiili k\u00f5ikidele piltidele, mis sisalduvad elemendi \u201ekast\u201c sees olevas elemendis \u201evasak\u201c. See annab mugava ja paindliku v\u00f5imaluse veebilehe erinevate osade elementidele erinevaid ja\/v\u00f5i sarnaseid kujundusi luua.<\/p>\n<h1>Kujundus vastavalt elementi sisaldavale elemendile (parent)<\/h1>\n<p>Vahel on tarvis kirjutada kujundus elementidele, mis sisalduvad mingit kindlat t\u00fc\u00fcpi elemendis. Sellisel juhul pannakse selektor kirja j\u00e4rgmisel kujul: <em>suurelement&gt;v\u00e4ikeelement<\/em><\/p>\n<p><code><\/code>N\u00e4iteks v\u00f5ib luua kujunduse k\u00f5igile piltidele, mis on paigutatud tabeli lahtritesse (HTML elemendid <code>&lt;td&gt;<\/code>):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">td&gt;img {\r\n  margin: 5px;\r\n}<\/pre>\n<h1>Kujundus vastavalt elementide otsesele j\u00e4rgnevusele<\/h1>\n<p>Kui on tarvis m\u00e4\u00e4rata kujundust elementidele, mis j\u00e4rgnevad mingisugusele kindlale elemendile, siis pannakse selektor kirja j\u00e4rgmiselt:<br \/>\n<em>esimeneelement+j\u00e4rgnevelement<\/em><br \/>\nN\u00e4iteks loome kujunduse tekstil\u00f5ikudele (HTML element <code>&lt;p&gt;<\/code>), mis j\u00e4rgnevad suurtele pealkirjadele (HTML element <code>&lt;h1&gt;<\/code>):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h1+p {\r\n  font-size: 20px;\r\n}<\/pre>\n<p><span class=\"nb\">NB! Saab kirja panna ka pikema j\u00e4rgnevuse jada, n\u00e4iteks l\u00f5igule, mis j\u00e4rgneb <code>&lt;h2&gt;<\/code> pealkirjale, mis omakorda j\u00e4rgneb otse peakirjale <code>&lt;h1&gt;<\/code> ning vajadusel veelgi pikemalt!<\/span><br \/>\nN\u00e4iteks:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h1+h2+p {\r\n  font-size: 20px;\r\n}<\/pre>\n<p>Sarnaselt saab viidata k\u00f5ikidele kindlat t\u00fc\u00fcpi elementidele, millele eelneb konkreetne element. Selektor kirjutatakse siis kujul: <em>esimeneelement~j\u00e4rgnevelement<\/em><\/p>\n<p><code><\/code>N\u00e4iteks loome kujunduse k\u00f5igile l\u00f5ikudele, millele on eelnenud kolmanda taseme pealkiri (HTML element <code>&lt;h3&gt;<\/code>):<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h3~p {\r\n  color: gray;\r\n}<\/pre>\n<h1>Atribuudi selektorid<\/h1>\n<p>CSS3 v\u00f5imaldab kasutada selektoreid vastavalt HTML elementide atribuutidele, nende v\u00e4\u00e4rtustele jne. Sellisel juhul kirjutatakse selektor tervenisti kandilistesse sulgudesse: <em>[atribuut_ja_selle_v\u00e4\u00e4rtus_vms]<\/em><\/p>\n<ul>\n<li><code><\/code>Kujundust v\u00f5ib luua vastavalt m\u00f5ne atribuudi olemasolule.<\/li>\n<\/ul>\n<p>N\u00e4iteks loome kujunduse k\u00f5igile elementidele, millel on olemas atribuut \u201e<em>lang<\/em>\u201c:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">[lang] {\r\n  font-famly: verdana;\r\n}<\/pre>\n<ul>\n<li>Kujunduse saab luua vastavalt mingi atribuudi v\u00e4\u00e4rtusele.<\/li>\n<\/ul>\n<p>N\u00e4iteks loome kujunduse k\u00f5igile neile elementidele, mille atribuudi \u201e<em>title<\/em>\u201c v\u00e4\u00e4rtus on \u201eselgitus\u201c:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">[title=selgitus] {\r\n  font-style: italic;\r\n}<\/pre>\n<p>Atribuudi v\u00e4\u00e4rtuse kasutamisel v\u00f5ib viidata ka mingile osale v\u00e4\u00e4rtusest (string)!<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><em><code>[atribuut^=string]<\/code><\/em> \u2013 viitab elemendile, mille atribuudi v\u00e4\u00e4rtus algab vastava stringiga;<\/li>\n<li><em><code>[atribuut$=string]<\/code><\/em> \u2013 viitab elemendile, mille atribuudi v\u00e4\u00e4rtus l\u00f5ppeb vastava stringiga;<\/li>\n<li><em><code>[atribuut*=string]<\/code><\/em> \u2013 viitab elemendile, mille atribuudi v\u00e4\u00e4rtus sisaldab vastavat stringi.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span class=\"nb\">NB! String tuleb selektoris paigutada jutum\u00e4rkide vahele!<\/span><\/p>\n<p>N\u00e4iteks loome stiili k\u00f5igile elementidele, mille atribuudi \u201esrc\u201c v\u00e4\u00e4rtus sisaldab stringi \u201eramkool.edu.ee\u201c:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">[src*=\"ramkool.edu.ee\"] {\r\n  font-family: courier;\r\n}\r\n<\/pre>\n<ul>\n<li>Eraldi on olemas keeleatribuudiga seotud pseudoklass <em>:lang<\/em>.<\/li>\n<\/ul>\n<p>N\u00e4iteks loome kujunduse k\u00f5igile elementidele <code>&lt;h2&gt;<\/code>, millel kasutatakse inglise keelt:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\">h2:lang(en) {\r\n  font-style: italic;\r\n}<\/pre>\n<h1>Pseudoklassid ja pseudoelemendid<\/h1>\n<p>Pseudoklasse ja pseudoelemente kasutatakse veebilehe elementidele veelgi paindlikumalt stiilide m\u00e4\u00e4ramiseks.<\/p>\n<h3>Pseudoklassid<\/h3>\n<p>Pseudoklasse kasutatakse veebilehe elementide erinevate olekute (<em>state<\/em>) defineerimiseks. Nende puhul lisatakse tavap\u00e4rasele selektorile kooloni j\u00e4rele veel nn pseudonimi j\u00e4rgmisel moel: <code>selektor:pseudonimi{kujundus}<\/code><\/p>\n<p><code><\/code>K\u00f5ige tuntumad pseudoelemendid on ilmselt linkidega seotud:<\/p>\n<ul>\n<li><em>a:link <\/em>\u2013 k\u00fclastamata link;<\/li>\n<li><em>a:visited<\/em> \u2013 k\u00fclastatud link;<\/li>\n<li><em>a:hover<\/em> \u2013 hiirekursor on liikunud lingi peale;<\/li>\n<li><em>a:active<\/em> \u2013 hiire vasak nupp on lingil alla vajutatud (kl\u00f5psamine).<\/li>\n<\/ul>\n<p>N\u00e4iteks:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">a:hover {\r\n  font-weight: bold;\r\n}<\/pre>\n<p><span class=\"nb\">NB! Nendest mainitutest saab pseudonime <em>:hover <\/em>kasutada ka teistel elementidel ning sedasi luua eriefekte hiirega elementidele liikumisel.<\/span><\/p>\n<p>Olemas on ka pseudoklass, mis viitab mingi lingi sihtelemendile (<em>target<\/em>), mis on ka hetkel aktiivne. Selleks on pseudoklass <em>:target<\/em>. N\u00e4iteks kujundame elemendi nimega \u201eportree\u201c, mis oli klikitud URL-i v\u00e4\u00e4rtuseks ja mis on aktiivne:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">#portree:target {\r\n  background-color: yellow;\r\n}<\/pre>\n<p>\u00dcks huvitav pseudoklass t\u00e4histab k\u00f5iki nimetatud elemendist erinevaid elemente \u2013 selleks on <em>:not<\/em> pseudoklass. .<\/p>\n<p><span class=\"nb\">NB! N\u00e4iteks kasutades selektorit <em>:not(p)<\/em> selekteeritakse k\u00f5ik elemendid peale <code>&lt;p&gt;<\/code> elemendi, kaasaarvatud <code>&lt;html&gt;<\/code> ja <code>&lt;body&gt;<\/code>.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">:not(p) {\r\n  text-decoration: underline;\r\n}<\/pre>\n<p>Kogu veebilehe juurelemendi (<em>root<\/em>) jaoks on pseudoklass <em>:root<\/em>. HTML dokumendi puhul on <em>root<\/em> elemendiks <code>&lt;html&gt;<\/code> element:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">:root {\r\n  background-color: blue;\r\n}<\/pre>\n<p>T\u00fchja elemendi jaoks on pseudoklass <em><code>:empty<\/code>.<\/em> N\u00e4iteks loome kujunduse t\u00fchjadele tabeli lahtritele:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">td:empty {\r\n  background-color: pink;\r\n}<\/pre>\n<figure id=\"attachment_291\" aria-describedby=\"caption-attachment-291\" style=\"width: 450px\" class=\"wp-caption aligncenter\"><img class=\"wp-image-291\" src=\"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/tabel.png\" alt=\"Tabel t\u00fchjade lahtritega\" width=\"450\" height=\"230\" srcset=\"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/tabel.png 536w, https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/tabel-300x153.png 300w, https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/tabel-65x33.png 65w, https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/tabel-225x115.png 225w, https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/tabel-350x179.png 350w\" \/><figcaption id=\"caption-attachment-291\" class=\"wp-caption-text\">Tulemus: tabeli t\u00fchjad lahtrid on roosa taustaga<\/figcaption><\/figure>\n<h2>Kasutaja sisendiga seotud pseudoklassid<\/h2>\n<p>Osa pseudoklasse on sellised, mida saab kasutada vaid nende elementide puhul, mis v\u00f5imaldavad kasutajal midagi sisestada, n\u00e4iteks klaviatuurilt.<\/p>\n<ul>\n<li>Kujundust saab luua elemendile, millel on fookus, selleks kasutatakse pseudonime <em>:focus<\/em>. N\u00e4iteks:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">input:focus {\r\n  background-color: #FFDDDD;\r\n}<\/pre>\n<\/li>\n<li>V\u00f5ib l\u00e4htuda sellest, kas <code>&lt;input&gt;<\/code> element on aktiveeritud (<em>enabled<\/em>), selleks on pseudonimi <em>:enabled<\/em>. N\u00e4iteks:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">input:enabled {\r\n  font-weight: bold;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li><span style=\"font-size: 1em;\">Vastupidiselt v\u00f5ib kasutada pseudonime <em>:disabled<\/em>, mis t\u00e4histab neid <code>&lt;input&gt;<\/code><\/span> elemente, mis on deaktiveeritud. N\u00e4iteks:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">input:disabled {\r\n  color: gray;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li>V\u00f5ib kujundada neid &lt;input&gt; elemente, mis on m\u00e4rkeruutudena m\u00e4rgitud, selleks on pseudonimi <em>:checked<\/em>. N\u00e4iteks:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">input:checked {\r\n  background-color: #DDDDDD;\r\n}<\/pre>\n<\/li>\n<\/ul>\n<h2><span style=\"text-align: initial; font-size: 1em;\">Elementide j\u00e4rjestusega seotud pseudoklassid<\/span><\/h2>\n<p>Pseudoklasside abil saab kujundada ka elemente vastavalt nende asukohale neid sisaldavas elemendis (<em>parent<\/em>).<\/p>\n<ul>\n<li>Kindlat t\u00fc\u00fcpi elementi, mis on esimene t\u00fctarelement (<em>child<\/em>) teda sisaldavas elemendis saab kujundada pseudoklassi <em>:first-child<\/em> abil.<br \/>\nN\u00e4iteks:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h2:first-child {\r\n  background-color: white;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li><span style=\"font-size: 1em;\">Kindlat t\u00fc\u00fcpi elementi, mis on viimane t\u00fctarelement (<em>child<\/em>) teda sisaldavas elemendis <\/span><span style=\"font-size: 1em;\">saab kujundada pseudoklassi <em>:last-child<\/em> abil.<\/span>N\u00e4iteks muudame l\u00f5igu, mis on viimane t\u00fctarelement, laiust:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:last-child {\r\n  width: 50%;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li><span style=\"font-size: 1em;\">Esimese kindlat t\u00fc\u00fcpi elemendi jaoks teda sisaldavas elemendis (<em>parent<\/em>) on <\/span><span style=\"font-size: 1em;\">pseudoklass <em>:first-of-type<\/em>.<\/span>N\u00e4iteks m\u00e4\u00e4rame mingis elemendis sisalduvale esimesele l\u00f5igule taandrea:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:first-of-type {\r\n text-indent: 20px;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li><span style=\"font-size: 1em;\">Viimase kindlat t\u00fc\u00fcpi elemendi jaoks teda sisaldavas elemendis (<em>parent<\/em>) on <\/span><span style=\"font-size: 1em;\">pseudoklass <em>:last-of-type<\/em>.<\/span>N\u00e4iteks muudame mingis elemendis sisalduva viimase sektsiooni raamjoone alumised nurgad \u00fcmaraks:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">section:last-of-type {\r\n  border-bottom-left-radius: 20px;\r\n  border-bottom-right-radius: 20px;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li><span style=\"font-size: 1em;\">Lugedes algusest saab kindlal positsioonil asuvale t\u00fctarelemendile (<em>child<\/em>) viidata <\/span><span style=\"font-size: 1em;\">pseudoklassiga <em>:nth-child<\/em>.<\/span>N\u00e4iteks loome kujunduse l\u00f5igule, mis on kolmas t\u00fctarelement:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:nth-child(3) {\r\n  font-family: arial;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li><span style=\"font-size: 1em;\">Elementidele saab viidata ka tagantpoolt lugema hakates, siis kasutatakse pseudoklassi <\/span><span style=\"font-size: 1em;\"><em>:nth-last-child(n)<\/em>.<\/span>N\u00e4iteks loome kujunduse l\u00f5igule, mis on tagantpoolt kolmas t\u00fctarelement:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:nth-last-child(3) {\r\n  font-family: arial;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li><span style=\"font-size: 1em;\">Sarnaselt saab viidata kindlat t\u00fc\u00fcpi elementidele nii eestpoolt kui ka tagantpoolt <\/span><span style=\"font-size: 1em;\">lugedes, selleks on pseudoklassid <em>:nth-of-type(n)<\/em> ja <em>:nth-last-of-type(n)<\/em>.<\/span>N\u00e4iteks loome kujunduse tagantpoolt teisele sektsioonile:\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">section:nth-last-of-type {\r\n  border-width: 10px;\r\n}<\/pre>\n<\/li>\n<li>J\u00e4rjekorranumbritena saab kasutada ka viidet paaris v\u00f5i paaritutele arvudele vastavalt even v\u00f5i odd.<br \/>\nN\u00e4iteks:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:nth-child(odd) {\r\n  font-family: arial;\r\n}<\/pre>\n<\/li>\n<\/ul>\n<h2>Ainsa t\u00fctarelemendi pseudoklassid<\/h2>\n<ul>\n<li>Elemendile, mis on ainsaks t\u00fctarelemendiks mingis elemendis, m\u00e4\u00e4ratakse kujundus kasutades pseudoklassi <em>:only-child<\/em>.<br \/>\nN\u00e4iteks m\u00e4\u00e4rame ainsaks t\u00fctarelemendiks olevale elemendile <code>&lt;div&gt;<\/code> raamjoone:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">div:only-child {\r\n  border: 20px dashed blue;\r\n}<\/pre>\n<p>&nbsp;<\/li>\n<li><span style=\"font-size: 1em;\">Elemendile, mis on ainus vastavat t\u00fc\u00fcpi t\u00fctarelement, m\u00e4\u00e4ratakse kujundus kasutades <\/span><span style=\"font-size: 1em;\">pseudoelementi <em>:only-of-type<\/em>;<\/span><\/li>\n<\/ul>\n<h2>Pseudoelemendid<\/h2>\n<p>Pseudoelemendid viitavad veebilehe elemendi mingisugusele osale.<\/p>\n<p>Pseudoelementide puhul on CSS3 puhul v\u00f5etud kasutusele kirjaviis, kus on kaks koolonit. Eesm\u00e4rgiks on r\u00f5hutada pseudoklasside ja pseudoelementide erinevust.<\/p>\n<p><em>selektor::pseudoelement{kujundus}<\/em><\/p>\n<h2>Esimese tekstirea ja t\u00e4hem\u00e4rgi pseudoelemendid<\/h2>\n<p>Teksti kujundamisel saab appi v\u00f5tta pseudoelemendid , mis viitavad esimesele t\u00e4hem\u00e4rgile v\u00f5i esimesele tekstireale. Nendeks pseudoelementideks on: <em>::first-line<\/em> ja <em>::first-letter<\/em>.<\/p>\n<p>N\u00e4iteks loome kujunduse k\u00f5ikide l\u00f5ikude esimestele t\u00e4hem\u00e4rkidele:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p::first-letter {\r\n  font-size: xx-large;\r\n  color: red;\r\n}<\/pre>\n<p>V\u00f5i loome kujunduse mingisuguse suure ploki esimese l\u00f5igu esimesele t\u00e4hem\u00e4rgile:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p:first-of-type::first-letter {\r\n  font-size: xx-large;\r\n  color: red;\r\n}<\/pre>\n<figure id=\"attachment_293\" aria-describedby=\"caption-attachment-293\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><img class=\"wp-image-293\" src=\"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/esimene-t\u00e4ht.png\" alt=\"l\u00f5igu esimene t\u00e4ht css\" width=\"500\" height=\"226\" srcset=\"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/esimene-t\u00e4ht.png 796w, https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/esimene-t\u00e4ht-300x135.png 300w, https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/esimene-t\u00e4ht-768x346.png 768w, https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/esimene-t\u00e4ht-65x29.png 65w, https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/esimene-t\u00e4ht-225x101.png 225w, https:\/\/ramk.ee\/opikud\/veebidisain\/wp-content\/uploads\/sites\/2\/2020\/03\/esimene-t\u00e4ht-350x158.png 350w\" \/><figcaption id=\"caption-attachment-293\" class=\"wp-caption-text\">Esimese l\u00f5igu esimene t\u00e4ht on kujundatud<\/figcaption><\/figure>\n<h2>Pseudoelemendid lisamaks sisu elementide ette ja j\u00e4rele<\/h2>\n<p>Selleks, et lisada mingit kindlat sisu m\u00e4\u00e4ratud elementide ette v\u00f5i j\u00e4rele on pseudoelemendid <em>::before<\/em> ja <em>::after<\/em>.<\/p>\n<p>Sisu lisatakse omadusega <em>content<\/em>. Sellel omadusel on j\u00e4rgmised v\u00f5imalikud v\u00e4\u00e4rtused:<\/p>\n<ul>\n<li><em>none<\/em> \u2013 ei lisata mingit sisu;<\/li>\n<li><em>normal<\/em> \u2013 (vaikev\u00e4\u00e4rtus) seab selle omaduse v\u00e4\u00e4rtuse vaikimisi kasutatavale v\u00e4\u00e4rtusele \u201e<em>none<\/em>\u201c;<\/li>\n<li><em>counter<\/em> \u2013 lisab sisule loenduri v\u00e4\u00e4rtuse (loenduri nimetus tuleb lisada sulgudesse);<\/li>\n<li><em>attr<\/em> (atribudinimi) \u2013 lisab sisule elemendi vastava atribuudi v\u00e4\u00e4rtuse;<\/li>\n<li><em>string<\/em> \u2013 lisab sisule m\u00e4\u00e4ratud stringi (teksti jutum\u00e4rkides);<\/li>\n<li><em>open-quote<\/em> \u2013 lisab sisule alustava jutum\u00e4rgi;<\/li>\n<li><em>close-quote<\/em> \u2013 lisab sisule l\u00f5petava jutum\u00e4rgi;<\/li>\n<li><em>no-open-quote<\/em> \u2013 eemaldab alustava jutum\u00e4rgi;<\/li>\n<li><em>no-close-quote<\/em> \u2013 eemaldab l\u00f5petava jutum\u00e4rgi;<\/li>\n<li><em>url <\/em>(aadress) \u2013 lisab sisule mingi meedia (pilt, heli- v\u00f5i videoklipp);<\/li>\n<li><em>initial<\/em> \u2013 seab selle omaduse esialgsele v\u00e4\u00e4rtusele;<\/li>\n<li><em>inherit<\/em> \u2013 loend p\u00e4rib vastava omaduse teda sisaldavalt elemendilt (<em>parent<\/em>).<\/li>\n<\/ul>\n<p>N\u00e4iteks lisame pealkirjadele <code>&lt;h2&gt;<\/code> ette s\u00f5na \u201ePeat\u00fckk\u201c ning jutum\u00e4rkide alguse ning <code>&lt;h2&gt;<\/code> j\u00e4rele jutum\u00e4rkide l\u00f5pu:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">h2::before {\r\n  content: \"Peat\u00fckk \" open-quote;\r\n}\r\nh2::after {\r\n  content: close-quote;\r\n}\r\n<\/pre>\n<h2>Kasutaja poolt valitud osa<\/h2>\n<p>\u00dcks pseudoelement viitab veebilehe mingi elemendi kasutaja poolt valitud (<em>selected<\/em>) osale. Selleks on pseudoelement <em>::selection<\/em>.<br \/>\nN\u00e4iteks:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"css\">p::selection {\r\n  font-style: italic;\r\n}<\/pre>\n","protected":false},"author":1,"menu_order":6,"template":"","meta":{"_mi_skip_tracking":false,"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"part":29,"_links":{"self":[{"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/pressbooks\/v2\/chapters\/286"}],"collection":[{"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":7,"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/pressbooks\/v2\/chapters\/286\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/pressbooks\/v2\/chapters\/286\/revisions\/446"}],"part":[{"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/pressbooks\/v2\/parts\/29"}],"metadata":[{"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/pressbooks\/v2\/chapters\/286\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/wp\/v2\/media?parent=286"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/pressbooks\/v2\/chapter-type?post=286"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/wp\/v2\/contributor?post=286"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/ramk.ee\/opikud\/veebidisain\/wp-json\/wp\/v2\/license?post=286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}