{"id":229734,"date":"2022-11-23T13:01:00","date_gmt":"2022-11-23T10:01:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229734"},"modified":"2022-11-09T16:08:59","modified_gmt":"2022-11-09T13:08:59","slug":"elemendi-duenaamiline-tsentreerimine-konteineris-css-i-abil","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/elemendi-duenaamiline-tsentreerimine-konteineris-css-i-abil\/","title":{"rendered":"Elemendi d\u00fcnaamiline tsentreerimine konteineris CSS-i abil"},"content":{"rendered":"\n<p>Kui r\u00e4\u00e4kida arendusest, siis ma ei r\u00e4\u00e4gi sageli asjadest peale PHP ja JavaScripti peamiselt seet\u00f5ttu, et t\u00f6\u00f6tan nende keeltega rohkem kui teistega.<\/p>\n<p>Ma m\u00f5tlen, jah, CSS on osa tehingust, nagu ka HTML, kuid t\u00e4nap\u00e4eval on seda oodata, eks?<\/p>\n<p>Nii et kui mul oli kunagi CSS-i kohta kiire n\u00e4pun\u00e4ide, siis see on see (kuigi v\u00f5ib-olla peaksin rohkem kirjutama?). On raske, kui <strong><a href=\"https:\/\/twitter.com\/chriscoyier\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Chris<\/a><\/strong> teeb nii suurep\u00e4rast t\u00f6\u00f6d <strong><a href=\"https:\/\/css-tricks.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">CSS Tricksi<\/a><\/strong> juhtimisel, kuid ma kaldun k\u00f5rvale.<\/p>\n<p>Igatahes, siin on probleem ja lahendus.<\/p>\n<h2>Elemendi d\u00fcnaamiline tsentreerimine konteineris<\/h2>\n<p>Elemendi d\u00fcnaamilise tsentreerimise idee p\u00f5hineb j\u00e4rgmisel stsenaariumil:<\/p>\n<ul>\n<li>Helistate API-le, mis vastab p\u00e4rast k\u00f5ne l\u00f5ppemist n\u00e4iteks piltide komplektiga.<\/li>\n<li>Peate iga pildi oma konteineris tsentreerima.<\/li>\n<li>Piltidel ei ole fikseeritud k\u00f5rgust ja need tuleb d\u00fcnaamiliselt paigutada ja kasutajaliidese konteinerites keskele asetada.<\/li>\n<\/ul>\n<p>V\u00f5ib-olla on see siiski natuke \u00fcldine. Kui jah, siis oletame, et teil on nimekiri (j\u00e4rjestatud v\u00f5i j\u00e4rjestamata, vahet pole). Neil on fikseeritud k\u00f5rgus ja laius ning te paigutate pildid skaleeritult igasse elemendisse.<\/p>\n<p>Pidage meeles: te ei saa paigutada asju, n\u00e4iteks <strong>div<\/strong> &#8211; elemente <strong>li<\/strong> &#8211; elementidesse (kuna <strong>div<\/strong> on plokitaseme element), ilma seda m\u00f5ne CSS-i kaudu muutmata. Ja me tahame seda v\u00e4ltida.<\/p>\n<p>Nii et l\u00f5ppkokkuv\u00f5ttes v\u00f5ib kasutajaliides v\u00e4lja n\u00e4ha umbes selline (toores, ma tean):<\/p>\n<p>Kui soovite, et iga pilt paigutataks loendi\u00fcksusesse, et sellel oleks teatud m\u00f5\u00f5tkava k\u00f5rgus ja soovite, et see oleks keskel, <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/6fcfa9dd108af20920c937b2a1fa66c4\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">proovige j\u00e4rgmist koodi<\/a><\/strong> :<\/p>\n<pre><code>.acme-element {\n  position:   relative;\n  top:        50%;\n  transform:  translateY(-50%);\n  height:     auto;\n  max-height: 190px;\n}<\/code><\/pre>\n<p>Selle v\u00f5ti on tegelikult transformeerimisstiil. <strong><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/transform-function\/translateY\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MDN andmetel<\/a><\/strong> :<\/p>\n<blockquote>\n<p>Funktsioon translateY() CSS paigutab elemendi \u00fcmber vertikaalselt 2D-tasandil. Selle tulemuseks on andmet\u00fc\u00fcp.<\/p>\n<\/blockquote>\n<p>On loogiline?<\/p>\n<p>M\u00f5elge sellele j\u00e4rgmiselt: funktsioon <strong>translateY<\/strong> v\u00f5tab etteantud elemendi (selektoriga tuvastatud) ja positsioneerib selle m\u00e4\u00e4ratud v\u00e4\u00e4rtuse abil.<\/p>\n<h2>See r\u00e4\u00e4gib transformatsioonidest<\/h2>\n<p>Selle teostamiseks v\u00f5ite kasutada piksleid, protsente v\u00f5i mida iganes vajate. Sel juhul on tegemist protsendiga (ja need on negatiivsed). Kuigi ma kasutan oma juurutamise n\u00e4idet, on see m\u00f5eldud ka n\u00e4pun\u00e4itena selle kohta, kuidas kasutada funktsiooni <strong>transformY<\/strong> seoses teisendustega.<\/p>\n<p>Kui brauseri \u00fchilduvus on oluline \u2013 mis m\u00f5nel juhul peakski olema \u2013, vaadake <strong><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/transform-function#Browser_compatibility\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">seda tabelit<\/a><\/strong>. Sa oled p\u00e4ris h\u00e4sti kaetud.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Elemendi d\u00fcnaamilise tsentreerimise idee on tugevalt seotud teie t\u00f6\u00f6ga, kuid v\u00f5ib-olla aitab teisenduste kasutamine.<\/p>\n","protected":false},"author":1,"featured_media":220880,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[905,833,842],"tags":[1165],"class_list":["post-229734","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-css-4","category-juhend-algajatele","category-opetused","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=229734"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229734\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/220880"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}