Dante olvasása Lewis és Sayers szemével

Dante olvasása Lewis és Sayers szemével

Miért fontos a helyes SVG kezelés a modern webes projektekben?

Az SVG (Scalable Vector Graphics) formátum egyre inkább elterjed a webes dizájnokban, mivel vektorgrafikus jellegéből adódóan pixelesítésmentes megjelenítést biztosít bármilyen képernyőméret esetén. A fenti kód egy tipikus példa arra, hogyan épülnek fel az SVG ikonok egy modern weboldalon.

Az SVG előnyei a webes fejlesztésben

Az SVG képek nagy előnye, hogy vektorgrafikusak, így minden eszközön éppen olyan élességgel jelennek meg, mint az eredeti. Ez különösen fontos mobilkészülékeken és nagy felbontású monitorokon egyaránt. Továbbá jóval kisebb méretűek lehetnek a raszteres megfelelőiknek, különösen ha egyszerű ikonokról vagy logókról van szó.

A kódban látható ikonok, mint a közösségi média gombok (Facebook, Twitter, Instagram), a lejátszási vezérlők (play, pause, volume), vagy a kereső ikonok mind SVG formátumban vannak definiálva. Mindegyik elemben van tárolva egyedi azonosítóval, ami lehetővé teszi, hogy a elem segítségével többször is felhasználhassuk őket anélkül, hogy redundáns kódot generálnánk.

Szemantikus struktúra és hozzáférhetőség

