{"id":36557,"date":"2025-12-19T21:41:01","date_gmt":"2025-12-19T18:41:01","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=36557"},"modified":"2025-12-19T21:41:01","modified_gmt":"2025-12-19T18:41:01","slug":"css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/","title":{"rendered":"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type"},"content":{"rendered":"<p><body><\/p>\n<h2>CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type<\/h2>\n<p>Web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olan CSS, bir belgenin g\u00f6rsel sunumunu tan\u0131mlamak i\u00e7in g\u00fc\u00e7l\u00fc mekanizmalar sunar. Bu mekanizmalar aras\u0131nda, belirli elemanlar\u0131 konumlar\u0131na veya durumlar\u0131na g\u00f6re hedeflememizi sa\u011flayan s\u00f6zde s\u0131n\u0131flar (pseudo-classes) \u00f6zel bir yere sahiptir. <code>:hover<\/code>, <code>:focus<\/code>, <code>:first-child<\/code> gibi s\u00f6zde s\u0131n\u0131flar, dinamik ve etkile\u015fimli kullan\u0131c\u0131 aray\u00fczleri olu\u015fturmada vazge\u00e7ilmezdir. Ancak, bir eleman\u0131n bir \u00fcst eleman i\u00e7indeki konumuna g\u00f6re stil uygulamak s\u00f6z konusu oldu\u011funda, iki g\u00fc\u00e7l\u00fc ve s\u0131kl\u0131kla kar\u0131\u015ft\u0131r\u0131lan s\u00f6zde s\u0131n\u0131f devreye girer: <code>nth-child<\/code> ve <code>nth-of-type<\/code>.<\/p>\n<p>Bu iki s\u00f6zde s\u0131n\u0131f, bir eleman grubunun i\u00e7indeki belirli bir eleman\u0131, bir matematiksel form\u00fcl veya anahtar kelime kullanarak hedeflememizi sa\u011flar. Her ikisi de elemanlar\u0131n s\u0131ral\u0131 konumuna dayan\u0131r, ancak bu s\u0131ralamay\u0131 nas\u0131l hesaplad\u0131klar\u0131 ve hangi elemanlar\u0131 dikkate ald\u0131klar\u0131 konusunda temel bir fark vard\u0131r. Bu makale, <code>nth-child<\/code> ve <code>nth-of-type<\/code> aras\u0131ndaki ayr\u0131mlar\u0131 derinlemesine inceleyecek, \u00e7al\u0131\u015fma prensiplerini detayland\u0131racak, pratik kullan\u0131m senaryolar\u0131n\u0131 \u00f6rneklerle a\u00e7\u0131klayacak ve geli\u015ftiricilerin ne zaman hangisini tercih etmeleri gerekti\u011fi konusunda net bir rehber sunacakt\u0131r. Amac\u0131m\u0131z, bu g\u00fc\u00e7l\u00fc CSS ara\u00e7lar\u0131n\u0131 tam olarak anlaman\u0131z\u0131 ve projelerinizde bilin\u00e7li kararlar vermenizi sa\u011flamakt\u0131r.<\/p>\n<h3>Temel Konseptler: CSS S\u00f6zde S\u0131n\u0131flar\u0131<\/h3>\n<p>CSS s\u00f6zde s\u0131n\u0131flar\u0131, bir eleman\u0131n normal durumunu veya konumunu temel alan stil kurallar\u0131 tan\u0131mlamam\u0131za olanak tan\u0131yan anahtar kelimelerdir. Normalde, bir CSS se\u00e7icisi bir eleman\u0131 do\u011frudan s\u0131n\u0131f\u0131na, kimli\u011fine veya etiket ad\u0131na g\u00f6re hedefler. Ancak s\u00f6zde s\u0131n\u0131flar, eleman\u0131n belirli bir durumunu (\u00f6rne\u011fin, \u00fczerine gelindi\u011finde <code>:hover<\/code>), bir \u00fcst eleman i\u00e7indeki konumunu (\u00f6rne\u011fin, ilk \u00e7ocuk <code>:first-child<\/code>) veya belirli bir \u00f6zelli\u011fini (\u00f6rne\u011fin, i\u015faretli bir onay kutusu <code>:checked<\/code>) temel alarak daha dinamik se\u00e7imler yapmam\u0131z\u0131 sa\u011flar.<\/p>\n<p>S\u00f6zde s\u0131n\u0131flar, CSS se\u00e7icilerinin g\u00fcc\u00fcn\u00fc \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. \u00d6rne\u011fin, bir liste \u00f6\u011fesinin \u00fczerine gelindi\u011finde rengini de\u011fi\u015ftirmek i\u00e7in JavaScript kullanmak yerine <code>:hover<\/code> s\u00f6zde s\u0131n\u0131f\u0131n\u0131 kullanabiliriz. Benzer \u015fekilde, bir formdaki ilk giri\u015f alan\u0131n\u0131 \u00f6zel olarak stilize etmek i\u00e7in <code>:first-child<\/code> veya <code>:first-of-type<\/code> gibi yap\u0131sal s\u00f6zde s\u0131n\u0131flar\u0131 kullanabiliriz. Bu, daha temiz, daha s\u00fcrd\u00fcr\u00fclebilir ve daha performansl\u0131 CSS kodlar\u0131 yazmam\u0131z\u0131 sa\u011flar.<\/p>\n<p><code>nth-child<\/code> ve <code>nth-of-type<\/code> da bu yap\u0131sal s\u00f6zde s\u0131n\u0131flar kategorisine girer. Her ikisi de bir eleman\u0131n, bir \u00fcst eleman\u0131n do\u011frudan \u00e7ocuklar\u0131 aras\u0131ndaki s\u0131ras\u0131na g\u00f6re hedeflenmesini sa\u011flar. Bu, \u00f6zellikle tekrarlayan eleman gruplar\u0131 (listeler, tablolar, gridler) \u00fczerinde desenler olu\u015fturmak veya belirli elemanlar\u0131 \u00f6ne \u00e7\u0131karmak istedi\u011fimizde \u00e7ok kullan\u0131\u015fl\u0131d\u0131r. Ancak, bu iki s\u00f6zde s\u0131n\u0131f\u0131n n\u00fcanslar\u0131n\u0131 anlamadan yanl\u0131\u015f se\u00e7imler yapmak, beklenmedik stil sonu\u00e7lar\u0131na yol a\u00e7abilir ve hata ay\u0131klama s\u00fcrecini zorla\u015ft\u0131rabilir.<\/p>\n<h3>nth-child Nedir?<\/h3>\n<p><code>nth-child<\/code> s\u00f6zde s\u0131n\u0131f\u0131, bir \u00fcst eleman\u0131n <em>t\u00fcm<\/em> \u00e7ocuklar\u0131 aras\u0131nda belirli bir konumda bulunan eleman\u0131 se\u00e7mek i\u00e7in kullan\u0131l\u0131r. Se\u00e7im yaparken, \u00fcst eleman\u0131n t\u00fcm \u00e7ocuklar\u0131 say\u0131l\u0131r ve hedef eleman\u0131n s\u0131ras\u0131 bu genel say\u0131ma g\u00f6re belirlenir. Ancak burada \u00f6nemli bir ayr\u0131nt\u0131 vard\u0131r: <code>nth-child<\/code> se\u00e7icisi, belirtilen etiket ad\u0131n\u0131 (veya se\u00e7iciyi) <em>ve<\/em> bu etiketin genel \u00e7ocuk s\u0131ras\u0131ndaki konumunu ayn\u0131 anda do\u011frulamal\u0131d\u0131r.<\/p>\n<h4>S\u00f6zdizimi ve Parametreler<\/h4>\n<p><code>nth-child<\/code> s\u00f6zdizimi \u015fu \u015fekildedir:<\/p>\n<pre><code class=\"language-css\">selector:nth-child(an+b) {\n  \/<em> Stil kurallar\u0131 <\/em>\/\n}<\/code><\/pre>\n<p>*   <code>selector<\/code>: Stil uygulanacak eleman\u0131n etiket ad\u0131, s\u0131n\u0131f\u0131 veya kimli\u011fi olabilir. \u00d6rne\u011fin, <code>li<\/code>, <code>p<\/code>, <code>.item<\/code>.<br \/>\n*   <code>an+b<\/code>: Bir eleman\u0131n \u00fcst eleman\u0131 i\u00e7indeki konumunu belirleyen bir form\u00fcld\u00fcr.<br \/>\n    *   <code>n<\/code>: Her zaman 0&#8217;dan ba\u015flayan bir saya\u00e7t\u0131r (0, 1, 2, 3, &#8230;).<br \/>\n    *   <code>a<\/code>: <code>n<\/code> ile \u00e7arp\u0131lan bir tam say\u0131d\u0131r. Her <code>a<\/code> eleman\u0131nda bir se\u00e7im yap\u0131lmas\u0131n\u0131 sa\u011flar.<br \/>\n    *   <code>b<\/code>: Form\u00fcle eklenen veya \u00e7\u0131kar\u0131lan bir ofset tam say\u0131d\u0131r.<br \/>\n    *   Form\u00fcl\u00fcn sonucu, eleman\u0131n \u00fcst eleman i\u00e7indeki 1&#8217;den ba\u015flayan s\u0131ras\u0131n\u0131 temsil etmelidir.<\/p>\n<p>Yayg\u0131n <code>an+b<\/code> form\u00fclleri ve \u00f6zel anahtar kelimeler:<\/p>\n<p>*   <code>nth-child(1)<\/code>: \u0130lk \u00e7ocuk eleman\u0131 se\u00e7er (ayn\u0131 zamanda <code>:first-child<\/code> ile e\u015fde\u011ferdir).<br \/>\n*   <code>nth-child(2)<\/code>: \u0130kinci \u00e7ocuk eleman\u0131 se\u00e7er.<br \/>\n<em>   <code>nth-child(n)<\/code>: T\u00fcm \u00e7ocuk elemanlar\u0131 se\u00e7er (pratikte <code><\/em><\/code> veya <code>selector<\/code> ile ayn\u0131d\u0131r).<br \/>\n*   <code>nth-child(n+3)<\/code>: \u00dc\u00e7\u00fcnc\u00fc \u00e7ocuktan ba\u015flayarak t\u00fcm \u00e7ocuk elemanlar\u0131 se\u00e7er (3, 4, 5, &#8230;).<br \/>\n*   <code>nth-child(-n+3)<\/code>: \u0130lk \u00fc\u00e7 \u00e7ocuk eleman\u0131n\u0131 se\u00e7er (1, 2, 3).<br \/>\n*   <code>nth-child(2n)<\/code> veya <code>nth-child(even)<\/code>: \u00c7ift s\u0131radaki \u00e7ocuk elemanlar\u0131 se\u00e7er.<br \/>\n*   <code>nth-child(2n+1)<\/code> veya <code>nth-child(odd)<\/code>: Tek s\u0131radaki \u00e7ocuk elemanlar\u0131 se\u00e7er.<\/p>\n<h4>Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h4>\n<p><code>nth-child<\/code>&#8216;\u0131n \u00e7al\u0131\u015fma prensibi genellikle yanl\u0131\u015f anla\u015f\u0131l\u0131r. Bir <code>div<\/code> i\u00e7inde birden fazla farkl\u0131 t\u00fcrde eleman oldu\u011funu varsayal\u0131m:<\/p>\n<pre><code class=\"language-html\"><div class=\"container\">\n  <p>1. Paragraf<\/p>\n  <span>1. Span<\/span>\n  <p>2. Paragraf<\/p>\n  <a>1. Ba\u011flant\u0131<\/a>\n  <p>3. Paragraf<\/p>\n<\/div><\/code><\/pre>\n<p>\u015eimdi \u015fu CSS kural\u0131n\u0131 uygulayal\u0131m:<\/p>\n<pre><code class=\"language-css\">.container p:nth-child(2) {\n  color: red;\n}<\/code><\/pre>\n<p>Beklentimiz genellikle &#8220;2. Paragraf&#8221;\u0131n k\u0131rm\u0131z\u0131 olmas\u0131d\u0131r. Ancak, bu kural hi\u00e7bir eleman\u0131 k\u0131rm\u0131z\u0131 yapmayacakt\u0131r. Neden mi?<\/p>\n<p><code>nth-child(2)<\/code> se\u00e7icisi \u015fu ad\u0131mlar\u0131 izler:<\/p>\n<p>1.  \u00dcst eleman olan <code>.container<\/code> i\u00e7indeki <em>t\u00fcm<\/em> \u00e7ocuk elemanlar\u0131 say\u0131l\u0131r.<br \/>\n    *   1. \u00e7ocuk: <code><\/p>\n<p><\/code><br \/>\n    *   2. \u00e7ocuk: <code><span><\/code><br \/>\n    *   3. \u00e7ocuk: <code><\/p>\n<p><\/code><br \/>\n    *   4. \u00e7ocuk: <code><a><\/code><br \/>\n    *   5. \u00e7ocuk: <code><\/p>\n<p><\/code><br \/>\n2.  <code>nth-child(2)<\/code> ifadesi, genel \u00e7ocuk listesindeki ikinci eleman\u0131 i\u015faret eder. Bu \u00f6rnekte, ikinci eleman bir <code><span><\/code> etiketidir.<br \/>\n3.  Se\u00e7icinin ilk k\u0131sm\u0131 (<code>p<\/code>), bu ikinci eleman\u0131n bir <code>p<\/code> etiketi olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. \u0130kinci eleman bir <code><span><\/code> oldu\u011fu i\u00e7in, <code>p<\/code> se\u00e7icisiyle e\u015fle\u015fmez.<br \/>\n4.  Sonu\u00e7 olarak, hi\u00e7bir elemana stil uygulanmaz.<\/p>\n<p>E\u011fer \u015fu kural\u0131 uygulasayd\u0131k:<\/p>\n<pre><code class=\"language-css\">.container span:nth-child(2) {\n  color: blue;\n}<\/code><\/pre>\n<p>Bu durumda, &#8220;1. Span&#8221; mavi renkte olurdu \u00e7\u00fcnk\u00fc genel \u00e7ocuk listesindeki ikinci eleman bir <code><span><\/code>&#8216;dir ve se\u00e7icimiz de bir <code>span<\/code> ar\u0131yor.<\/p>\n<p>\u00d6zetle, <code>nth-child(X)<\/code> \u00f6nce \u00fcst eleman\u0131n X. \u00e7ocu\u011funu bulur, ard\u0131ndan bu X. \u00e7ocu\u011fun se\u00e7iciyle (<code>p<\/code>, <code>span<\/code>, vb.) e\u015fle\u015fip e\u015fle\u015fmedi\u011fini kontrol eder. E\u011fer e\u015fle\u015fmezse, stil uygulanmaz. Bu, <code>nth-child<\/code>&#8216;\u0131n &#8220;t\u00fcm karde\u015fler aras\u0131nda X. s\u0131rada olan ve ayn\u0131 zamanda benim tipimde olan&#8221; anlam\u0131na geldi\u011fi anlam\u0131na gelir.<\/p>\n<h3>nth-of-type Nedir?<\/h3>\n<p><code>nth-of-type<\/code> s\u00f6zde s\u0131n\u0131f\u0131, <code>nth-child<\/code>&#8216;a benzer \u015fekilde bir \u00fcst eleman\u0131n \u00e7ocuklar\u0131 aras\u0131nda belirli bir konumda bulunan eleman\u0131 se\u00e7mek i\u00e7in kullan\u0131l\u0131r. Ancak, <code>nth-of-type<\/code> se\u00e7imi yaparken, \u00fcst eleman\u0131n <em>belirli bir tipteki<\/em> \u00e7ocuklar\u0131n\u0131 sayar. Yani, sadece se\u00e7icinin belirtti\u011fi etiket tipindeki elemanlar dikkate al\u0131n\u0131r ve s\u0131ralama bu filtrelenmi\u015f liste \u00fczerinden yap\u0131l\u0131r.<\/p>\n<h4>S\u00f6zdizimi ve Parametreler<\/h4>\n<p><code>nth-of-type<\/code> s\u00f6zdizimi <code>nth-child<\/code> ile ayn\u0131d\u0131r:<\/p>\n<pre><code class=\"language-css\">selector:nth-of-type(an+b) {\n  \/<em> Stil kurallar\u0131 <\/em>\/\n}<\/code><\/pre>\n<p><em>   <code>selector<\/code>: Stil uygulanacak eleman\u0131n etiket ad\u0131 olmal\u0131d\u0131r (s\u0131n\u0131f veya kimlik burada do\u011frudan kullan\u0131lamaz, \u00e7\u00fcnk\u00fc <code>nth-of-type<\/code> eleman\u0131n <\/em>tipine* odaklan\u0131r). \u00d6rne\u011fin, <code>li<\/code>, <code>p<\/code>.<br \/>\n*   <code>an+b<\/code>: <code>nth-child<\/code> ile ayn\u0131 \u015fekilde \u00e7al\u0131\u015fan bir form\u00fcld\u00fcr.<\/p>\n<p>Ayn\u0131 <code>an+b<\/code> form\u00fclleri ve anahtar kelimeler <code>nth-of-type<\/code> i\u00e7in de ge\u00e7erlidir: <code>1<\/code>, <code>2<\/code>, <code>n<\/code>, <code>n+3<\/code>, <code>-n+3<\/code>, <code>2n<\/code> (even), <code>2n+1<\/code> (odd).<\/p>\n<h4>Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h4>\n<p><code>nth-of-type<\/code>&#8216;\u0131n \u00e7al\u0131\u015fma prensibi, <code>nth-child<\/code>&#8216;dan daha sezgisel olabilir, \u00f6zellikle elemanlar kar\u0131\u015f\u0131ksa. Yukar\u0131daki ayn\u0131 HTML yap\u0131s\u0131n\u0131 kullanal\u0131m:<\/p>\n<pre><code class=\"language-html\"><div class=\"container\">\n  <p>1. Paragraf<\/p>\n  <span>1. Span<\/span>\n  <p>2. Paragraf<\/p>\n  <a>1. Ba\u011flant\u0131<\/a>\n  <p>3. Paragraf<\/p>\n<\/div><\/code><\/pre>\n<p>\u015eimdi \u015fu CSS kural\u0131n\u0131 uygulayal\u0131m:<\/p>\n<pre><code class=\"language-css\">.container p:nth-of-type(2) {\n  color: red;\n}<\/code><\/pre>\n<p>Bu durumda, &#8220;2. Paragraf&#8221; k\u0131rm\u0131z\u0131 renkte olacakt\u0131r. Neden mi?<\/p>\n<p><code>nth-of-type(2)<\/code> se\u00e7icisi \u015fu ad\u0131mlar\u0131 izler:<\/p>\n<p>1.  \u00d6ncelikle, se\u00e7icide belirtilen eleman tipine (<code>p<\/code>) g\u00f6re \u00fcst eleman <code>.container<\/code> i\u00e7indeki \u00e7ocuk elemanlar filtrelenir.<br \/>\n    *   Filtrelenmi\u015f <code><\/p>\n<p><\/code> elemanlar\u0131:<br \/>\n        *   1. <code><\/p>\n<p><\/code>: &#8220;1. Paragraf&#8221;<br \/>\n        *   2. <code><\/p>\n<p><\/code>: &#8220;2. Paragraf&#8221;<br \/>\n        *   3. <code><\/p>\n<p><\/code>: &#8220;3. Paragraf&#8221;<br \/>\n2.  <code>nth-of-type(2)<\/code> ifadesi, bu filtrelenmi\u015f <code><\/p>\n<p><\/code> elemanlar\u0131 listesindeki ikinci eleman\u0131 i\u015faret eder. Bu \u00f6rnekte, bu eleman &#8220;2. Paragraf&#8221;t\u0131r.<br \/>\n3.  Se\u00e7icinin ilk k\u0131sm\u0131 (<code>p<\/code>), bu ikinci eleman\u0131n bir <code>p<\/code> etiketi olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. Zaten filtreleme yap\u0131ld\u0131\u011f\u0131 i\u00e7in bu kontrol her zaman ba\u015far\u0131l\u0131 olacakt\u0131r.<br \/>\n4.  Sonu\u00e7 olarak, &#8220;2. Paragraf&#8221; eleman\u0131na stil uygulan\u0131r ve k\u0131rm\u0131z\u0131 renkte g\u00f6r\u00fcn\u00fcr.<\/p>\n<p>E\u011fer \u015fu kural\u0131 uygulad\u0131ysak:<\/p>\n<pre><code class=\"language-css\">.container span:nth-of-type(1) {\n  color: blue;\n}<\/code><\/pre>\n<p>Bu durumda, &#8220;1. Span&#8221; mavi renkte olurdu. \u00c7\u00fcnk\u00fc <code>.container<\/code> i\u00e7indeki tek <code>span<\/code> eleman\u0131 budur ve <code>span<\/code> tipli elemanlar aras\u0131nda birinci s\u0131radad\u0131r.<\/p>\n<p>\u00d6zetle, <code>nth-of-type(X)<\/code> \u00f6nce \u00fcst eleman\u0131n t\u00fcm \u00e7ocuklar\u0131n\u0131 belirtilen tipe g\u00f6re filtreler, ard\u0131ndan bu filtrelenmi\u015f listedeki X. eleman\u0131 se\u00e7er. Bu, <code>nth-of-type<\/code>&#8216;\u0131n &#8220;benim tipimdeki karde\u015fler aras\u0131nda X. s\u0131rada olan&#8221; anlam\u0131na geldi\u011fi anlam\u0131na gelir.<\/p>\n<h3>Temel Farklar ve \u00c7al\u0131\u015fma Mekanizmas\u0131<\/h3>\n<p><code>nth-child<\/code> ve <code>nth-of-type<\/code> aras\u0131ndaki temel fark, elemanlar\u0131n say\u0131lma bi\u00e7iminde yatar. Bu fark, \u00f6zellikle bir \u00fcst eleman\u0131n i\u00e7inde farkl\u0131 t\u00fcrde elemanlar\u0131n bulundu\u011fu karma\u015f\u0131k HTML yap\u0131lar\u0131nda kendini g\u00f6sterir.<\/p>\n<p>*   <strong>Say\u0131lan Elemanlar:<\/strong><br \/>\n    <em>   <strong><code>nth-child<\/code><\/strong>: Bir \u00fcst eleman\u0131n <\/em>t\u00fcm* \u00e7ocuklar\u0131n\u0131 sayar, eleman tipi ne olursa olsun.<br \/>\n    <em>   <strong><code>nth-of-type<\/code><\/strong>: Bir \u00fcst eleman\u0131n sadece <\/em>belirli bir tipteki* \u00e7ocuklar\u0131n\u0131 sayar. Se\u00e7icide belirtilen eleman tipine (\u00f6rn. <code>p<\/code>) g\u00f6re filtreleme yapar.<\/p>\n<p>*   <strong>Se\u00e7im Kriteri:<\/strong><br \/>\n    <em>   <strong><code>nth-child<\/code><\/strong>: Bir eleman\u0131n \u00fcst eleman i\u00e7indeki <\/em>mutlak konumuna* bakar ve bu konumdaki eleman\u0131n se\u00e7iciyle e\u015fle\u015fip e\u015fle\u015fmedi\u011fini kontrol eder. E\u011fer X. konumdaki eleman se\u00e7iciyle e\u015fle\u015fmiyorsa, stil uygulanmaz.<br \/>\n    <em>   <strong><code>nth-of-type<\/code><\/strong>: Bir eleman\u0131n, <\/em>kendi tipindeki karde\u015fleri aras\u0131ndaki g\u00f6receli konumuna* bakar. Se\u00e7iciyle e\u015fle\u015fen elemanlar aras\u0131nda X. s\u0131rada olan\u0131 se\u00e7er.<\/p>\n<p>*   <strong>Senaryolar:<\/strong><br \/>\n    *   <strong>Homojen Eleman Grubu:<\/strong> E\u011fer bir \u00fcst eleman\u0131n t\u00fcm \u00e7ocuklar\u0131 ayn\u0131 tipteyse (\u00f6rne\u011fin, bir <code>ul<\/code> i\u00e7indeki t\u00fcm <code>li<\/code> elemanlar\u0131 veya bir <code>div<\/code> i\u00e7indeki t\u00fcm <code>p<\/code> elemanlar\u0131), <code>nth-child<\/code> ve <code>nth-of-type<\/code> genellikle ayn\u0131 sonucu verir. Bu durumda, her iki se\u00e7ici de ayn\u0131 elemanlar\u0131 sayd\u0131\u011f\u0131 i\u00e7in ayn\u0131 mant\u0131kla \u00e7al\u0131\u015f\u0131r.<br \/>\n    *   <strong>Heterojen Eleman Grubu:<\/strong> E\u011fer bir \u00fcst eleman\u0131n i\u00e7inde farkl\u0131 tiplerde elemanlar varsa (\u00f6rne\u011fin, bir <code>div<\/code> i\u00e7inde <code>p<\/code>, <code>span<\/code>, <code>img<\/code> elemanlar\u0131n\u0131n kar\u0131\u015f\u0131k olarak bulunmas\u0131), bu iki s\u00f6zde s\u0131n\u0131f\u0131n davran\u0131\u015flar\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde farkl\u0131la\u015f\u0131r. <code>nth-child<\/code> beklendi\u011fi gibi \u00e7al\u0131\u015fmayabilirken, <code>nth-of-type<\/code> genellikle daha tahmin edilebilir sonu\u00e7lar verir \u00e7\u00fcnk\u00fc sadece hedeflenen eleman tipini sayar.<\/p>\n<p>Bu fark\u0131 daha iyi g\u00f6rselle\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki HTML yap\u0131s\u0131n\u0131 ve farkl\u0131 CSS kurallar\u0131n\u0131 inceleyelim:<\/p>\n<pre><code class=\"language-html\"><div class=\"parent\">\n  <p>1. Paragraf<\/p>     <!-- 1. child overall, 1. p of type -->\n  <span>1. Span<\/span>   <!-- 2. child overall, 1. span of type -->\n  <p>2. Paragraf<\/p>     <!-- 3. child overall, 2. p of type -->\n  <div>1. Div<\/div>      <!-- 4. child overall, 1. div of type -->\n  <p>3. Paragraf<\/p>     <!-- 5. child overall, 3. p of type -->\n  <span>2. Span<\/span>   <!-- 6. child overall, 2. span of type -->\n<\/div><\/code><\/pre>\n<p>\u015eimdi bu yap\u0131ya farkl\u0131 CSS kurallar\u0131 uygulayal\u0131m:<\/p>\n<p>*   <strong><code>p:nth-child(2)<\/code><\/strong>:<br \/>\n    *   Genel \u00e7ocuk s\u0131ralamas\u0131na bak\u0131l\u0131r: 1. <code>p<\/code>, 2. <code>span<\/code>, 3. <code>p<\/code>, 4. <code>div<\/code>, 5. <code>p<\/code>, 6. <code>span<\/code>.<br \/>\n    *   2. \u00e7ocuk bir <code>span<\/code>&#8216;dir.<br \/>\n    *   Se\u00e7ici <code>p<\/code> arad\u0131\u011f\u0131 i\u00e7in, <code>span<\/code> ile e\u015fle\u015fmez.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> Hi\u00e7bir eleman se\u00e7ilmez.<\/p>\n<p>*   <strong><code>p:nth-of-type(2)<\/code><\/strong>:<br \/>\n    *   Sadece <code>p<\/code> tipindeki \u00e7ocuklara bak\u0131l\u0131r: 1. <code>p<\/code> (&#8220;1. Paragraf&#8221;), 2. <code>p<\/code> (&#8220;2. Paragraf&#8221;), 3. <code>p<\/code> (&#8220;3. Paragraf&#8221;).<br \/>\n    *   <code>p<\/code> tipindeki elemanlar aras\u0131nda 2. s\u0131rada olan &#8220;2. Paragraf&#8221; se\u00e7ilir.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> &#8220;2. Paragraf&#8221; se\u00e7ilir.<\/p>\n<p>*   <strong><code>span:nth-child(2)<\/code><\/strong>:<br \/>\n    *   Genel \u00e7ocuk s\u0131ralamas\u0131nda 2. \u00e7ocuk bir <code>span<\/code>&#8216;dir.<br \/>\n    *   Se\u00e7ici <code>span<\/code> arad\u0131\u011f\u0131 i\u00e7in, <code>span<\/code> ile e\u015fle\u015fir.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> &#8220;1. Span&#8221; se\u00e7ilir.<\/p>\n<p>*   <strong><code>span:nth-of-type(2)<\/code><\/strong>:<br \/>\n    *   Sadece <code>span<\/code> tipindeki \u00e7ocuklara bak\u0131l\u0131r: 1. <code>span<\/code> (&#8220;1. Span&#8221;), 2. <code>span<\/code> (&#8220;2. Span&#8221;).<br \/>\n    *   <code>span<\/code> tipindeki elemanlar aras\u0131nda 2. s\u0131rada olan &#8220;2. Span&#8221; se\u00e7ilir.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> &#8220;2. Span&#8221; se\u00e7ilir.<\/p>\n<p>Bu \u00f6rnekler, iki s\u00f6zde s\u0131n\u0131f\u0131n nas\u0131l farkl\u0131 \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve neden do\u011fru se\u00e7imin \u00f6nemli oldu\u011funu net bir \u015fekilde ortaya koymaktad\u0131r.<\/p>\n<h3>Pratik Uygulama Senaryolar\u0131<\/h3>\n<p>Her iki s\u00f6zde s\u0131n\u0131f\u0131n da kendine \u00f6zg\u00fc kullan\u0131m alanlar\u0131 vard\u0131r ve do\u011fru senaryoda do\u011fru arac\u0131 kullanmak, CSS kodunuzun daha verimli, okunabilir ve \u00f6ng\u00f6r\u00fclebilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>nth-child Kullan\u0131m Alanlar\u0131<\/h4>\n<p><code>nth-child<\/code>, elemanlar\u0131n <em>t\u00fcm karde\u015fleri aras\u0131ndaki mutlak konumunun<\/em> \u00f6nemli oldu\u011fu durumlarda idealdir.<\/p>\n<p>1.  <strong>Tablo Sat\u0131rlar\u0131nda Alternatif Renklendirme (Zebra \u015eeritler):<\/strong><br \/>\n    Bu, <code>nth-child<\/code>&#8216;\u0131n en klasik ve en bilinen kullan\u0131m alan\u0131d\u0131r. Bir tablonun sat\u0131rlar\u0131n\u0131 ( <code>tr<\/code> elemanlar\u0131) s\u0131ras\u0131yla farkl\u0131 renklerle boyayarak okunabilirli\u011fi art\u0131r\u0131r\u0131z. Burada t\u00fcm <code>tr<\/code> elemanlar\u0131 ayn\u0131 tipte oldu\u011fu i\u00e7in <code>nth-child<\/code> ve <code>nth-of-type<\/code> ayn\u0131 sonucu verir, ancak <code>nth-child<\/code> daha yayg\u0131n kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-css\">table tr:nth-child(even) {\n      background-color: #f2f2f2;\n    }\n    table tr:nth-child(odd) {\n      background-color: #ffffff;\n    }<\/code><\/pre>\n<p>2.  <strong>Grid D\u00fczenlerinde S\u00fctun veya Sat\u0131r Ba\u015f\u0131 Elemanlar\u0131 Hedefleme:<\/strong><br \/>\n    Bir CSS Grid veya Flexbox d\u00fczeninde, belirli bir s\u0131rada yer alan elemanlar\u0131 hedefleyerek \u00f6zel stiller uygulamak isteyebilirsiniz. \u00d6rne\u011fin, her 3 elemandan birine sa\u011f kenar bo\u015flu\u011fu vermek veya her 4 elemandan birini farkl\u0131 bir arka planla i\u015faretlemek.<\/p>\n<pre><code class=\"language-css\">.grid-container > .grid-item:nth-child(3n) {\n      margin-right: 0; \/<em> Her 3. eleman\u0131n sa\u011f kenar bo\u015flu\u011funu kald\u0131r <\/em>\/\n    }<\/code><\/pre>\n<p>    Burada, <code>grid-item<\/code>&#8216;lar\u0131n aras\u0131na ba\u015fka tipte elemanlar girme olas\u0131l\u0131\u011f\u0131 d\u00fc\u015f\u00fck oldu\u011fu i\u00e7in <code>nth-child<\/code> g\u00fcvenle kullan\u0131labilir.<\/p>\n<p>3.  <strong>Ba\u015fl\u0131k Navigasyonunda \u0130lk veya Son Elemanlar\u0131 Stilize Etme:<\/strong><br \/>\n    Bir navigasyon men\u00fcs\u00fcnde (\u00f6rne\u011fin, <code>ul<\/code> i\u00e7indeki <code>li<\/code>&#8216;ler), ilk veya son \u00f6\u011feye \u00f6zel bir stil (\u00f6rne\u011fin, farkl\u0131 bir kenarl\u0131k veya ikon) uygulamak isteyebilirsiniz.<\/p>\n<pre><code class=\"language-css\">nav ul li:first-child { \/<em> Veya :nth-child(1) <\/em>\/\n      font-weight: bold;\n    }\n    nav ul li:last-child { \/<em> Veya :nth-child(n) <\/em>\/\n      border-right: none;\n    }<\/code><\/pre>\n<p>    Yine, bir <code>ul<\/code> listesi genellikle sadece <code>li<\/code> elemanlar\u0131 i\u00e7erdi\u011fi i\u00e7in <code>nth-child<\/code> burada do\u011fru se\u00e7imdir.<\/p>\n<p>4.  <strong>Genel Eleman S\u0131ras\u0131n\u0131n Semantik \u00d6nemi Oldu\u011funda:<\/strong><br \/>\n    E\u011fer bir eleman grubunun i\u00e7indeki genel s\u0131ralama, eleman\u0131n tipinden ba\u011f\u0131ms\u0131z olarak semantik bir \u00f6neme sahipse, <code>nth-child<\/code> tercih edilmelidir. \u00d6rne\u011fin, bir zaman \u00e7izelgesindeki her <code>X<\/code> olay\u0131n farkl\u0131 bir stil almas\u0131 gerekiyorsa ve bu olaylar farkl\u0131 HTML elemanlar\u0131yla temsil edilebiliyorsa.<\/p>\n<h4>nth-of-type Kullan\u0131m Alanlar\u0131<\/h4>\n<p><code>nth-of-type<\/code>, elemanlar\u0131n <em>kendi tipindeki karde\u015fleri aras\u0131ndaki g\u00f6receli konumunun<\/em> \u00f6nemli oldu\u011fu durumlarda idealdir. Bu, \u00f6zellikle i\u00e7erik bazl\u0131 sayfalarda veya dinamik olarak eklenen elemanlar\u0131n bulundu\u011fu yerlerde \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p>1.  <strong>Makale \u0130\u00e7indeki Paragraflar\u0131 veya Ba\u015fl\u0131klar\u0131 Stilize Etme:<\/strong><br \/>\n    Bir makale i\u00e7inde paragraflar, resimler, al\u0131nt\u0131lar, tablolar gibi farkl\u0131 t\u00fcrde elemanlar bulunabilir. Sadece paragraflar\u0131 hedefleyerek her ikinci paragrafa farkl\u0131 bir stil uygulamak isteyebilirsiniz.<\/p>\n<pre><code class=\"language-html\"><article>\n      <p>\u0130lk paragraf.<\/p>\n      <img decoding=\"async\" src=\"image.jpg\" alt=\"Resim\">\n      <p>\u0130kinci paragraf.<\/p>\n      <blockquote>Al\u0131nt\u0131 metni.<\/blockquote>\n      <p>\u00dc\u00e7\u00fcnc\u00fc paragraf.<\/p>\n    <\/article><\/code><\/pre>\n<pre><code class=\"language-css\">article p:nth-of-type(odd) {\n      background-color: #e0f7fa; \/<em> Sadece tek s\u0131radaki paragraflara arka plan ver <\/em>\/\n    }<\/code><\/pre>\n<p>    Burada <code>p:nth-child(odd)<\/code> kullansayd\u0131k, resim ve al\u0131nt\u0131 elemanlar\u0131 genel s\u0131ralamay\u0131 bozaca\u011f\u0131 i\u00e7in beklenen sonucu alamazd\u0131k.<\/p>\n<p>2.  <strong>Form Elemanlar\u0131n\u0131 D\u00fczenleme:<\/strong><br \/>\n    Bir formda farkl\u0131 tipte input elemanlar\u0131 (text, checkbox, radio) olabilir. Sadece belirli bir tipteki input elemanlar\u0131n\u0131 hedefleyerek stil uygulamak isteyebilirsiniz.<\/p>\n<pre><code class=\"language-html\"><form>\n      <label>Ad:<\/label><input type=\"text\">\n      <label>Soyad:<\/label><input type=\"text\">\n      <label>Email:<\/label><input type=\"email\">\n      <label>Mesaj:<\/label><textarea><\/textarea>\n    <\/form><\/code><\/pre>\n<pre><code class=\"language-css\">form input:nth-of-type(2) {\n      border-color: blue; \/<em> Sadece ikinci input'a \u00f6zel kenarl\u0131k <\/em>\/\n    }<\/code><\/pre>\n<p>    Bu, ikinci <code><input><\/code> eleman\u0131n\u0131 hedefler, araya ba\u015fka bir eleman girse bile.<\/p>\n<p>3.  <strong>Dinamik \u0130\u00e7eriklerde G\u00fcvenilir Se\u00e7im:<\/strong><br \/>\n    E\u011fer web sayfan\u0131z\u0131n i\u00e7eri\u011fi dinamik olarak de\u011fi\u015fiyorsa ve elemanlar\u0131n s\u0131ras\u0131 s\u00fcrekli farkl\u0131l\u0131k g\u00f6steriyorsa, <code>nth-of-type<\/code> genellikle daha sa\u011flam bir se\u00e7imdir. \u00c7\u00fcnk\u00fc elemanlar\u0131n aras\u0131na ba\u015fka tipten bir eleman eklendi\u011finde veya \u00e7\u0131kar\u0131ld\u0131\u011f\u0131nda, <code>nth-of-type<\/code> hala kendi tipindeki elemanlar\u0131 do\u011fru \u015fekilde saymaya devam eder.<\/p>\n<p>4.  <strong>Belirli Bir Bile\u015fenin N. \u00d6rne\u011fini Hedefleme:<\/strong><br \/>\n    Bir sayfada birden fazla ayn\u0131 tipte bile\u015fen (\u00f6rne\u011fin, bir kart bile\u015feni) varsa ve sadece belirli bir s\u0131radakini hedeflemek istiyorsan\u0131z.<\/p>\n<pre><code class=\"language-html\"><div class=\"cards-container\">\n      <div class=\"card\">Card 1<\/div>\n      <div class=\"ad-banner\">Reklam<\/div>\n      <div class=\"card\">Card 2<\/div>\n      <div class=\"card\">Card 3<\/div>\n    <\/div><\/code><\/pre>\n<pre><code class=\"language-css\">.cards-container .card:nth-of-type(2) {\n      box-shadow: 0 0 10px gold; \/<em> \u0130kinci kart\u0131 vurgula <\/em>\/\n    }<\/code><\/pre>\n<p>    Burada <code>nth-child(2)<\/code> kullan\u0131lsayd\u0131, &#8220;ad-banner&#8221; eleman\u0131 genel s\u0131ralamay\u0131 bozaca\u011f\u0131 i\u00e7in yanl\u0131\u015f kart se\u00e7ilirdi veya hi\u00e7bir kart se\u00e7ilmezdi.<\/p>\n<h3>Kod \u00d6rnekleri ile Detayl\u0131 Kar\u015f\u0131la\u015ft\u0131rma<\/h3>\n<p>\u015eimdi, her iki s\u00f6zde s\u0131n\u0131f\u0131n davran\u0131\u015f\u0131n\u0131 daha iyi anlamak i\u00e7in kapsaml\u0131 bir HTML yap\u0131s\u0131 ve CSS kurallar\u0131 ile kar\u015f\u0131la\u015ft\u0131rmal\u0131 \u00f6rneklere bakal\u0131m.<\/p>\n<pre><code class=\"language-html\"><!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>nth-child vs nth-of-type Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/title>\n<style>\n  body {\n    font-family: Arial, sans-serif;\n    line-height: 1.6;\n    margin: 20px;\n  }\n  .container {\n    border: 1px solid #ccc;\n    padding: 15px;\n    margin-bottom: 30px;\n    background-color: #f9f9f9;\n  }\n  .container h3 {\n    margin-top: 0;\n    color: #333;\n  }\n  .container > <em> { \/<\/em> T\u00fcm do\u011frudan \u00e7ocuklara varsay\u0131lan stil *\/\n    padding: 5px;\n    margin-bottom: 5px;\n    border: 1px dashed #eee;\n  }\n\n  \/<em> nth-child \u00d6rnekleri <\/em>\/\n  .container.child-example p:nth-child(2) {\n    background-color: #ffcccc; \/<em> K\u0131rm\u0131z\u0131ms\u0131 <\/em>\/\n    border-color: red;\n  }\n  .container.child-example span:nth-child(2) {\n    background-color: #ccffcc; \/<em> Ye\u015filimsi <\/em>\/\n    border-color: green;\n  }\n  .container.child-example p:nth-child(odd) {\n    font-style: italic;\n  }\n  .container.child-example p:nth-child(even) {\n    text-decoration: underline;\n  }\n\n  \/<em> nth-of-type \u00d6rnekleri <\/em>\/\n  .container.type-example p:nth-of-type(2) {\n    background-color: #cceeff; \/<em> Mavimsi <\/em>\/\n    border-color: blue;\n  }\n  .container.type-example span:nth-of-type(2) {\n    background-color: #ffffcc; \/<em> Sar\u0131ms\u0131 <\/em>\/\n    border-color: orange;\n  }\n  .container.type-example p:nth-of-type(odd) {\n    font-weight: bold;\n  }\n  .container.type-example p:nth-of-type(even) {\n    color: purple;\n  }\n<\/style>\n<\/head>\n<body>\n\n<div class=\"container child-example\">\n  <h3>nth-child \u00d6rne\u011fi<\/h3>\n  <p>Bu ilk paragraf. (Genel 1. \u00e7ocuk, p tipi 1. \u00e7ocuk)<\/p>\n  <span>Bu ilk span. (Genel 2. \u00e7ocuk, span tipi 1. \u00e7ocuk)<\/span>\n  <p>Bu ikinci paragraf. (Genel 3. \u00e7ocuk, p tipi 2. \u00e7ocuk)<\/p>\n  <div>Bu ilk div. (Genel 4. \u00e7ocuk, div tipi 1. \u00e7ocuk)<\/div>\n  <p>Bu \u00fc\u00e7\u00fcnc\u00fc paragraf. (Genel 5. \u00e7ocuk, p tipi 3. \u00e7ocuk)<\/p>\n  <span>Bu ikinci span. (Genel 6. \u00e7ocuk, span tipi 2. \u00e7ocuk)<\/span>\n  <p>Bu d\u00f6rd\u00fcnc\u00fc paragraf. (Genel 7. \u00e7ocuk, p tipi 4. \u00e7ocuk)<\/p>\n<\/div>\n\n<div class=\"container type-example\">\n  <h3>nth-of-type \u00d6rne\u011fi<\/h3>\n  <p>Bu ilk paragraf. (Genel 1. \u00e7ocuk, p tipi 1. \u00e7ocuk)<\/p>\n  <span>Bu ilk span. (Genel 2. \u00e7ocuk, span tipi 1. \u00e7ocuk)<\/span>\n  <p>Bu ikinci paragraf. (Genel 3. \u00e7ocuk, p tipi 2. \u00e7ocuk)<\/p>\n  <div>Bu ilk div. (Genel 4. \u00e7ocuk, div tipi 1. \u00e7ocuk)<\/div>\n  <p>Bu \u00fc\u00e7\u00fcnc\u00fc paragraf. (Genel 5. \u00e7ocuk, p tipi 3. \u00e7ocuk)<\/p>\n  <span>Bu ikinci span. (Genel 6. \u00e7ocuk, span tipi 2. \u00e7ocuk)<\/span>\n  <p>Bu d\u00f6rd\u00fcnc\u00fc paragraf. (Genel 7. \u00e7ocuk, p tipi 4. \u00e7ocuk)<\/p>\n<\/div>\n\n<\/body>\n<\/html><\/code><\/pre>\n<p><strong><code>nth-child<\/code> \u00d6rne\u011fi A\u00e7\u0131klamas\u0131:<\/strong><\/p>\n<p>*   <code>.container.child-example p:nth-child(2)<\/code>:<br \/>\n    *   Genel s\u0131ralamada 2. \u00e7ocuk bir <code><span><\/code> eleman\u0131d\u0131r.<br \/>\n    *   Se\u00e7ici <code>p<\/code> arad\u0131\u011f\u0131 i\u00e7in e\u015fle\u015fme olmaz.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> Hi\u00e7bir paragraf k\u0131rm\u0131z\u0131ms\u0131 arka plan almaz.<br \/>\n*   <code>.container.child-example span:nth-child(2)<\/code>:<br \/>\n    *   Genel s\u0131ralamada 2. \u00e7ocuk bir <code><span><\/code> eleman\u0131d\u0131r.<br \/>\n    *   Se\u00e7ici <code>span<\/code> arad\u0131\u011f\u0131 i\u00e7in e\u015fle\u015fme olur.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> &#8220;Bu ilk span.&#8221; metni ye\u015filimsi arka plan al\u0131r.<br \/>\n*   <code>.container.child-example p:nth-child(odd)<\/code>:<br \/>\n    *   Genel s\u0131ralamada tek s\u0131radaki \u00e7ocuklar: 1. (<code>p<\/code>), 3. (<code>p<\/code>), 5. (<code>p<\/code>), 7. (<code>p<\/code>).<br \/>\n    *   Bu konumdaki elemanlar <code>p<\/code> se\u00e7icisiyle e\u015fle\u015fti\u011fi i\u00e7in, t\u00fcm paragraflar (1., 2., 3., 4. paragraflar) italik olur. \u00c7\u00fcnk\u00fc 1. \u00e7ocuk bir <code>p<\/code>, 3. \u00e7ocuk bir <code>p<\/code>, 5. \u00e7ocuk bir <code>p<\/code> ve 7. \u00e7ocuk bir <code>p<\/code>&#8216;dir.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> T\u00fcm paragraflar italik olur.<br \/>\n*   <code>.container.child-example p:nth-child(even)<\/code>:<br \/>\n    *   Genel s\u0131ralamada \u00e7ift s\u0131radaki \u00e7ocuklar: 2. (<code>span<\/code>), 4. (<code>div<\/code>), 6. (<code>span<\/code>).<br \/>\n    *   Bu konumdaki elemanlar\u0131n hi\u00e7biri <code>p<\/code> se\u00e7icisiyle e\u015fle\u015fmez.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> Hi\u00e7bir paragraf\u0131n alt\u0131 \u00e7izilmez.<\/p>\n<p><strong><code>nth-of-type<\/code> \u00d6rne\u011fi A\u00e7\u0131klamas\u0131:<\/strong><\/p>\n<p>*   <code>.container.type-example p:nth-of-type(2)<\/code>:<br \/>\n    *   Sadece <code>p<\/code> tipli elemanlara bak\u0131l\u0131r: 1. (<code>p<\/code>), 2. (<code>p<\/code>), 3. (<code>p<\/code>), 4. (<code>p<\/code>).<br \/>\n    *   Bu listede 2. s\u0131rada olan &#8220;Bu ikinci paragraf.&#8221; se\u00e7ilir.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> &#8220;Bu ikinci paragraf.&#8221; metni mavimsi arka plan al\u0131r.<br \/>\n*   <code>.container.type-example span:nth-of-type(2)<\/code>:<br \/>\n    *   Sadece <code>span<\/code> tipli elemanlara bak\u0131l\u0131r: 1. (<code>span<\/code>), 2. (<code>span<\/code>).<br \/>\n    *   Bu listede 2. s\u0131rada olan &#8220;Bu ikinci span.&#8221; se\u00e7ilir.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> &#8220;Bu ikinci span.&#8221; metni sar\u0131ms\u0131 arka plan al\u0131r.<br \/>\n*   <code>.container.type-example p:nth-of-type(odd)<\/code>:<br \/>\n    *   Sadece <code>p<\/code> tipli elemanlara bak\u0131l\u0131r: 1. (<code>p<\/code>), 2. (<code>p<\/code>), 3. (<code>p<\/code>), 4. (<code>p<\/code>).<br \/>\n    *   Bu listede tek s\u0131radaki <code>p<\/code>&#8216;ler (1. ve 3. <code>p<\/code>) se\u00e7ilir.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> &#8220;Bu ilk paragraf.&#8221; ve &#8220;Bu \u00fc\u00e7\u00fcnc\u00fc paragraf.&#8221; metinleri kal\u0131n olur.<br \/>\n*   <code>.container.type-example p:nth-of-type(even)<\/code>:<br \/>\n    *   Sadece <code>p<\/code> tipli elemanlara bak\u0131l\u0131r: 1. (<code>p<\/code>), 2. (<code>p<\/code>), 3. (<code>p<\/code>), 4. (<code>p<\/code>).<br \/>\n    *   Bu listede \u00e7ift s\u0131radaki <code>p<\/code>&#8216;ler (2. ve 4. <code>p<\/code>) se\u00e7ilir.<br \/>\n    *   <strong>Sonu\u00e7:<\/strong> &#8220;Bu ikinci paragraf.&#8221; ve &#8220;Bu d\u00f6rd\u00fcnc\u00fc paragraf.&#8221; metinleri mor renkte olur.<\/p>\n<p>Bu detayl\u0131 \u00f6rnekler, <code>nth-child<\/code>&#8216;\u0131n genel eleman s\u0131ralamas\u0131n\u0131, <code>nth-of-type<\/code>&#8216;\u0131n ise sadece belirtilen eleman tipinin s\u0131ralamas\u0131n\u0131 dikkate ald\u0131\u011f\u0131n\u0131 a\u00e7\u0131k\u00e7a g\u00f6stermektedir.<\/p>\n<h3>Performans ve Taray\u0131c\u0131 Deste\u011fi<\/h3>\n<p>Hem <code>nth-child<\/code> hem de <code>nth-of-type<\/code> s\u00f6zde s\u0131n\u0131flar\u0131 modern web taray\u0131c\u0131lar\u0131nda geni\u015f \u00e7apl\u0131 deste\u011fe sahiptir. Internet Explorer 9 ve \u00fczeri t\u00fcm modern taray\u0131c\u0131lar (Chrome, Firefox, Safari, Edge, Opera) bu se\u00e7icileri sorunsuz bir \u015fekilde destekler. Dolay\u0131s\u0131yla, taray\u0131c\u0131 uyumlulu\u011fu a\u00e7\u0131s\u0131ndan herhangi bir endi\u015fe duyman\u0131za gerek yoktur.<\/p>\n<p>Performans a\u00e7\u0131s\u0131ndan, bu s\u00f6zde s\u0131n\u0131flar\u0131n karma\u015f\u0131kl\u0131\u011f\u0131, \u00e7o\u011fu web uygulamas\u0131 i\u00e7in ihmal edilebilir d\u00fczeydedir. Taray\u0131c\u0131 motorlar\u0131, DOM&#8217;u verimli bir \u015fekilde taramak ve stil kurallar\u0131n\u0131 uygulamak i\u00e7in olduk\u00e7a optimize edilmi\u015ftir. \u00c7ok b\u00fcy\u00fck ve karma\u015f\u0131k DOM yap\u0131lar\u0131nda (binlerce eleman i\u00e7eren) bile, bu se\u00e7icilerin performansa g\u00f6zle g\u00f6r\u00fcl\u00fcr bir etkisi nadiren olur. Se\u00e7ici karma\u015f\u0131kl\u0131\u011f\u0131 genel olarak performans\u0131 etkilese de, <code>nth-child<\/code> ve <code>nth-of-type<\/code> aras\u0131ndaki performans fark\u0131 pratikte \u00f6nemsizdir. Do\u011fru se\u00e7iciyi kullanmak, kodun okunabilirli\u011fi ve s\u00fcrd\u00fcr\u00fclebilirli\u011fi a\u00e7\u0131s\u0131ndan performanstan \u00e7ok daha \u00f6nemlidir.<\/p>\n<h3>Ne Zaman Hangisini Kullanmal\u0131?<\/h3>\n<p><code>nth-child<\/code> ve <code>nth-of-type<\/code> aras\u0131ndaki se\u00e7imi yapmak, projenizin yap\u0131s\u0131na ve ula\u015fmak istedi\u011finiz stilistik amaca ba\u011fl\u0131d\u0131r. \u0130\u015fte basit bir karar verme rehberi:<\/p>\n<p><strong><code>nth-child<\/code> Kullan\u0131m Senaryolar\u0131:<\/strong><\/p>\n<p>*   <strong>T\u00fcm \u00e7ocuk elemanlar\u0131n ayn\u0131 tipte oldu\u011fu durumlar:<\/strong> Bir <code>ul<\/code> i\u00e7indeki <code>li<\/code>&#8216;ler, bir <code>table<\/code> i\u00e7indeki <code>tr<\/code>&#8216;ler gibi homojen yap\u0131lar. Bu durumlarda, her iki se\u00e7ici de ayn\u0131 sonucu verecektir, ancak <code>nth-child<\/code> daha yayg\u0131n bir al\u0131\u015fkanl\u0131kt\u0131r.<br \/>\n<em>   <strong>Eleman\u0131n <\/em>t\u00fcm karde\u015fleri aras\u0131ndaki mutlak konumunun* stil i\u00e7in \u00f6nemli oldu\u011fu durumlar:<\/strong> \u00d6rne\u011fin, bir grid d\u00fczeninde her 3. elemana belirli bir kenar bo\u015flu\u011fu vermek veya bir eleman\u0131n genel ak\u0131\u015f i\u00e7indeki yerini temel alan bir stil uygulamak.<br \/>\n*   <strong>Yap\u0131sal b\u00fct\u00fcnl\u00fc\u011f\u00fcn ve eleman s\u0131ras\u0131n\u0131n kesin olarak bilindi\u011fi ve de\u011fi\u015fmeyece\u011fi durumlar:<\/strong> E\u011fer HTML yap\u0131n\u0131z\u0131n statik ve \u00f6ng\u00f6r\u00fclebilir oldu\u011funu biliyorsan\u0131z, <code>nth-child<\/code> g\u00fcvenli bir se\u00e7im olabilir.<\/p>\n<p><strong><code>nth-of-type<\/code> Kullan\u0131m Senaryolar\u0131:<\/strong><\/p>\n<p><em>   <strong>\u00dcst eleman i\u00e7inde <\/em>farkl\u0131 tipte elemanlar\u0131n kar\u0131\u015ft\u0131\u011f\u0131* durumlar:<\/strong> Bir makale i\u00e7inde paragraflar, resimler, ba\u015fl\u0131klar, al\u0131nt\u0131lar gibi farkl\u0131 elemanlar oldu\u011funda ve stilinizi sadece belirli bir eleman tipine g\u00f6re uygulamak istedi\u011finizde.<br \/>\n<em>   <strong>Eleman\u0131n <\/em>kendi tipindeki karde\u015fleri aras\u0131ndaki g\u00f6receli konumunun* stil i\u00e7in \u00f6nemli oldu\u011fu durumlar:<\/strong> \u00d6rne\u011fin, her ikinci paragraf\u0131, araya ba\u015fka elemanlar girse bile stilize etmek istedi\u011finizde.<br \/>\n*   <strong>Dinamik i\u00e7erik veya esnek HTML yap\u0131lar\u0131:<\/strong> E\u011fer DOM yap\u0131s\u0131 dinamik olarak de\u011fi\u015febilir ve elemanlar\u0131n aras\u0131na yeni tipler eklenebilir veya \u00e7\u0131kar\u0131labilirse, <code>nth-of-type<\/code> daha sa\u011flam ve hataya daha az a\u00e7\u0131k bir se\u00e7enektir. Bu, stilinizin beklenmedik de\u011fi\u015fikliklerden etkilenmemesini sa\u011flar.<br \/>\n*   <strong>Belirli bir eleman tipinin N. \u00f6rne\u011fini hedeflemek:<\/strong> Sayfada birden fazla ayn\u0131 tipte bile\u015fen veya \u00f6\u011fe varsa ve sadece o tipin belirli bir \u00f6rne\u011fini (\u00f6rne\u011fin, ikinci <code>button<\/code>&#8216;\u0131) hedeflemek istiyorsan\u0131z.<\/p>\n<p><strong>K\u0131saca:<\/strong> E\u011fer bir eleman\u0131n s\u0131ras\u0131n\u0131n, kendisi d\u0131\u015f\u0131ndaki di\u011fer eleman tipleri taraf\u0131ndan etkilenmesini istemiyorsan\u0131z <code>nth-of-type<\/code> kullan\u0131n. E\u011fer t\u00fcm karde\u015f elemanlar\u0131n s\u0131ras\u0131n\u0131n \u00f6nemli oldu\u011fu kat\u0131 bir yap\u0131land\u0131rma varsa ve se\u00e7icinizdeki eleman tipi o konumdaki elemanla e\u015fle\u015fiyorsa <code>nth-child<\/code> kullan\u0131n.<\/p>\n<h3>S\u0131k Yap\u0131lan Hatalar ve Yanl\u0131\u015f Anlamalar<\/h3>\n<p><code>nth-child<\/code> ve <code>nth-of-type<\/code> kullan\u0131rken kar\u015f\u0131la\u015f\u0131lan en yayg\u0131n hatalar ve yanl\u0131\u015f anlamalar, genellikle <code>nth-child<\/code>&#8216;\u0131n \u00e7al\u0131\u015fma prensibinin tam olarak kavranamamas\u0131ndan kaynaklan\u0131r.<\/p>\n<p>1.  <strong><code>p:nth-child(2)<\/code>&#8216;nin Her Zaman \u0130kinci Paragraf\u0131 Se\u00e7ti\u011fini Varsaymak:<\/strong> Bu, en s\u0131k yap\u0131lan hatad\u0131r. Yukar\u0131daki \u00f6rneklerde de g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi, <code>p:nth-child(2)<\/code> yaln\u0131zca ikinci \u00e7ocuk genel olarak bir <code>p<\/code> eleman\u0131ysa ikinci paragraf\u0131 se\u00e7er. E\u011fer ikinci \u00e7ocuk bir <code>div<\/code> veya <code>span<\/code> ise, bu kural hi\u00e7bir paragraf\u0131 se\u00e7mez.<br \/>\n2.  <strong>Yanl\u0131\u015f Anlama: <code>nth-child<\/code> &#8220;benim tipimdeki elemanlar aras\u0131nda X. olan\u0131&#8221; anlam\u0131na gelir:<\/strong> Bu ifade asl\u0131nda <code>nth-of-type<\/code> i\u00e7in ge\u00e7erlidir. <code>nth-child<\/code> ise &#8220;t\u00fcm elemanlar aras\u0131nda X. olan\u0131, ve bu eleman benim tipimde ise&#8221; anlam\u0131na gelir. Bu n\u00fcans\u0131 anlamak, do\u011fru se\u00e7iciyi se\u00e7menin anahtar\u0131d\u0131r.<br \/>\n3.  <strong>Karma\u015f\u0131k Se\u00e7icilerde Beklenmeyen Sonu\u00e7lar:<\/strong> Bazen geli\u015ftiriciler, <code>div > <em>:nth-child(3)<\/code> gibi se\u00e7iciler kullan\u0131r. Burada <code><\/em><\/code> (evrensel se\u00e7ici) kullan\u0131ld\u0131\u011f\u0131 i\u00e7in, <code>nth-child<\/code> ve <code>nth-of-type<\/code> ayn\u0131 sonucu verir \u00e7\u00fcnk\u00fc <code>nth-of-type(<em>)<\/code> da t\u00fcm tipleri sayar. Ancak, <code>div > p:nth-child(3)<\/code> ile <code>div > <\/em>:nth-child(3)<\/code> aras\u0131nda fark vard\u0131r. \u0130lkinde, 3. \u00e7ocuk bir <code>p<\/code> olmal\u0131d\u0131r; ikincisinde, 3. \u00e7ocuk herhangi bir eleman olabilir.<br \/>\n4.  <strong><code>first-child<\/code> ve <code>first-of-type<\/code> Kar\u0131\u015f\u0131kl\u0131\u011f\u0131:<\/strong> Bu \u00f6zel durumlar da <code>nth-child(1)<\/code> ve <code>nth-of-type(1)<\/code> ile ayn\u0131 mant\u0131kla \u00e7al\u0131\u015f\u0131r. <code>first-child<\/code> genel olarak ilk \u00e7ocu\u011fu hedefler, <code>first-of-type<\/code> ise kendi tipindeki ilk \u00e7ocu\u011fu hedefler.<br \/>\n5.  <strong>G\u00f6rsel Hata Ay\u0131klama Eksikli\u011fi:<\/strong> Se\u00e7icilerinizi yazd\u0131ktan sonra taray\u0131c\u0131n\u0131n geli\u015ftirici ara\u00e7lar\u0131n\u0131 kullanarak hangi elemanlar\u0131n se\u00e7ildi\u011fini g\u00f6rsel olarak do\u011frulamamak, hatal\u0131 stil uygulamalar\u0131na yol a\u00e7abilir. Her zaman taray\u0131c\u0131n\u0131n &#8220;Elements&#8221; sekmesinde se\u00e7ilen elemanlar\u0131 kontrol edin.<\/p>\n<p>Bu hatalardan ka\u00e7\u0131nmak i\u00e7in, her zaman se\u00e7icinizin neyi sayd\u0131\u011f\u0131n\u0131 ve hangi ko\u015fullar\u0131 kar\u015f\u0131lamas\u0131 gerekti\u011fini net bir \u015fekilde anlamak \u00f6nemlidir. \u015e\u00fcpheye d\u00fc\u015ft\u00fc\u011f\u00fcn\u00fczde, <code>nth-of-type<\/code> genellikle daha g\u00fcvenli ve \u00f6ng\u00f6r\u00fclebilir bir se\u00e7imdir, \u00f6zellikle eleman tiplerinin kar\u0131\u015f\u0131k oldu\u011fu durumlarda.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p><code>nth-child<\/code> ve <code>nth-of-type<\/code> CSS s\u00f6zde s\u0131n\u0131flar\u0131, bir belgedeki elemanlar\u0131n konumuna dayal\u0131 olarak g\u00fc\u00e7l\u00fc ve esnek stil kurallar\u0131 tan\u0131mlamam\u0131z\u0131 sa\u011flayan paha bi\u00e7ilmez ara\u00e7lard\u0131r. Her ikisi de elemanlar\u0131n s\u0131ral\u0131 konumuna dayanmas\u0131na ra\u011fmen, aralar\u0131ndaki temel fark, elemanlar\u0131 sayma ve hedefleme bi\u00e7imlerinde yatar: <code>nth-child<\/code> \u00fcst eleman\u0131n <em>t\u00fcm<\/em> \u00e7ocuklar\u0131n\u0131 sayarken, <code>nth-of-type<\/code> sadece <em>belirli bir tipteki<\/em> \u00e7ocuklar\u0131 sayar.<\/p>\n<p>Bu n\u00fcanslar\u0131 anlamak, CSS kodunuzun \u00f6ng\u00f6r\u00fclebilirli\u011fini, okunabilirli\u011fini ve s\u00fcrd\u00fcr\u00fclebilirli\u011fini art\u0131rman\u0131n anahtar\u0131d\u0131r. Homojen eleman gruplar\u0131nda genellikle benzer sonu\u00e7lar verseler de, farkl\u0131 eleman tiplerinin kar\u0131\u015ft\u0131\u011f\u0131 karma\u015f\u0131k HTML yap\u0131lar\u0131nda bu fark kritik hale gelir. <code>nth-child<\/code>, elemanlar\u0131n genel, mutlak konumunun \u00f6nemli oldu\u011fu kat\u0131 yap\u0131sal d\u00fczenler i\u00e7in uygunken, <code>nth-of-type<\/code> daha esnek, i\u00e7erik odakl\u0131 d\u00fczenlerde veya dinamik olarak de\u011fi\u015fen i\u00e7eriklerde belirli bir eleman tipinin g\u00f6receli konumunu hedeflemek i\u00e7in daha g\u00fcvenilir bir se\u00e7enektir.<\/p>\n<p>Web geli\u015ftiricileri olarak, bu ara\u00e7lar\u0131 ne zaman ve nas\u0131l kullanaca\u011f\u0131m\u0131z\u0131 bilmek, daha verimli stiller yazmam\u0131za, gereksiz JavaScript kullan\u0131m\u0131ndan ka\u00e7\u0131nmam\u0131za ve daha g\u00fc\u00e7l\u00fc, dinamik kullan\u0131c\u0131 aray\u00fczleri olu\u015fturmam\u0131za olanak tan\u0131r. Her zaman oldu\u011fu gibi, en iyi uygulama, se\u00e7icilerinizi ger\u00e7ek HTML yap\u0131lar\u0131n\u0131z \u00fczerinde test etmek ve taray\u0131c\u0131n\u0131z\u0131n geli\u015ftirici ara\u00e7lar\u0131n\u0131 kullanarak beklentilerinizle e\u015fle\u015fip e\u015fle\u015fmedi\u011fini do\u011frulamakt\u0131r. Bu sayede, <code>nth-child<\/code> ve <code>nth-of-type<\/code>&#8216;\u0131n g\u00fcc\u00fcnden tam olarak yararlanabilir ve CSS becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131yabilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type\nWeb geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olan CSS, bir belgenin g\u00f6rsel su","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":[126],"tags":[],"class_list":{"0":"post-36557","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-css3-html5","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>CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type - 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\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type\" \/>\n<meta property=\"og:description\" content=\"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type Web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olan CSS, bir belgenin g\u00f6rsel su\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-19T18:41:01+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=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type\",\"datePublished\":\"2025-12-19T18:41:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/\"},\"wordCount\":3739,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"CSS3 - HTML5\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/\",\"name\":\"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-19T18:41:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type\"}]},{\"@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":"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type - 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\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/","og_locale":"tr_TR","og_type":"article","og_title":"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type","og_description":"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type Web geli\u015ftirmenin temel ta\u015flar\u0131ndan biri olan CSS, bir belgenin g\u00f6rsel su","og_url":"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-19T18:41:01+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type","datePublished":"2025-12-19T18:41:01+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/"},"wordCount":3739,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["CSS3 - HTML5"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/","url":"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/","name":"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-19T18:41:01+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/css-sozde-siniflarini-karsilastirmak-nth-child-ve-nth-of-type\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CSS S\u00f6zde S\u0131n\u0131flar\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rmak: nth-child ve nth-of-type"}]},{"@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\/36557","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=36557"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36557\/revisions"}],"predecessor-version":[{"id":36558,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36557\/revisions\/36558"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}