{"id":36308,"date":"2025-12-13T12:40:48","date_gmt":"2025-12-13T09:40:48","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36308"},"modified":"2025-12-13T12:40:48","modified_gmt":"2025-12-13T09:40:48","slug":"ionic-2de-izgara-sistemini-kullanma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/","title":{"rendered":"Ionic 2&#8217;de Izgara Sistemini Kullanma"},"content":{"rendered":"<p><body><\/p>\n<h2>Ionic 2&#8217;de Izgara Sistemini Kullanma<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Mobil uygulama geli\u015ftirmenin h\u0131zla b\u00fcy\u00fcyen d\u00fcnyas\u0131nda, kullan\u0131c\u0131 deneyimi (UX) her \u015feyden \u00f6nemlidir. Kullan\u0131c\u0131lar\u0131n farkl\u0131 cihaz boyutlar\u0131 ve ekran y\u00f6nelimlerinde sorunsuz bir deneyim ya\u015famas\u0131n\u0131 sa\u011flamak, duyarl\u0131 (responsive) bir aray\u00fcz tasar\u0131m\u0131n\u0131n temelini olu\u015fturur. Ionic 2, g\u00fc\u00e7l\u00fc ve esnek bir mobil uygulama geli\u015ftirme \u00e7er\u00e7evesi olarak, bu ihtiyac\u0131 kar\u015f\u0131lamak \u00fczere entegre bir \u0131zgara sistemi sunar. Bu makale, Ionic 2&#8217;nin \u0131zgara sistemini derinlemesine inceleyecek, temel kavramlar\u0131ndan geli\u015fmi\u015f kullan\u0131m senaryolar\u0131na kadar her y\u00f6n\u00fcn\u00fc ele alacak ve geli\u015ftiricilere duyarl\u0131 ve estetik uygulamalar olu\u015fturmalar\u0131 i\u00e7in kapsaml\u0131 bir rehber sunacakt\u0131r.<\/p>\n<p>Ionic 2, modern web teknolojilerini (HTML, CSS, JavaScript) kullanarak hibrit mobil uygulamalar geli\u015ftirmeye olanak tan\u0131r. Angular 2 (o zamanki ad\u0131yla) \u00fczerine in\u015fa edilmi\u015f olmas\u0131, bile\u015fen tabanl\u0131 bir mimari ve g\u00fc\u00e7l\u00fc veri ba\u011flama yetenekleri sunar. Uygulamalar\u0131n farkl\u0131 platformlarda (iOS, Android, PWA) tutarl\u0131 bir g\u00f6r\u00fcn\u00fcm ve his sunmas\u0131 i\u00e7in Ionic&#8217;in kendi UI bile\u015fen k\u00fct\u00fcphanesi ve bu bile\u015fenleri d\u00fczenlemek i\u00e7in kullan\u0131lan \u0131zgara sistemi kritik bir rol oynar. Izgara sistemi, web tasar\u0131m\u0131nda uzun s\u00fcredir kullan\u0131lan bir kavram olup, i\u00e7eri\u011fi sat\u0131r ve s\u00fctunlara ay\u0131rarak d\u00fczenli ve hizal\u0131 bir yap\u0131 olu\u015fturmay\u0131 sa\u011flar. Ionic 2&#8217;deki \u0131zgara sistemi, modern CSS Flexbox modeline dayan\u0131r ve bu sayede geli\u015ftiricilere son derece esnek ve g\u00fc\u00e7l\u00fc layout (d\u00fczen) kontrol\u00fc sunar.<\/p>\n<h3>Ionic Izgara Sisteminin Temel Kavramlar\u0131<\/h3>\n<p>Ionic 2&#8217;nin \u0131zgara sistemi, Bootstrap gibi pop\u00fcler \u00e7er\u00e7evelerden a\u015fina oldu\u011fumuz 12 s\u00fctunlu bir yap\u0131ya sahiptir. Bu sistem, i\u00e7eri\u011fi belirli bir oranda b\u00f6lerek farkl\u0131 ekran boyutlar\u0131na uyum sa\u011flayacak \u015fekilde d\u00fczenlememizi kolayla\u015ft\u0131r\u0131r. Izgara sistemi \u00fc\u00e7 ana bile\u015fenden olu\u015fur:<\/p>\n<p>1.  <strong><code>ion-grid<\/code><\/strong>: T\u00fcm \u0131zgara yap\u0131s\u0131n\u0131 kapsayan ana konteynerdir. \u0130\u00e7eri\u011fi merkezler ve belirli bir maksimum geni\u015fli\u011fe sahip olabilir. Uygulaman\u0131z\u0131n ana d\u00fczenini olu\u015ftururken bu etiketi kullan\u0131rs\u0131n\u0131z. Varsay\u0131lan olarak, <code>ion-grid<\/code> ak\u0131\u015fkan (fluid) bir geni\u015fli\u011fe sahiptir, yani ekran\u0131n tamam\u0131n\u0131 kaplar. <code>fixed<\/code> \u00f6zniteli\u011fi ile sabit geni\u015flikli bir \u0131zgara da olu\u015fturulabilir, ancak mobil odakl\u0131 uygulamalarda genellikle ak\u0131\u015fkan tasar\u0131m tercih edilir.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n      <!-- Izgara i\u00e7eri\u011fi buraya gelecek -->\n    <\/ion-grid><\/code><\/pre>\n<p>2.  <strong><code>ion-row<\/code><\/strong>: <code>ion-grid<\/code> i\u00e7inde yer alan sat\u0131rlard\u0131r. Her <code>ion-row<\/code> etiketi, bir sat\u0131r\u0131 temsil eder ve bu sat\u0131r\u0131n i\u00e7ine s\u00fctunlar yerle\u015ftirilir. Flexbox mant\u0131\u011f\u0131na g\u00f6re, bir sat\u0131r i\u00e7indeki s\u00fctunlar yatay olarak hizalan\u0131r.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n      <ion-row>\n        <!-- S\u00fctunlar buraya gelecek -->\n      <\/ion-row>\n    <\/ion-grid><\/code><\/pre>\n<p>3.  <strong><code>ion-col<\/code><\/strong>: <code>ion-row<\/code> i\u00e7inde yer alan s\u00fctunlard\u0131r. <code>ion-col<\/code> etiketleri, i\u00e7eri\u011finizi bar\u0131nd\u0131ran ger\u00e7ek &#8220;kutucuklard\u0131r&#8221;. Bir <code>ion-row<\/code> i\u00e7inde birden fazla <code>ion-col<\/code> bulunabilir ve bu s\u00fctunlar\u0131n geni\u015fli\u011fi, 12 birimlik \u0131zgara sistemi i\u00e7inde belirlenir.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n      <ion-row>\n        <ion-col>S\u00fctun 1<\/ion-col>\n        <ion-col>S\u00fctun 2<\/ion-col>\n        <ion-col>S\u00fctun 3<\/ion-col>\n      <\/ion-row>\n    <\/ion-grid><\/code><\/pre>\n<p>Bu \u00fc\u00e7 temel bile\u015fen, Ionic 2&#8217;deki herhangi bir duyarl\u0131 d\u00fczenin yap\u0131 ta\u015flar\u0131n\u0131 olu\u015fturur. Flexbox&#8217;\u0131n g\u00fcc\u00fcn\u00fc kullanarak, bu bile\u015fenler sayesinde i\u00e7eri\u011fi kolayca boyutland\u0131rabilir, hizalayabilir ve s\u0131ralayabilirsiniz.<\/p>\n<h3>Izgara Yap\u0131s\u0131 ve Kullan\u0131m\u0131<\/h3>\n<p>Ionic 2&#8217;nin \u0131zgara sistemi, i\u00e7eri\u011fi d\u00fczenlemek i\u00e7in \u00e7e\u015fitli \u00f6znitelikler ve s\u0131n\u0131flar sunar. Bu \u00f6znitelikler sayesinde s\u00fctunlar\u0131n geni\u015fli\u011fini, hizalamas\u0131n\u0131, s\u0131ralamas\u0131n\u0131 ve farkl\u0131 ekran boyutlar\u0131na nas\u0131l tepki verece\u011fini kontrol edebiliriz.<\/p>\n<h4>Temel Bir Izgara Olu\u015fturma<\/h4>\n<p>En basit haliyle, bir \u0131zgara olu\u015fturmak sadece <code>ion-grid<\/code>, <code>ion-row<\/code> ve <code>ion-col<\/code> etiketlerini kullanmaktan ibarettir. E\u011fer <code>ion-col<\/code> etiketlerine herhangi bir boyutland\u0131rma \u00f6zniteli\u011fi vermezseniz, bunlar varsay\u0131lan olarak e\u015fit geni\u015flikte da\u011f\u0131l\u0131rlar.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n  <ion-row>\n    <ion-col>\n      <div class=\"kutu\">1\/3 Geni\u015flik<\/div>\n    <\/ion-col>\n    <ion-col>\n      <div class=\"kutu\">1\/3 Geni\u015flik<\/div>\n    <\/ion-col>\n    <ion-col>\n      <div class=\"kutu\">1\/3 Geni\u015flik<\/div>\n    <\/ion-col>\n  <\/ion-row>\n<\/ion-grid><\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte, her biri ekran\u0131n yakla\u015f\u0131k \u00fc\u00e7te birini kaplayan \u00fc\u00e7 e\u015fit geni\u015flikte s\u00fctun elde edersiniz.<\/p>\n<h4>S\u00fctun Boyutland\u0131rma<\/h4>\n<p>Ionic \u0131zgara sistemi, s\u00fctunlara belirli geni\u015flikler ataman\u0131za olanak tan\u0131r. Bu, 12 birimlik \u0131zgara sistemini kullanarak yap\u0131l\u0131r. Yani, bir sat\u0131r i\u00e7indeki s\u00fctunlar\u0131n toplam geni\u015fli\u011fi 12&#8217;yi ge\u00e7memelidir.<\/p>\n<p>*   <strong>Otomatik Boyutland\u0131rma<\/strong>: Daha \u00f6nce g\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, <code>ion-col<\/code> etiketi tek ba\u015f\u0131na kullan\u0131ld\u0131\u011f\u0131nda, mevcut bo\u015flu\u011fu e\u015fit olarak payla\u015f\u0131r.<\/p>\n<p>*   <strong>Belirli Geni\u015flikler<\/strong>: Bir s\u00fctuna belirli bir geni\u015flik atamak i\u00e7in <code>col-N<\/code> \u00f6zniteli\u011fini kullan\u0131r\u0131z, burada <code>N<\/code> 1 ile 12 aras\u0131nda bir say\u0131d\u0131r.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n      <ion-row>\n        <ion-col col-4>\n          <div class=\"kutu\">4 Birim<\/div>\n        <\/ion-col>\n        <ion-col col-8>\n          <div class=\"kutu\">8 Birim<\/div>\n        <\/ion-col>\n      <\/ion-row>\n      <ion-row>\n        <ion-col col-2>\n          <div class=\"kutu\">2 Birim<\/div>\n        <\/ion-col>\n        <ion-col col-5>\n          <div class=\"kutu\">5 Birim<\/div>\n        <\/ion-col>\n        <ion-col col-5>\n          <div class=\"kutu\">5 Birim<\/div>\n        <\/ion-col>\n      <\/ion-row>\n    <\/ion-grid><\/code><\/pre>\n<p>    Bu \u00f6rnekte, ilk sat\u0131rda 4 ve 8 birim geni\u015fli\u011finde iki s\u00fctun, ikinci sat\u0131rda ise 2, 5 ve 5 birim geni\u015fli\u011finde \u00fc\u00e7 s\u00fctun bulunmaktad\u0131r. Her sat\u0131r\u0131n toplam geni\u015fli\u011fi 12 birimi ge\u00e7mez.<\/p>\n<p>*   <strong>Duyarl\u0131 Boyutland\u0131rma (Responsive Sizing)<\/strong>: Mobil uygulamalar farkl\u0131 ekran boyutlar\u0131nda (telefonlar, tabletler) iyi g\u00f6r\u00fcnmelidir. Ionic \u0131zgara sistemi, belirli ekran boyutlar\u0131 i\u00e7in farkl\u0131 s\u00fctun geni\u015flikleri tan\u0131mlaman\u0131za olanak tan\u0131yan duyarl\u0131 \u00f6znitelikler sunar. Bu \u00f6znitelikler, k\u00fc\u00e7\u00fck (<code>sm<\/code>), orta (<code>md<\/code>), b\u00fcy\u00fck (<code>lg<\/code>) ve ekstra b\u00fcy\u00fck (<code>xl<\/code>) ekran boyutlar\u0131 i\u00e7in mevcuttur.<\/p>\n<p>    *   <code>col-sm-N<\/code>: K\u00fc\u00e7\u00fck ekranlar (576px ve \u00fczeri) i\u00e7in.<br \/>\n    *   <code>col-md-N<\/code>: Orta ekranlar (768px ve \u00fczeri) i\u00e7in.<br \/>\n    *   <code>col-lg-N<\/code>: B\u00fcy\u00fck ekranlar (992px ve \u00fczeri) i\u00e7in.<br \/>\n    *   <code>col-xl-N<\/code>: Ekstra b\u00fcy\u00fck ekranlar (1200px ve \u00fczeri) i\u00e7in.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n      <ion-row>\n        <ion-col col-12 col-sm-6 col-md-4 col-lg-3>\n          <div class=\"kutu\">Duyarl\u0131 S\u00fctun<\/div>\n        <\/ion-col>\n        <ion-col col-12 col-sm-6 col-md-4 col-lg-3>\n          <div class=\"kutu\">Duyarl\u0131 S\u00fctun<\/div>\n        <\/ion-col>\n        <ion-col col-12 col-sm-6 col-md-4 col-lg-3>\n          <div class=\"kutu\">Duyarl\u0131 S\u00fctun<\/div>\n        <\/ion-col>\n        <ion-col col-12 col-sm-6 col-md-4 col-lg-3>\n          <div class=\"kutu\">Duyarl\u0131 S\u00fctun<\/div>\n        <\/ion-col>\n      <\/ion-row>\n    <\/ion-grid><\/code><\/pre>\n<p>    Bu \u00f6rnekte, en k\u00fc\u00e7\u00fck ekranlarda her s\u00fctun tam geni\u015fli\u011fi (<code>col-12<\/code>) kaplar. Ekran boyutu k\u00fc\u00e7\u00fcklere (<code>sm<\/code>) ula\u015ft\u0131\u011f\u0131nda her s\u00fctun yar\u0131m geni\u015fli\u011fi (<code>col-sm-6<\/code>) kaplar. Orta (<code>md<\/code>) ekranlarda \u00fc\u00e7te birini (<code>col-md-4<\/code>), b\u00fcy\u00fck (<code>lg<\/code>) ekranlarda ise d\u00f6rtte birini (<code>col-lg-3<\/code>) kaplar. Bu, uygulaman\u0131z\u0131n farkl\u0131 cihazlarda otomatik olarak farkl\u0131 d\u00fczenlere sahip olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>S\u00fctun Offset&#8217;leri (Column Offsets)<\/h4>\n<p>Bazen bir s\u00fctunu sa\u011fa do\u011fru itmek isteyebilirsiniz. Bunun i\u00e7in <code>offset-N<\/code> \u00f6zniteli\u011fini kullan\u0131r\u0131z. Bu, s\u00fctunun sol taraf\u0131na belirli bir miktarda bo\u015fluk ekler. T\u0131pk\u0131 s\u00fctun boyutland\u0131rmada oldu\u011fu gibi, duyarl\u0131 offset&#8217;ler de mevcuttur: <code>offset-sm-N<\/code>, <code>offset-md-N<\/code>, vb.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n  <ion-row>\n    <ion-col col-4 offset-4>\n      <div class=\"kutu\">Ortalanm\u0131\u015f S\u00fctun<\/div>\n    <\/ion-col>\n  <\/ion-row>\n  <ion-row>\n    <ion-col col-3 offset-md-6>\n      <div class=\"kutu\">Orta Ekranlarda Sa\u011fa Kayd\u0131r<\/div>\n    <\/ion-col>\n  <\/ion-row>\n<\/ion-grid><\/code><\/pre>\n<p>\u0130lk sat\u0131rda 4 birim geni\u015fli\u011findeki s\u00fctun, solundan 4 birim bo\u015fluk b\u0131rak\u0131larak ortalanm\u0131\u015f gibi g\u00f6r\u00fcn\u00fcr (toplamda 4 bo\u015fluk + 4 s\u00fctun + 4 bo\u015fluk = 12). \u0130kinci sat\u0131rda, k\u00fc\u00e7\u00fck ekranlarda normal bir s\u00fctun iken, orta ekranlarda 6 birim sa\u011fa kayd\u0131r\u0131l\u0131r.<\/p>\n<h4>S\u00fctun S\u0131ralamas\u0131 (Column Ordering)<\/h4>\n<p>Flexbox&#8217;\u0131n bir ba\u015fka g\u00fc\u00e7l\u00fc \u00f6zelli\u011fi de s\u00fctunlar\u0131n HTML&#8217;deki s\u0131ras\u0131ndan ba\u011f\u0131ms\u0131z olarak g\u00f6rsel olarak yeniden d\u00fczenlenebilmesidir. <code>order-N<\/code> \u00f6zniteli\u011fi, s\u00fctunlar\u0131n s\u0131ralamas\u0131n\u0131 kontrol etmenizi sa\u011flar. Daha d\u00fc\u015f\u00fck <code>order<\/code> de\u011ferine sahip s\u00fctunlar daha \u00f6nce g\u00f6r\u00fcn\u00fcr. Ayr\u0131ca <code>order-first<\/code> ve <code>order-last<\/code> \u00f6znitelikleri de mevcuttur. Duyarl\u0131 s\u0131ralama i\u00e7in <code>order-sm-N<\/code>, <code>order-md-N<\/code> gibi \u00f6znitelikler kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n  <ion-row>\n    <ion-col col-4 order-last>\n      <div class=\"kutu\">Sonuncu G\u00f6r\u00fcn\u00fcr<\/div>\n    <\/ion-col>\n    <ion-col col-4>\n      <div class=\"kutu\">\u0130kinci G\u00f6r\u00fcn\u00fcr<\/div>\n    <\/ion-col>\n    <ion-col col-4 order-first>\n      <div class=\"kutu\">\u0130lk G\u00f6r\u00fcn\u00fcr<\/div>\n    <\/ion-col>\n  <\/ion-row>\n<\/ion-grid><\/code><\/pre>\n<p>Bu \u00f6rnekte, &#8220;\u0130lk G\u00f6r\u00fcn\u00fcr&#8221; etiketi ta\u015f\u0131yan s\u00fctun HTML&#8217;de \u00fc\u00e7\u00fcnc\u00fc s\u0131rada olmas\u0131na ra\u011fmen, <code>order-first<\/code> sayesinde g\u00f6rsel olarak ilk s\u0131rada yer al\u0131r. &#8220;Sonuncu G\u00f6r\u00fcn\u00fcr&#8221; ise <code>order-last<\/code> sayesinde en sona gider.<\/p>\n<h4>S\u00fctun Hizalama (Column Alignment)<\/h4>\n<p>Ionic \u0131zgara sistemi, Flexbox&#8217;\u0131n hizalama \u00f6zelliklerini kullanarak hem dikey hem de yatay y\u00f6nde s\u00fctunlar\u0131 ve i\u00e7eriklerini hizalaman\u0131za olanak tan\u0131r.<\/p>\n<p>*   <strong>Dikey Hizalama (Vertical Alignment)<\/strong>: <code>ion-row<\/code> etiketine uygulanan s\u0131n\u0131flarla, bir sat\u0131r i\u00e7indeki s\u00fctunlar\u0131n dikey olarak nas\u0131l hizalanaca\u011f\u0131n\u0131 kontrol edersiniz.<br \/>\n    *   <code>align-items-start<\/code>: S\u00fctunlar\u0131 sat\u0131r\u0131n \u00fcst\u00fcne hizalar.<br \/>\n    *   <code>align-items-center<\/code>: S\u00fctunlar\u0131 sat\u0131r\u0131n ortas\u0131na hizalar.<br \/>\n    *   <code>align-items-end<\/code>: S\u00fctunlar\u0131 sat\u0131r\u0131n alt\u0131na hizalar.<\/p>\n<p>    Tek bir s\u00fctunu dikey olarak hizalamak i\u00e7in <code>align-self-start<\/code>, <code>align-self-center<\/code>, <code>align-self-end<\/code> \u00f6zniteliklerini kullanabilirsiniz.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n      <ion-row align-items-center style=\"height: 100px; border: 1px solid #ccc;\">\n        <ion-col col-4>\n          <div class=\"kutu\">\u00dcstte<\/div>\n        <\/ion-col>\n        <ion-col col-4>\n          <div class=\"kutu\" style=\"height: 70px;\">Ortada<\/div>\n        <\/ion-col>\n        <ion-col col-4 align-self-end>\n          <div class=\"kutu\">Altta<\/div>\n        <\/ion-col>\n      <\/ion-row>\n    <\/ion-grid><\/code><\/pre>\n<p>    Bu \u00f6rnekte, sat\u0131r\u0131n y\u00fcksekli\u011fi sabitlenmi\u015f olup, t\u00fcm s\u00fctunlar varsay\u0131lan olarak dikeyde ortalanm\u0131\u015ft\u0131r (<code>align-items-center<\/code>). Ancak son s\u00fctun <code>align-self-end<\/code> ile \u00f6zel olarak alta hizalanm\u0131\u015ft\u0131r.<\/p>\n<p>*   <strong>Yatay Hizalama (Horizontal Alignment)<\/strong>: <code>ion-row<\/code> etiketine uygulanan s\u0131n\u0131flarla, bir sat\u0131r i\u00e7indeki s\u00fctunlar\u0131n yatay olarak nas\u0131l da\u011f\u0131t\u0131laca\u011f\u0131n\u0131 kontrol edersiniz.<br \/>\n    *   <code>justify-content-start<\/code>: S\u00fctunlar\u0131 sat\u0131r\u0131n ba\u015f\u0131na hizalar (varsay\u0131lan).<br \/>\n    *   <code>justify-content-center<\/code>: S\u00fctunlar\u0131 sat\u0131r\u0131n ortas\u0131na hizalar.<br \/>\n    *   <code>justify-content-end<\/code>: S\u00fctunlar\u0131 sat\u0131r\u0131n sonuna hizalar.<br \/>\n    *   <code>justify-content-around<\/code>: S\u00fctunlar aras\u0131nda e\u015fit bo\u015fluk b\u0131rak\u0131r, kenarlarda yar\u0131m bo\u015fluk.<br \/>\n    *   <code>justify-content-between<\/code>: S\u00fctunlar aras\u0131nda e\u015fit bo\u015fluk b\u0131rak\u0131r, kenarlarda bo\u015fluk b\u0131rakmaz.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n      <ion-row justify-content-center>\n        <ion-col col-3><div class=\"kutu\">1<\/div><\/ion-col>\n        <ion-col col-3><div class=\"kutu\">2<\/div><\/ion-col>\n      <\/ion-row>\n      <ion-row justify-content-between>\n        <ion-col col-3><div class=\"kutu\">A<\/div><\/ion-col>\n        <ion-col col-3><div class=\"kutu\">B<\/div><\/ion-col>\n      <\/ion-row>\n    <\/ion-grid><\/code><\/pre>\n<p>    \u0130lk sat\u0131rda, iki s\u00fctun yatay olarak ortalanm\u0131\u015ft\u0131r. \u0130kinci sat\u0131rda ise, iki s\u00fctun sat\u0131r\u0131n en ba\u015f\u0131na ve en sonuna yerle\u015fmi\u015f, aralar\u0131ndaki bo\u015fluk e\u015fit olarak da\u011f\u0131t\u0131lm\u0131\u015ft\u0131r.<\/p>\n<h4>S\u00fctun Sarma (Column Wrapping)<\/h4>\n<p>E\u011fer bir <code>ion-row<\/code> i\u00e7indeki <code>ion-col<\/code> etiketlerinin toplam geni\u015fli\u011fi 12 birimi a\u015farsa, a\u015fan s\u00fctunlar otomatik olarak bir sonraki sat\u0131ra sar\u0131l\u0131r. Bu, \u00f6zellikle k\u00fc\u00e7\u00fck ekranlarda i\u00e7eri\u011fin ta\u015fmas\u0131n\u0131 \u00f6nlemek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n  <ion-row>\n    <ion-col col-8><div class=\"kutu\">S\u00fctun 1 (8 birim)<\/div><\/ion-col>\n    <ion-col col-6><div class=\"kutu\">S\u00fctun 2 (6 birim) - Sar\u0131lacak<\/div><\/ion-col>\n  <\/ion-row>\n<\/ion-grid><\/code><\/pre>\n<p>Bu \u00f6rnekte, ilk s\u00fctun 8 birim geni\u015fli\u011finde, ikinci s\u00fctun ise 6 birim geni\u015fli\u011findedir. Toplamda 14 birim oldu\u011fu i\u00e7in, ikinci s\u00fctun otomatik olarak bir alt sat\u0131ra ge\u00e7er.<\/p>\n<h3>Geli\u015fmi\u015f Kullan\u0131m Senaryolar\u0131<\/h3>\n<p>Ionic \u0131zgara sistemi sadece basit d\u00fczenler olu\u015fturmakla kalmaz, ayn\u0131 zamanda daha karma\u015f\u0131k ve i\u00e7 i\u00e7e ge\u00e7mi\u015f yap\u0131lar i\u00e7in de g\u00fc\u00e7l\u00fc bir temel sunar.<\/p>\n<h4>\u0130\u00e7 \u0130\u00e7e Izgaralar (Nested Grids)<\/h4>\n<p>Bir <code>ion-col<\/code> etiketi i\u00e7ine ba\u015fka bir <code>ion-grid<\/code> yerle\u015ftirerek i\u00e7 i\u00e7e \u0131zgaralar olu\u015fturabilirsiniz. Bu, daha karma\u015f\u0131k bile\u015fenlerin veya b\u00f6l\u00fcmlerin kendi i\u00e7lerinde duyarl\u0131 bir d\u00fczene sahip olmas\u0131n\u0131 sa\u011flar. \u0130\u00e7 i\u00e7e \u0131zgaralar, ana \u0131zgaradan ba\u011f\u0131ms\u0131z olarak kendi 12 s\u00fctunlu sistemlerine sahiptir.<\/p>\n<pre><code class=\"language-html\"><ion-grid>\n  <ion-row>\n    <ion-col col-6>\n      <div class=\"kutu\">Ana S\u00fctun 1 (6 birim)<\/div>\n      <ion-grid> <!-- \u0130\u00e7 i\u00e7e \u0131zgara -->\n        <ion-row>\n          <ion-col col-6>\n            <div class=\"kutu ic-kutu\">\u0130\u00e7 S\u00fctun A (6 birim)<\/div>\n          <\/ion-col>\n          <ion-col col-6>\n            <div class=\"kutu ic-kutu\">\u0130\u00e7 S\u00fctun B (6 birim)<\/div>\n          <\/ion-col>\n        <\/ion-row>\n      <\/ion-grid>\n    <\/ion-col>\n    <ion-col col-6>\n      <div class=\"kutu\">Ana S\u00fctun 2 (6 birim)<\/div>\n    <\/ion-col>\n  <\/ion-row>\n<\/ion-grid><\/code><\/pre>\n<p>Bu \u00f6rnekte, ilk ana s\u00fctun kendi i\u00e7inde 6 birimlik iki s\u00fctuna ayr\u0131lm\u0131\u015ft\u0131r. \u0130\u00e7 \u0131zgaran\u0131n s\u00fctunlar\u0131, d\u0131\u015f \u0131zgaran\u0131n s\u00fctun geni\u015fli\u011fine g\u00f6re de\u011fil, kendi i\u00e7 \u0131zgaras\u0131n\u0131n 12 birimlik sistemine g\u00f6re boyutlan\u0131r.<\/p>\n<h4>Sabit Geni\u015flikli Izgara (Fixed Width Grid)<\/h4>\n<p>Varsay\u0131lan olarak, <code>ion-grid<\/code> etiketi ekran\u0131n t\u00fcm geni\u015fli\u011fini kaplar (fluid). Ancak, baz\u0131 durumlarda daha geleneksel bir &#8220;kapsay\u0131c\u0131&#8221; (container) mant\u0131\u011f\u0131yla \u00e7al\u0131\u015fmak isteyebilirsiniz. <code>fixed<\/code> \u00f6zniteli\u011fini kullanarak <code>ion-grid<\/code>&#8216;i belirli bir maksimum geni\u015fli\u011fe sahip sabit bir \u0131zgaraya d\u00f6n\u00fc\u015ft\u00fcrebilirsiniz.<\/p>\n<pre><code class=\"language-html\"><ion-grid fixed>\n  <ion-row>\n    <ion-col>\n      <div class=\"kutu\">Sabit Geni\u015flikli Izgara \u0130\u00e7eri\u011fi<\/div>\n    <\/ion-col>\n  <\/ion-row>\n<\/ion-grid><\/code><\/pre>\n<p><code>fixed<\/code> \u00f6zniteli\u011fi eklendi\u011finde, <code>ion-grid<\/code> belirli ekran boyutlar\u0131nda (breakpoint&#8217;lerde) maksimum geni\u015fliklere ula\u015f\u0131r (\u00f6rne\u011fin, 720px, 960px, 1140px gibi). Bu, \u00f6zellikle tablet veya masa\u00fcst\u00fc modunda daha kontroll\u00fc bir d\u00fczen sa\u011flamak istedi\u011finizde kullan\u0131\u015fl\u0131 olabilir.<\/p>\n<h4>Bo\u015fluklar ve Dolgular (Gutters and Padding)<\/h4>\n<p>Ionic \u0131zgara sistemi, s\u00fctunlar aras\u0131nda varsay\u0131lan olarak k\u00fc\u00e7\u00fck bir bo\u015fluk (gutter) b\u0131rak\u0131r. Bu bo\u015fluklar, i\u00e7eri\u011fin birbirine yap\u0131\u015fmas\u0131n\u0131 \u00f6nleyerek daha okunabilir ve estetik bir d\u00fczen sa\u011flar. Bu bo\u015fluklar genellikle <code>ion-col<\/code> etiketlerine uygulanan dahili padding ile sa\u011flan\u0131r. Genellikle bu varsay\u0131lan bo\u015fluklar\u0131 de\u011fi\u015ftirmeye gerek yoktur, ancak \u00f6zel durumlarda CSS ile <code>ion-col<\/code> \u00f6\u011felerinin padding de\u011ferlerini override edebilirsiniz. Ancak bu, \u0131zgara sisteminin genel uyumunu bozabilir, bu y\u00fczden dikkatli kullan\u0131lmal\u0131d\u0131r.<\/p>\n<h3>Pratik \u00d6rnekler<\/h3>\n<p>\u015eimdiye kadar \u00f6\u011frendiklerimizi ger\u00e7ek d\u00fcnya senaryolar\u0131na uygulayarak peki\u015ftirelim.<\/p>\n<h4>Basit Bir \u00dcr\u00fcn Listesi Layout&#8217;u<\/h4>\n<p>Bir e-ticaret uygulamas\u0131nda \u00fcr\u00fcnleri g\u00f6stermek i\u00e7in duyarl\u0131 bir \u0131zgara kullanabiliriz.<\/p>\n<pre><code class=\"language-html\"><ion-header>\n  <ion-navbar>\n    <ion-title>\u00dcr\u00fcnler<\/ion-title>\n  <\/ion-navbar>\n<\/ion-header>\n\n<ion-content padding>\n  <ion-grid>\n    <ion-row wrap>\n      <ion-col col-6 col-md-4 col-lg-3 *ngFor=\"let product of products\">\n        <ion-card>\n          <img [src]=\"product.imageUrl\" alt=\"{{ product.name }}\">\n          <ion-card-content>\n            <ion-card-title>\n              {{ product.name }}\n            <\/ion-card-title>\n            <p>{{ product.price | currency:'USD':true:'1.2-2' }}<\/p>\n            <button ion-button small full>Sepete Ekle<\/button>\n          <\/ion-card-content>\n        <\/ion-card>\n      <\/ion-col>\n    <\/ion-row>\n  <\/ion-grid>\n<\/ion-content><\/code><\/pre>\n<p>Bu \u00f6rnekte:<br \/>\n*   <code>ion-grid<\/code> ve <code>ion-row<\/code> ana konteynerleri olu\u015fturur.<br \/>\n*   <code>wrap<\/code> \u00f6zniteli\u011fi, s\u00fctunlar\u0131n s\u0131\u011fmad\u0131\u011f\u0131nda otomatik olarak bir sonraki sat\u0131ra ge\u00e7mesini sa\u011flar (bu Flexbox&#8217;\u0131n varsay\u0131lan davran\u0131\u015f\u0131d\u0131r, ancak bazen a\u00e7\u0131k\u00e7a belirtmek faydal\u0131 olabilir).<br \/>\n<em>   <code><\/em>ngFor<\/code> ile \u00fcr\u00fcnler listelenir.<br \/>\n*   Her <code>ion-col<\/code> etiketi, en k\u00fc\u00e7\u00fck ekranlarda 6 birim (yani iki s\u00fctun), orta ekranlarda 4 birim (\u00fc\u00e7 s\u00fctun) ve b\u00fcy\u00fck ekranlarda 3 birim (d\u00f6rt s\u00fctun) geni\u015fli\u011fe sahiptir. Bu, ekran boyutuna g\u00f6re \u00fcr\u00fcn kartlar\u0131n\u0131n say\u0131s\u0131n\u0131 otomatik olarak ayarlar.<br \/>\n*   Her s\u00fctun bir <code>ion-card<\/code> i\u00e7erir, bu da bir \u00fcr\u00fcn\u00fcn g\u00f6rselini, ad\u0131n\u0131 ve fiyat\u0131n\u0131 g\u00f6sterir.<\/p>\n<h4>Bir Profil Sayfas\u0131 Layout&#8217;u<\/h4>\n<p>Kullan\u0131c\u0131 profil bilgilerini d\u00fczenli bir \u015fekilde g\u00f6stermek i\u00e7in \u0131zgara sistemini kullanabiliriz.<\/p>\n<pre><code class=\"language-html\"><ion-header>\n  <ion-navbar>\n    <ion-title>Profilim<\/ion-title>\n  <\/ion-navbar>\n<\/ion-header>\n\n<ion-content padding>\n  <ion-grid>\n    <ion-row justify-content-center>\n      <ion-col col-12 col-md-8 col-lg-6>\n        <ion-card>\n          <ion-card-header>\n            Profil Bilgileri\n          <\/ion-card-header>\n          <ion-card-content>\n            <ion-list>\n              <ion-item>\n                <ion-icon name=\"person\" item-start><\/ion-icon>\n                <ion-label>Ad Soyad<\/ion-label>\n                <ion-input type=\"text\" value=\"John Doe\"><\/ion-input>\n              <\/ion-item>\n              <ion-item>\n                <ion-icon name=\"mail\" item-start><\/ion-icon>\n                <ion-label>E-posta<\/ion-label>\n                <ion-input type=\"email\" value=\"john.doe@example.com\"><\/ion-input>\n              <\/ion-item>\n              <ion-item>\n                <ion-icon name=\"call\" item-start><\/ion-icon>\n                <ion-label>Telefon<\/ion-label>\n                <ion-input type=\"tel\" value=\"+90 555 123 4567\"><\/ion-input>\n              <\/ion-item>\n            <\/ion-list>\n            <button ion-button full margin-top>Kaydet<\/button>\n          <\/ion-card-content>\n        <\/ion-card>\n\n        <ion-card margin-top>\n          <ion-card-header>\n            Adres Bilgileri\n          <\/ion-card-header>\n          <ion-card-content>\n            <ion-grid>\n              <ion-row>\n                <ion-col col-12 col-sm-6>\n                  <ion-item>\n                    <ion-label floating>Adres Sat\u0131r\u0131 1<\/ion-label>\n                    <ion-input type=\"text\" value=\"\u00d6rnek Sok. No: 1\"><\/ion-input>\n                  <\/ion-item>\n                <\/ion-col>\n                <ion-col col-12 col-sm-6>\n                  <ion-item>\n                    <ion-label floating>Adres Sat\u0131r\u0131 2<\/ion-label>\n                    <ion-input type=\"text\" value=\"\u00d6rnek Mah.\"><\/ion-input>\n                  <\/ion-item>\n                <\/ion-col>\n                <ion-col col-12 col-sm-6>\n                  <ion-item>\n                    <ion-label floating>\u015eehir<\/ion-label>\n                    <ion-input type=\"text\" value=\"\u0130stanbul\"><\/ion-input>\n                  <\/ion-item>\n                <\/ion-col>\n                <ion-col col-12 col-sm-6>\n                  <ion-item>\n                    <ion-label floating>Posta Kodu<\/ion-label>\n                    <ion-input type=\"text\" value=\"34000\"><\/ion-input>\n                  <\/ion-item>\n                <\/ion-col>\n              <\/ion-row>\n            <\/ion-grid>\n            <button ion-button full margin-top>Adresi G\u00fcncelle<\/button>\n          <\/ion-card-content>\n        <\/ion-card>\n      <\/ion-col>\n    <\/ion-row>\n  <\/ion-grid>\n<\/ion-content><\/code><\/pre>\n<p>Bu \u00f6rnekte:<br \/>\n*   Ana <code>ion-col<\/code> (profil kartlar\u0131n\u0131 i\u00e7eren) <code>justify-content-center<\/code> ile sayfada ortalanm\u0131\u015ft\u0131r ve farkl\u0131 ekran boyutlar\u0131na g\u00f6re geni\u015fli\u011fi ayarlanm\u0131\u015ft\u0131r.<br \/>\n*   &#8220;Adres Bilgileri&#8221; kart\u0131n\u0131n i\u00e7inde, adres alanlar\u0131 i\u00e7in i\u00e7 i\u00e7e bir <code>ion-grid<\/code> kullan\u0131lm\u0131\u015ft\u0131r. Bu i\u00e7 \u0131zgara, k\u00fc\u00e7\u00fck ekranlarda her alan\u0131 tam geni\u015flikte g\u00f6sterirken, k\u00fc\u00e7\u00fck (<code>sm<\/code>) ekranlardan itibaren her sat\u0131rda iki alan\u0131 yan yana (<code>col-sm-6<\/code>) g\u00f6sterir. Bu, form d\u00fczenlerinde olduk\u00e7a yayg\u0131n bir kullan\u0131md\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Yap\u0131lan Hatalar ve \u0130pu\u00e7lar\u0131<\/h3>\n<p>Ionic \u0131zgara sistemini kullan\u0131rken baz\u0131 yayg\u0131n hatalardan ka\u00e7\u0131nmak ve en iyi uygulamalar\u0131 takip etmek, daha sa\u011flam ve bak\u0131m\u0131 kolay kod yazman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p>1.  <strong>Hiyerar\u015fiyi Do\u011fru Kullan\u0131n<\/strong>: <code>ion-grid<\/code> i\u00e7inde <code>ion-row<\/code>, <code>ion-row<\/code> i\u00e7inde <code>ion-col<\/code> hiyerar\u015fisine kesinlikle uyun. <code>ion-col<\/code> etiketini do\u011frudan <code>ion-grid<\/code> i\u00e7ine veya <code>ion-row<\/code> d\u0131\u015f\u0131na yerle\u015ftirmek d\u00fczensiz veya hatal\u0131 g\u00f6r\u00fcn\u00fcmlere yol a\u00e7ar.<br \/>\n2.  <strong>12 S\u00fctun Kural\u0131n\u0131 Unutmay\u0131n<\/strong>: Bir <code>ion-row<\/code> i\u00e7indeki <code>ion-col<\/code> etiketlerinin <code>col-N<\/code> de\u011ferlerinin toplam\u0131 12&#8217;yi a\u015fmamal\u0131d\u0131r (sarma davran\u0131\u015f\u0131 d\u0131\u015f\u0131nda). A\u015ft\u0131\u011f\u0131nda s\u00fctunlar bir alt sat\u0131ra ge\u00e7er, bu da bazen istenmeyen bir durum olabilir.<br \/>\n3.  <strong>Duyarl\u0131 Tasar\u0131m \u0130\u00e7in Breakpoint&#8217;leri Do\u011fru Kullan\u0131n<\/strong>: <code>col-sm-N<\/code>, <code>col-md-N<\/code> gibi duyarl\u0131 \u00f6znitelikleri kullanarak uygulaman\u0131z\u0131n farkl\u0131 cihazlarda tutarl\u0131 g\u00f6r\u00fcnmesini sa\u011flay\u0131n. En k\u00fc\u00e7\u00fck ekrandan ba\u015flayarak (\u00f6rne\u011fin <code>col-12<\/code>) ve daha b\u00fcy\u00fck ekranlar i\u00e7in \u00f6zelle\u015ftirmeler ekleyerek ilerlemek iyi bir yakla\u015f\u0131md\u0131r.<br \/>\n4.  <strong>CSS ile Grid&#8217;i Bozmaktan Ka\u00e7\u0131n\u0131n<\/strong>: Ionic&#8217;in \u0131zgara sistemi Flexbox \u00fczerine kuruludur ve varsay\u0131lan CSS kurallar\u0131 ile gelir. <code>ion-col<\/code> veya <code>ion-row<\/code> etiketlerine do\u011frudan <code>width<\/code>, <code>margin<\/code> veya <code>padding<\/code> gibi CSS \u00f6zellikleri uygulamak, \u0131zgara sisteminin beklenen davran\u0131\u015f\u0131n\u0131 bozabilir. Genellikle, i\u00e7eriklerinizi <code>ion-col<\/code> i\u00e7ine yerle\u015ftirdi\u011finiz div&#8217;lere veya bile\u015fenlere stiller uygulaman\u0131z daha g\u00fcvenlidir.<br \/>\n5.  <strong><code>ion-content<\/code> \u0130\u00e7inde Kullan\u0131m<\/strong>: Izgara sistemini genellikle <code>ion-content<\/code> etiketi i\u00e7inde kullanman\u0131z \u00f6nerilir. <code>ion-content<\/code> i\u00e7indeki <code>padding<\/code> \u00f6zniteli\u011fi, i\u00e7eri\u011fin kenarlardan biraz bo\u015fluk b\u0131rakmas\u0131n\u0131 sa\u011flar, bu da \u0131zgaran\u0131n daha iyi g\u00f6r\u00fcnmesine yard\u0131mc\u0131 olur.<br \/>\n6.  <strong>G\u00f6rsel Hata Ay\u0131klama<\/strong>: Geli\u015ftirme s\u0131ras\u0131nda taray\u0131c\u0131n\u0131z\u0131n geli\u015ftirici ara\u00e7lar\u0131n\u0131 (Chrome DevTools, Firefox Developer Tools) kullanarak \u0131zgara \u00f6\u011felerinin boyutlar\u0131n\u0131 ve hizalamalar\u0131n\u0131 kontrol edin. Flexbox konteynerlerini ve \u00f6\u011felerini vurgulamak, sorunlar\u0131 tespit etmede \u00e7ok yard\u0131mc\u0131 olur.<br \/>\n7.  <strong>Basit Ba\u015flay\u0131n, Karma\u015f\u0131kla\u015f\u0131n<\/strong>: Yeni bir d\u00fczen olu\u015ftururken, \u00f6nce temel bir <code>ion-grid<\/code>, <code>ion-row<\/code>, <code>ion-col<\/code> yap\u0131s\u0131 ile ba\u015flay\u0131n. Ard\u0131ndan duyarl\u0131 \u00f6zellikler, hizalamalar ve i\u00e7 i\u00e7e \u0131zgaralar gibi daha karma\u015f\u0131k \u00f6zellikleri ad\u0131m ad\u0131m ekleyin.<\/p>\n<h3>Ionic 2 ve Sonraki S\u00fcr\u00fcmler Aras\u0131ndaki Farklar<\/h3>\n<p>Bu makale \u00f6zellikle Ionic 2&#8217;deki \u0131zgara sistemine odaklanm\u0131\u015ft\u0131r. Ionic&#8217;in sonraki s\u00fcr\u00fcmlerinde (Ionic 3, Ionic 4, Ionic 5 ve \u00f6tesi) \u0131zgara sisteminin temel prensipleri ve etiket isimleri (<code>ion-grid<\/code>, <code>ion-row<\/code>, <code>ion-col<\/code>) b\u00fcy\u00fck \u00f6l\u00e7\u00fcde ayn\u0131 kalm\u0131\u015ft\u0131r. Ancak, Ionic&#8217;in alt\u0131nda yatan Angular s\u00fcr\u00fcm\u00fc veya CSS yap\u0131s\u0131nda yap\u0131lan g\u00fcncellemeler nedeniyle baz\u0131 k\u00fc\u00e7\u00fck davran\u0131\u015f farkl\u0131l\u0131klar\u0131 veya yeni \u00f6zellikler eklenebilir. \u00d6rne\u011fin, Ionic 4 ile birlikte Shadow DOM&#8217;un daha yayg\u0131n kullan\u0131m\u0131, baz\u0131 CSS override tekniklerini etkileyebilir. Yine de, bu makalede anlat\u0131lan temel kavramlar ve kullan\u0131m \u015fekilleri, Ionic&#8217;in t\u00fcm modern s\u00fcr\u00fcmleri i\u00e7in ge\u00e7erlili\u011fini korumaktad\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Ionic 2&#8217;nin \u0131zgara sistemi, duyarl\u0131 ve estetik mobil uygulama aray\u00fczleri olu\u015fturmak i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r. Flexbox&#8217;\u0131n g\u00fcc\u00fcn\u00fc Angular bile\u015fen yap\u0131s\u0131yla birle\u015ftirerek, geli\u015ftiricilere i\u00e7eri\u011fi farkl\u0131 ekran boyutlar\u0131na ve cihaz y\u00f6nelimlerine g\u00f6re kolayca d\u00fczenleme, boyutland\u0131rma ve hizalama yetene\u011fi sunar. <code>ion-grid<\/code>, <code>ion-row<\/code> ve <code>ion-col<\/code> gibi temel etiketleri, boyutland\u0131rma, offset, s\u0131ralama ve hizalama \u00f6zniteliklerini anlayarak, her t\u00fcrl\u00fc karma\u015f\u0131k d\u00fczeni ba\u015far\u0131yla olu\u015fturabilirsiniz. \u0130\u00e7 i\u00e7e \u0131zgaralar ve duyarl\u0131 breakpoint&#8217;ler sayesinde, uygulaman\u0131z\u0131n her zaman en iyi \u015fekilde g\u00f6r\u00fcnmesini sa\u011flayabilirsiniz.<\/p>\n<p>Bu makalede sunulan bilgiler ve \u00f6rnekler, Ionic 2&#8217;de \u0131zgara sistemini etkin bir \u015fekilde kullanman\u0131z i\u00e7in sa\u011flam bir temel olu\u015fturacakt\u0131r. Unutmay\u0131n ki pratik, bu sistemi tam anlam\u0131yla kavraman\u0131n anahtar\u0131d\u0131r. Farkl\u0131 d\u00fczenler deneyerek ve \u00e7e\u015fitli senaryolar\u0131 uygulayarak Ionic&#8217;in \u0131zgara sisteminin t\u00fcm potansiyelini ke\u015ffedebilir ve kullan\u0131c\u0131lar\u0131n\u0131za harika bir deneyim sunan uygulamalar geli\u015ftirebilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"Ionic 2&#8217;de Izgara Sistemini Kullanma\nGiri\u015f\nMobil uygulama geli\u015ftirmenin h\u0131zla b\u00fcy\u00fcyen d\u00fcnyas\u0131nda, kullan\u0131c\u0131 deneyimi (UX) her \u015feyden \u00f6nem","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-36308","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ionic 2&#039;de Izgara Sistemini Kullanma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ionic 2&#039;de Izgara Sistemini Kullanma\" \/>\n<meta property=\"og:description\" content=\"Ionic 2&#039;de Izgara Sistemini Kullanma Giri\u015f Mobil uygulama geli\u015ftirmenin h\u0131zla b\u00fcy\u00fcyen d\u00fcnyas\u0131nda, kullan\u0131c\u0131 deneyimi (UX) her \u015feyden \u00f6nem\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-13T09:40:48+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ionic 2&#8217;de Izgara Sistemini Kullanma\",\"datePublished\":\"2025-12-13T09:40:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/\"},\"wordCount\":2668,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/\",\"name\":\"Ionic 2'de Izgara Sistemini Kullanma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-13T09:40:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ionic 2&#8217;de Izgara Sistemini Kullanma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ionic 2'de Izgara Sistemini Kullanma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/","og_locale":"tr_TR","og_type":"article","og_title":"Ionic 2'de Izgara Sistemini Kullanma","og_description":"Ionic 2'de Izgara Sistemini Kullanma Giri\u015f Mobil uygulama geli\u015ftirmenin h\u0131zla b\u00fcy\u00fcyen d\u00fcnyas\u0131nda, kullan\u0131c\u0131 deneyimi (UX) her \u015feyden \u00f6nem","og_url":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-13T09:40:48+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"14 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ionic 2&#8217;de Izgara Sistemini Kullanma","datePublished":"2025-12-13T09:40:48+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/"},"wordCount":2668,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/","url":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/","name":"Ionic 2'de Izgara Sistemini Kullanma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-13T09:40:48+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ionic-2de-izgara-sistemini-kullanma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ionic 2&#8217;de Izgara Sistemini Kullanma"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36308"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36308\/revisions"}],"predecessor-version":[{"id":36309,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36308\/revisions\/36309"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}