Érdekes módon a kód tartalmaz </code> elemeket is minden symbolon belül, ami segít a képernyőolvasók számára az ikonok azonosításában. Ez a hozzáférhetőség szempontjából kritikus részlet. A <code><symbol></code> elemek azonban nincsenek közvetlenül a DOM-ban, hanem a <code><defs></code> blokkban vannak definiálva, ami optimalizálja a betöltési sebességet.</p> <p>A kód struktúrája is érdekes – a különböző ikonokat logikailag csoportosították, például a közösségi média ikonok egy részben, a lejátszási vezérlők egy másik részben. Ez megkönnyíti a karbantartást és a jövőbeli bővíthetőséget.</p> <h2>Optimalizálási lehetőségek</h2> <p>Habár a kód jól strukturált, lehetne még tovább optimalizálni. Például a redundáns stílusdefiníciókat lehetne egy közös CSS osztályba mozgatni, vagy a nem használt ikonokat eltávolítani, ha nem szükségesek. A „Grayscale” nevű ikonok arra utalnak, hogy vannak árnyalt és színes változatok is, ami jól mutatja, hogy a fejlesztők figyelembe vették a különböző felhasználási körülményeket.</p> <p>Az SVG formátum rugalmassága lehetővé teszi, hogy az ikonok dinamikusan megváltoztassák a színüket CSS segítségével, ami különösen hasznos a dark mode támogatásában vagy az interaktív elemek stilizálásában.</p> <p>Összességében ez a kód egy jó példa arra, hogyan kezelhetők skálázható vektorgrafikus elemek modern webes környezetben – optimálisan a teljesítmény és a felhasználói élmény szempontjából egyaránt.</p> </div><!-- .entry-content .clear --> </div> </article><!-- #post-## --> <nav class="navigation post-navigation" aria-label="Posts"> <div class="nav-links"><div class="nav-previous"><a title="1973" href="https://newsgep.hu/1973-2/" rel="prev"><span class="ast-post-nav" aria-hidden="true"><span aria-hidden="true" class="ahfb-svg-iconset ast-inline-flex svg-baseline"><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z'></path></svg></span> Previous</span> <p> 1973 </p></a></div><div class="nav-next"><a title="Nioh 3: 1 millió felett fogyott, a sorozat leggyorsabbja" href="https://newsgep.hu/nioh-3-1-millio-felett-fogyott-a-sorozat-leggyorsabbja/" rel="next"><span class="ast-post-nav" aria-hidden="true">Next <span aria-hidden="true" class="ahfb-svg-iconset ast-inline-flex svg-baseline"><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z'></path></svg></span></span> <p> Nioh 3: 1 millió felett fogyott, a sorozat leggyorsabbja </p></a></div></div> </nav> <div id="comments" class="comments-area comment-form-position-below "> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">Leave a Comment <small><a rel="nofollow" id="cancel-comment-reply-link" href="/dante-olvasasa-lewis-es-sayers-szemevel/#respond" style="display:none;">Cancel Reply</a></small></h3><form action="https://newsgep.hu/wp-comments-post.php" method="post" id="ast-commentform" class="comment-form"><p class="comment-notes"><span id="email-notes">Az e-mail címet nem tesszük közzé.</span> <span class="required-field-message">A kötelező mezőket <span class="required">*</span> karakterrel jelöltük</span></p><div class="ast-row comment-textarea"><fieldset class="comment-form-comment"><legend class ="comment-form-legend"></legend><div class="comment-form-textarea ast-grid-common-col"><label for="comment" class="screen-reader-text">Type here..</label><textarea id="comment" name="comment" placeholder="Type here.." cols="45" rows="8" aria-required="true"></textarea></div></fieldset></div><div class="ast-comment-formwrap ast-row"> <p class="comment-form-author ast-grid-common-col ast-width-lg-33 ast-width-md-4 ast-float"> <label for="author" class="screen-reader-text">Name*</label> <input id="author" name="author" type="text" value="" placeholder="Name*" size="30" aria-required='true' autocomplete="name" /> </p> <p class="comment-form-email ast-grid-common-col ast-width-lg-33 ast-width-md-4 ast-float"> <label for="email" class="screen-reader-text">Email*</label> <input id="email" name="email" type="text" value="" placeholder="Email*" size="30" aria-required='true' autocomplete="email" /> </p> <p class="comment-form-url ast-grid-common-col ast-width-lg-33 ast-width-md-4 ast-float"> <label for="url" class="screen-reader-text">Website</label> <input id="url" name="url" type="text" value="" placeholder="Website" size="30" autocomplete="url" /> </p> </div> <p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">A nevem, e-mail címem, és weboldalcímem mentése a böngészőben a következő hozzászólásomhoz.</label></p> <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='52885' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="6c79b41671" /></p><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="53"/><script> document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); </script> </p></form> </div><!-- #respond --> </div><!-- #comments --> </main><!-- #main --> </div><!-- #primary --> </div> <!-- ast-container --> </div><!-- #content --> <footer class="site-footer" id="colophon" itemtype="https://schema.org/WPFooter" itemscope="itemscope" itemid="#colophon"> <div class="site-below-footer-wrap ast-builder-grid-row-container site-footer-focus-item ast-builder-grid-row-full ast-builder-grid-row-tablet-full ast-builder-grid-row-mobile-full ast-footer-row-stack ast-footer-row-tablet-stack ast-footer-row-mobile-stack" data-section="section-below-footer-builder"> <div class="ast-builder-grid-row-container-inner"> <div class="ast-builder-footer-grid-columns site-below-footer-inner-wrap ast-builder-grid-row"> <div class="site-footer-below-section-1 site-footer-section site-footer-section-1"> <div class="ast-builder-layout-element ast-flex site-footer-focus-item ast-footer-copyright" data-section="section-footer-builder"> <div class="ast-footer-copyright"><p>Copyright © 2026 NewsGép</p> </div> </div> </div> </div> </div> </div> </footer><!-- #colophon --> </div><!-- #page --> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/astra/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <div id="ast-scroll-top" tabindex="0" class="ast-scroll-top-icon ast-scroll-to-top-right" data-on-devices="both"> <span class="ast-icon icon-arrow"><svg class="ast-arrow-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" width="26px" height="16.043px" viewbox="57 35.171 26 16.043" enable-background="new 57 35.171 26 16.043" xml:space="preserve"> <path d="M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z" /> </svg></span> <span class="screen-reader-text">Scroll to Top</span> </div> <div id="amp-mobile-version-switcher" hidden> <a rel="" href="https://newsgep.hu/dante-olvasasa-lewis-es-sayers-szemevel/?amp=1"> Go to mobile version </a> </div> <script> /(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1); </script> <script async data-wp-strategy="async" fetchpriority="low" id="comment-reply-js" src="https://newsgep.hu/wp-includes/js/comment-reply.min.js?ver=7.1.3"></script> <script id="astra-theme-js-js-extra"> var astra = {"break_point":"921","isRtl":"","is_scroll_to_id":"1","is_scroll_to_top":"1","is_header_footer_builder_active":"1","responsive_cart_click":"flyout","is_dark_palette":""}; //# sourceURL=astra-theme-js-js-extra </script> <script id="astra-theme-js-js" src="https://newsgep.hu/wp-content/themes/astra/assets/js/minified/frontend.min.js?ver=4.14.1"></script> <script id="wp-statistics-tracker-js-extra"> var WP_Statistics_Tracker_Object = {"requestUrl":"https://newsgep.hu/wp-json/wp-statistics/v2","ajaxUrl":"https://newsgep.hu/wp-admin/admin-ajax.php","hitParams":{"wp_statistics_hit":1,"source_type":"post","source_id":52885,"search_query":"","signature":"12fc900f95b7fe2fc1adb759e8fa0abf","endpoint":"hit"},"option":{"dntEnabled":false,"bypassAdBlockers":false,"consentIntegration":{"name":null,"status":[]},"isPreview":false,"userOnline":false,"isWpConsentApiActive":false},"isLegacyEventLoaded":"","customEventAjaxUrl":"https://newsgep.hu/wp-admin/admin-ajax.php?action=wp_statistics_custom_event&nonce=532334962f","onlineParams":{"wp_statistics_hit":1,"source_type":"post","source_id":52885,"search_query":"","signature":"12fc900f95b7fe2fc1adb759e8fa0abf","action":"wp_statistics_online_check"},"jsCheckTime":"60000"}; //# sourceURL=wp-statistics-tracker-js-extra </script> <script id="wp-statistics-tracker-js" src="https://newsgep.hu/wp-content/plugins/wp-statistics/assets/js/tracker.js?ver=14.16.17"></script> <script id="jquery-core-js" src="https://newsgep.hu/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script> <script id="jquery-migrate-js" src="https://newsgep.hu/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script> <script id="fifu-lazyload-js-js" src="https://newsgep.hu/wp-content/plugins/featured-image-from-url/includes/html/js/lazyload.js?ver=6.1.2"></script> <script defer id="akismet-frontend-js" src="https://newsgep.hu/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1787334006"></script> <script id="wp-emoji-settings" type="application/json"> {"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://newsgep.hu/wp-includes/js/wp-emoji-release.min.js?ver=7.1.3"}} </script> <script type="module"> /*! This file is auto-generated */ var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); //# sourceURL=https://newsgep.hu/wp-includes/js/wp-emoji-loader.min.js </script> </body> </html><!-- WP Fastest Cache file was created in 0.454 seconds, on 2026.10.23. @ 23:58 --><!-- need to refresh to see cached version -->