{"id":31134,"date":"2025-10-06T06:01:52","date_gmt":"2025-10-06T03:01:52","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/"},"modified":"2025-10-06T06:01:52","modified_gmt":"2025-10-06T03:01:52","slug":"css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/","title":{"rendered":"CSS Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz"},"content":{"rendered":"<p><body><\/p>\n<p>Modern web tasar\u0131m\u0131nda, bir elementin boyutunu do\u011fru bir \u015fekilde belirlemek, kullan\u0131c\u0131 deneyimi ve sitenin duyarl\u0131l\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Peki, piksel mi, y\u00fczdeler mi yoksa daha geli\u015fmi\u015f g\u00f6receli birimler mi kullanmal\u0131y\u0131z? Bu kapsaml\u0131 k\u0131lavuz, web sitelerinizi her cihazda m\u00fckemmel g\u00f6stermenizi sa\u011flayacak CSS boyutland\u0131rma birimlerinin inceliklerini, kullan\u0131m senaryolar\u0131n\u0131 ve en iyi uygulamalar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak. Haz\u0131r m\u0131s\u0131n\u0131z?<\/p>\n<p>G\u00fcn\u00fcm\u00fcz internet d\u00fcnyas\u0131nda, kullan\u0131c\u0131lar bir web sitesine masa\u00fcst\u00fc bilgisayarlardan, ak\u0131ll\u0131 telefonlardan, tabletlerden ve hatta ak\u0131ll\u0131 TV&#8217;lerden eri\u015febiliyorlar. Bu kadar geni\u015f bir cihaz yelpazesi varken, tasar\u0131m\u0131n\u0131z\u0131n her ekranda estetik ve i\u015flevsel kalmas\u0131 beklenir. \u0130\u015fte tam da bu noktada, CSS boyutland\u0131rma birimleri devreye girer ve web geli\u015ftiricileri i\u00e7in hayati bir ara\u00e7 haline gelir. Sabit boyutlar kullanarak olu\u015fturulmu\u015f bir web sitesi, k\u00fc\u00e7\u00fck bir mobil ekranda okunaks\u0131z hale gelebilir veya geni\u015f bir monit\u00f6rde bo\u015fluklarla dolu, garip bir g\u00f6r\u00fcn\u00fcme b\u00fcr\u00fcnebilir. Bu durum, sitenin kullan\u0131labilirli\u011fini ciddi \u015fekilde etkileyerek ziyaret\u00e7i kaybetmenize yol a\u00e7abilir.<\/p>\n<p>Esnek ve duyarl\u0131 bir tasar\u0131m olu\u015fturmak, yaln\u0131zca estetik kayg\u0131lardan ibaret de\u011fildir; ayn\u0131 zamanda SEO (Arama Motoru Optimizasyonu) performans\u0131n\u0131 ve eri\u015filebilirli\u011fi de do\u011frudan etkiler. Google gibi arama motorlar\u0131, mobil uyumlu sitelere \u00f6ncelik verirken, iyi boyutland\u0131r\u0131lm\u0131\u015f, kullan\u0131c\u0131 dostu aray\u00fczler engelli kullan\u0131c\u0131lar i\u00e7in de daha eri\u015filebilir olur. Bu nedenle, do\u011fru CSS boyutland\u0131rma birimlerini se\u00e7mek, sadece kod yazmak de\u011fil, ayn\u0131 zamanda kullan\u0131c\u0131lar\u0131n\u0131z\u0131n web sitenizle nas\u0131l etkile\u015fim kuraca\u011f\u0131n\u0131 \u015fekillendirmek anlam\u0131na gelir. \u00d6rne\u011fin, bir metin blo\u011funun geni\u015fli\u011fini y\u00fczde olarak tan\u0131mlamak, ekran boyutu de\u011fi\u015fti\u011finde metnin otomatik olarak yeniden d\u00fczenlenmesini sa\u011flar. Bir resmin y\u00fcksekli\u011fini <code>vh<\/code> (viewport height) kullanarak ayarlamak ise, resmin her zaman ekran\u0131n belirli bir b\u00f6l\u00fcm\u00fcn\u00fc kaplamas\u0131n\u0131 garantiler. Bu esneklik, kullan\u0131c\u0131lar\u0131n farkl\u0131 cihazlarda da tutarl\u0131 ve keyifli bir deneyim ya\u015famas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Bu k\u0131lavuz boyunca, piksel gibi mutlak birimlerden, <code>em<\/code> ve <code>rem<\/code> gibi g\u00f6receli birimlere, <code>vw<\/code>, <code>vh<\/code> gibi viewport tabanl\u0131 birimlere ve hatta modern CSS&#8217;in sundu\u011fu <code>calc()<\/code>, <code>min()<\/code>, <code>max()<\/code> ve <code>clamp()<\/code> gibi fonksiyonlara kadar geni\u015f bir yelpazeyi inceleyece\u011fiz. Her bir birimin avantajlar\u0131n\u0131, dezavantajlar\u0131n\u0131 ve hangi senaryolarda en uygun oldu\u011funu pratik kod \u00f6rnekleriyle a\u00e7\u0131klayaca\u011f\u0131z. Amac\u0131m\u0131z, web geli\u015ftiricilerinin, sitelerini her t\u00fcrl\u00fc cihaza sorunsuz bir \u015fekilde uyarlayabilecekleri bilgi ve ara\u00e7larla donatmakt\u0131r. B\u00f6ylece, hem estetik a\u00e7\u0131dan \u00e7ekici hem de i\u015flevsel olarak \u00fcst\u00fcn web deneyimleri tasarlaman\u0131n kap\u0131lar\u0131n\u0131 aralam\u0131\u015f olacaks\u0131n\u0131z. Unutmay\u0131n, do\u011fru boyutland\u0131rma, ba\u015far\u0131l\u0131 bir web projesinin temel ta\u015flar\u0131ndan biridir.<\/p>\n<h2>Temel CSS Boyutland\u0131rma Birimleri Nelerdir? Sabit ve G\u00f6receli Fark\u0131<\/h2>\n<p>CSS d\u00fcnyas\u0131nda boyutland\u0131rma birimleri temel olarak iki ana kategoriye ayr\u0131l\u0131r: mutlak (sabit) ve g\u00f6receli. Mutlak birimler, belirlenen boyutu her zaman korurken, g\u00f6receli birimler ba\u015fka bir de\u011fere (ebeveyn element, font boyutu, viewport vb.) ba\u011fl\u0131 olarak boyutlan\u0131r. Bu ayr\u0131m\u0131 anlamak, hangi birimin ne zaman kullan\u0131laca\u011f\u0131na karar verirken kritik \u00f6neme sahiptir. Genellikle, duyarl\u0131 ve esnek tasar\u0131mlar i\u00e7in g\u00f6receli birimler tercih edilirken, belirli durumlarda mutlak birimler de kullan\u0131\u015fl\u0131 olabilir. \u015eimdi bu birimlerin her birini daha yak\u0131ndan inceleyelim.<\/p>\n<h3>Piksel (<code>px<\/code>): Mutlak Bir G\u00fcven Kayna\u011f\u0131 m\u0131?<\/h3>\n<p>Piksel (<code>px<\/code>), CSS&#8217;teki en yayg\u0131n ve muhtemelen en \u00e7ok bilinen mutlak uzunluk birimidir. Bir piksel, ekran\u0131n\u0131zdaki en k\u00fc\u00e7\u00fck \u00f6l\u00e7\u00fclebilir nokta anlam\u0131na gelir. Ancak modern cihazlarda &#8220;piksel&#8221; kavram\u0131 biraz daha karma\u015f\u0131kt\u0131r; bir CSS pikseli, fiziksel cihaz pikselinden farkl\u0131 olabilir (\u00f6rne\u011fin, retina ekranlar). Temel olarak, <code>px<\/code> kulland\u0131\u011f\u0131n\u0131zda, elementin boyutu her zaman ayn\u0131 kal\u0131r, ekran boyutu veya kullan\u0131c\u0131n\u0131n font ayarlar\u0131 ne olursa olsun de\u011fi\u015fmez. Bu durum, belirli bir g\u00f6rsel tutarl\u0131l\u0131k sa\u011flamak istedi\u011finizde avantajl\u0131 olabilir. \u00d6rne\u011fin, bir simgeyi tam olarak <code>16px<\/code> geni\u015fli\u011finde ve y\u00fcksekli\u011finde tutmak isteyebilirsiniz.<\/p>\n<p><code>px<\/code> biriminin en b\u00fcy\u00fck avantaj\u0131 basitli\u011fi ve \u00f6ng\u00f6r\u00fclebilirli\u011fidir. Ne yazd\u0131\u011f\u0131n\u0131z\u0131 g\u00f6r\u00fcrs\u00fcn\u00fcz ve genellikle tam olarak istedi\u011finiz gibi g\u00f6r\u00fcn\u00fcr. Bu, \u00f6zellikle k\u00fc\u00e7\u00fck, sabit boyutlu elementler veya taray\u0131c\u0131 varsay\u0131lan stillerini ge\u00e7ersiz k\u0131lmak i\u00e7in kullan\u0131\u015fl\u0131d\u0131r. Ancak, <code>px<\/code> kullan\u0131m\u0131n\u0131n \u00f6nemli bir dezavantaj\u0131 vard\u0131r: duyarl\u0131 de\u011fildir. Kullan\u0131c\u0131 taray\u0131c\u0131s\u0131nda metin boyutunu b\u00fcy\u00fctmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131nda (eri\u015filebilirlik ayarlar\u0131), <code>px<\/code> ile boyutland\u0131r\u0131lm\u0131\u015f metinler de\u011fi\u015fmez ve okunaks\u0131z hale gelebilir. Benzer \u015fekilde, farkl\u0131 ekran boyutlar\u0131nda veya farkl\u0131 \u00e7\u00f6z\u00fcn\u00fcrl\u00fcklerdeki cihazlarda siteniz garip g\u00f6r\u00fcnebilir. Bu nedenle, \u00f6zellikle metin boyutlar\u0131 ve ana layout elemanlar\u0131 i\u00e7in <code>px<\/code> kullanmak genellikle \u00f6nerilmez. Bunun yerine, bu gibi durumlarda g\u00f6receli birimler \u00e7ok daha esneklik sunar.<\/p>\n<pre><code class=\"language-css\">\n\/* px kullan\u0131m \u00f6rne\u011fi *\/\n.kutu {\n    width: 200px;\n    height: 150px;\n    border: 1px solid black;\n    font-size: 16px; \/* Eri\u015filebilirlik sorunlar\u0131na yol a\u00e7abilir *\/\n}\n\n\/* Bu birim, sabit boyutlu \u00f6\u011feler i\u00e7in hala uygun olabilir *\/\n.icon {\n    width: 24px;\n    height: 24px;\n}\n<\/pre>\n<p><\/code><\/p>\n<aside>\n<p>Uzman \u0130pucu: <code>px<\/code> birimini, nadiren de\u011fi\u015fmesi gereken k\u00fc\u00e7\u00fck, dekoratif \u00f6\u011feler veya \u00e7er\u00e7eveler gibi tam kontrol sa\u011flamak istedi\u011finiz yerlerde kullanmay\u0131 d\u00fc\u015f\u00fcn\u00fcn. Metin boyutlar\u0131 ve genel layout i\u00e7in ise daha esnek birimlere y\u00f6nelin.<\/p>\n<\/aside>\n<h3>Em (<code>em<\/code>) ve Rem (<code>rem<\/code>): Tipografideki G\u00fc\u00e7l\u00fc \u0130kiliyi Anlamak<\/h3>\n<p><code>em<\/code> ve <code>rem<\/code>, CSS'teki en g\u00fc\u00e7l\u00fc g\u00f6receli font boyutland\u0131rma birimlerinden ikisidir ve \u00f6zellikle duyarl\u0131 tipografi s\u00f6z konusu oldu\u011funda vazge\u00e7ilmezdirler. Her ikisi de temelde \"harf boyutu\" anlam\u0131na gelir, ancak referans noktalar\u0131 farkl\u0131d\u0131r. Bu fark, onlar\u0131n nas\u0131l davrand\u0131\u011f\u0131n\u0131 ve ne zaman kullan\u0131lmalar\u0131 gerekti\u011fini belirler.<\/p>\n<p><strong>Em (<code>em<\/code>)<\/strong> birimi, kendisini kullanan elementin kendi <code>font-size<\/code> de\u011ferine g\u00f6re boyutlan\u0131r. E\u011fer bir elementin <code>font-size<\/code> de\u011feri a\u00e7\u0131k\u00e7a belirtilmemi\u015fse, ebeveyn elementinden miras al\u0131r. Bu, <code>em<\/code>'in \"katmanl\u0131\" bir yap\u0131da boyutlanmas\u0131na neden olabilir. \u00d6rne\u011fin, ana metin boyutu <code>16px<\/code> olan bir web sayfas\u0131nda, bir ba\u015fl\u0131\u011f\u0131n <code>font-size: 2em;<\/code> olmas\u0131 <code>32px<\/code>'e denk gelir. Ancak, e\u011fer bu ba\u015fl\u0131k bir ba\u015fka elementin i\u00e7inde yer al\u0131yorsa ve o ebeveyn elementin <code>font-size<\/code> de\u011feri de <code>1.2em<\/code> olarak ayarlanm\u0131\u015fsa, ba\u015fl\u0131k boyutu ebeveynin <code>1.2em<\/code>'ine g\u00f6re de\u011fil, onun hesaplanm\u0131\u015f piksel de\u011ferine g\u00f6re hesaplan\u0131r ve bu durum karma\u015f\u0131kl\u0131\u011fa yol a\u00e7abilir. Bu zincirleme etki, b\u00fcy\u00fck ve karma\u015f\u0131k projelerde \u00f6ng\u00f6r\u00fclemeyen sonu\u00e7lar do\u011furabilir ve hata ay\u0131klamay\u0131 zorla\u015ft\u0131rabilir. Yine de, <code>em<\/code>, bir element i\u00e7indeki alt elementlerin (\u00f6rne\u011fin bir butonun padding'i veya sat\u0131r y\u00fcksekli\u011fi) kendi font boyutlar\u0131na g\u00f6re \u00f6l\u00e7eklenmesini istedi\u011finizde \u00e7ok kullan\u0131\u015fl\u0131 olabilir. Bu, komponent bazl\u0131 tasar\u0131mda i\u00e7 tutarl\u0131l\u0131k sa\u011flar.<\/p>\n<p><strong>Rem (<code>rem<\/code>)<\/strong> ise \"root em\" anlam\u0131na gelir ve referans noktas\u0131 her zaman HTML belgesinin k\u00f6k elementi olan <code><html><\/code> elementinin <code>font-size<\/code> de\u011feridir. Bu, <code>rem<\/code> birimini <code>em<\/code>'den daha \u00f6ng\u00f6r\u00fclebilir ve y\u00f6netilebilir k\u0131lar. \u00c7\u00fcnk\u00fc her <code>rem<\/code> de\u011feri, sayfan\u0131n genel font boyutuna g\u00f6re sabit bir oranda \u00f6l\u00e7eklenir ve ebeveyn elementlerin font boyutlar\u0131ndan etkilenmez. \u00d6rne\u011fin, e\u011fer <code><html><\/code> elementinin <code>font-size<\/code> de\u011feri <code>16px<\/code> olarak ayarlanm\u0131\u015fsa, <code>1rem<\/code> her zaman <code>16px<\/code>'e e\u015fit olacakt\u0131r. Bu sayede, taray\u0131c\u0131 ayarlar\u0131ndan veya kullan\u0131c\u0131n\u0131n eri\u015filebilirlik tercihlerinden ba\u011f\u0131ms\u0131z olarak, t\u00fcm metin boyutlar\u0131n\u0131 tek bir yerden (<code><html><\/code> elementi) kontrol edebilirsiniz. Bu \u00f6zellik, duyarl\u0131 tasar\u0131mlarda temel font boyutunu medya sorgular\u0131 arac\u0131l\u0131\u011f\u0131yla de\u011fi\u015ftirmeyi ve t\u00fcm site genelinde tutarl\u0131 bir \u00f6l\u00e7eklendirme sa\u011flamay\u0131 kolayla\u015ft\u0131r\u0131r. \u00d6zellikle font boyutlar\u0131, margin, padding gibi de\u011ferler i\u00e7in <code>rem<\/code> kullanmak, sitenizin farkl\u0131 cihaz ve eri\u015filebilirlik gereksinimlerine daha iyi uyum sa\u011flamas\u0131na olanak tan\u0131r.<\/p>\n<pre><code class=\"language-css\">\n\/* rem kullan\u0131m\u0131 i\u00e7in temel ayar *\/\nhtml {\n    font-size: 16px; \/* Varsay\u0131lan 1rem = 16px *\/\n}\n\n\/* Farkl\u0131 bir cihaz i\u00e7in font boyutunu ayarlayabilirsiniz *\/\n@media (max-width: 768px) {\n    html {\n        font-size: 14px; \/* Mobil cihazlarda 1rem = 14px olur *\/\n    }\n}\n\n\/* rem \u00f6rnekleri *\/\nh1 {\n    font-size: 3rem; \/* html font-size'\u0131n\u0131n 3 kat\u0131 *\/\n    margin-bottom: 1.5rem;\n}\n\np {\n    font-size: 1rem;\n    line-height: 1.5; \/* Sat\u0131r y\u00fcksekli\u011fi genellikle birimsiz kullan\u0131l\u0131r *\/\n}\n\n\/* em \u00f6rnekleri - genellikle elementin kendi i\u00e7eri\u011fine g\u00f6re boyutland\u0131rma i\u00e7in *\/\n.button {\n    font-size: 1rem; \/* Butonun kendi metin boyutu *\/\n    padding: 0.8em 1.2em; \/* Butonun kendi metin boyutuna g\u00f6re padding *\/\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Vaka Analizi: B\u00fcy\u00fck \u00f6l\u00e7ekli bir e-ticaret sitesi, t\u00fcm tipografi ve bo\u015fluk birimlerinde <code>rem<\/code> kullanmaya karar verdi. Ana <code>html<\/code> elementinin <code>font-size<\/code> de\u011ferini ba\u015flang\u0131\u00e7ta <code>16px<\/code> olarak ayarlad\u0131lar. Daha sonra, medya sorgular\u0131 kullanarak tabletler i\u00e7in <code>14px<\/code>, mobil cihazlar i\u00e7in ise <code>12px<\/code> olarak g\u00fcncellediler. Bu sayede, t\u00fcm ba\u015fl\u0131klar, paragraflar, butonlar ve hatta ikon boyutlar\u0131 (<code>font-size<\/code> ile ili\u015fkilendirilmi\u015f olanlar) tek bir noktadan, tutarl\u0131 bir \u015fekilde \u00f6l\u00e7eklendi. Bu yakla\u015f\u0131m, sitenin farkl\u0131 cihazlarda okunabilirli\u011fini ve kullan\u0131labilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131rken, geli\u015ftirme s\u00fcrecini de basitle\u015ftirdi. Bu t\u00fcr bir strateji, \u00f6zellikle b\u00fcy\u00fck ve uzun \u00f6m\u00fcrl\u00fc projelerde bak\u0131m kolayl\u0131\u011f\u0131 ve \u00f6l\u00e7eklenebilirlik a\u00e7\u0131s\u0131ndan \u00e7ok de\u011ferlidir.<\/p>\n<h3>Y\u00fczdeler (<code>%<\/code>): Esnek Tasar\u0131m\u0131n Temel Ta\u015f\u0131<\/h3>\n<p>Y\u00fczdeler (<code>%<\/code>), CSS'te g\u00f6receli boyutland\u0131rma i\u00e7in en temel ve en s\u0131k kullan\u0131lan birimlerden biridir. Bir elementin boyutunu y\u00fczde olarak belirtmek, onun ebeveyn elementine g\u00f6re ne kadar yer kaplayaca\u011f\u0131n\u0131 tan\u0131mlar. \u00d6rne\u011fin, bir elementin geni\u015fli\u011fini <code>width: 50%;<\/code> olarak ayarlarsan\u0131z, bu element ebeveyninin geni\u015fli\u011finin yar\u0131s\u0131n\u0131 kaplayacakt\u0131r. Bu basit ama g\u00fc\u00e7l\u00fc mekanizma, duyarl\u0131 tasar\u0131mlar\u0131n temelini olu\u015fturur ve i\u00e7eri\u011finizin farkl\u0131 ekran boyutlar\u0131na dinamik olarak uyum sa\u011flamas\u0131na olanak tan\u0131r.<\/p>\n<p>Y\u00fczdelerin g\u00fcc\u00fc, \u00f6zellikle layout olu\u015ftururken ortaya \u00e7\u0131kar. Bir web sayfas\u0131n\u0131n ana layout'unu y\u00fczde birimleriyle tasarlayarak, sayfan\u0131n geni\u015fli\u011fi de\u011fi\u015fti\u011finde s\u00fctunlar\u0131n ve b\u00f6l\u00fcmlerin otomatik olarak yeniden boyutlanmas\u0131n\u0131 sa\u011flayabilirsiniz. Bu, \u00f6zellikle esnek grid sistemleri veya kart tabanl\u0131 tasar\u0131mlar olu\u015fturmak i\u00e7in idealdir. Y\u00fczdeler sadece geni\u015flik ve y\u00fckseklik i\u00e7in de\u011fil, ayn\u0131 zamanda <code>padding<\/code>, <code>margin<\/code> ve hatta <code>font-size<\/code> gibi di\u011fer CSS \u00f6zellikleri i\u00e7in de kullan\u0131labilir. Ancak, <code>padding<\/code> ve <code>margin<\/code> i\u00e7in y\u00fczde de\u011ferleri genellikle ebeveyn elementin <em>geni\u015fli\u011fine<\/em> g\u00f6re hesaplan\u0131r, bu da bazen beklenmedik sonu\u00e7lara yol a\u00e7abilir. \u00d6rne\u011fin, <code>padding-top: 10%;<\/code> hem dikey hem de yatay olarak ebeveynin geni\u015fli\u011finin %10'u kadar bir bo\u015fluk olu\u015fturur.<\/p>\n<p>Y\u00fczdelerle \u00e7al\u0131\u015f\u0131rken dikkat edilmesi gereken baz\u0131 noktalar vard\u0131r. Y\u00fczde y\u00fcksekli\u011fi (<code>height: %;<\/code>) genellikle bir zorluk te\u015fkil eder, \u00e7\u00fcnk\u00fc ebeveyn elementin y\u00fcksekli\u011fi de belirli bir de\u011fer (<code>px<\/code> veya <code>vh<\/code> gibi) olarak ayarlanmam\u0131\u015fsa, y\u00fczde y\u00fcksekli\u011fi genellikle <code>0<\/code> olarak yorumlan\u0131r. Bu nedenle, bir elementin y\u00fcksekli\u011fini y\u00fczde olarak ayarlarken, ebeveynlerinin de belirli bir y\u00fcksekli\u011fe sahip oldu\u011fundan emin olmak \u00f6nemlidir. Ayr\u0131ca, y\u00fczdelerin s\u00fcrekli olarak i\u00e7 i\u00e7e ge\u00e7mesi, karma\u015f\u0131k hesaplamalara ve \u00f6ng\u00f6r\u00fclemeyen sonu\u00e7lara yol a\u00e7abilir. Bu t\u00fcr durumlarda, <code>rem<\/code> veya viewport birimleri gibi di\u011fer g\u00f6receli birimler daha g\u00fcvenilir bir \u00e7\u00f6z\u00fcm sunabilir. Bununla birlikte, \u00e7o\u011fu zaman, y\u00fczdeler bir layout'un genel yap\u0131s\u0131n\u0131 olu\u015fturmak ve esneklik sa\u011flamak i\u00e7in harika bir se\u00e7imdir.<\/p>\n<pre><code class=\"language-css\">\n\/* Y\u00fczde kullan\u0131m\u0131 \u00f6rne\u011fi: Esnek bir s\u00fctun d\u00fczeni *\/\n.container {\n    width: 90%; \/* Sayfa geni\u015fli\u011finin %90'\u0131 *\/\n    margin: 0 auto; \/* Ortalamak i\u00e7in *\/\n}\n\n.col-left {\n    float: left;\n    width: 60%; \/* Kapsay\u0131c\u0131 geni\u015fli\u011finin %60'\u0131 *\/\n    padding: 2%; \/* Kapsay\u0131c\u0131 geni\u015fli\u011finin %2'si kadar i\u00e7 bo\u015fluk *\/\n}\n\n.col-right {\n    float: right;\n    width: 38%; \/* Kapsay\u0131c\u0131 geni\u015fli\u011finin %38'i (kalan %2 margin veya bo\u015fluk i\u00e7in) *\/\n}\n\n\/* Y\u00fczde ile responsive image *\/\nimg {\n    max-width: 100%; \/* Kapsay\u0131c\u0131 geni\u015fli\u011fine g\u00f6re boyutlan\u0131r, ta\u015fmaz *\/\n    height: auto; \/* Oran\u0131 korur *\/\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Vaka Analizi: Bir haber portal\u0131, makale i\u00e7eriklerini \u00fc\u00e7 s\u00fctunlu bir d\u00fczende sergilemek istedi. Ancak bu d\u00fczenin mobil cihazlarda tek s\u00fctunlu olmas\u0131 gerekiyordu. Ba\u015flang\u0131\u00e7ta <code>px<\/code> ile sabit geni\u015flikler denediler, ancak bu, mobil deneyimi fel\u00e7 etti. Ard\u0131ndan, y\u00fczdelere ge\u00e7i\u015f yapt\u0131lar: ana kapsay\u0131c\u0131 <code>width: 90%;<\/code>, s\u00fctunlar ise <code>width: 32%;<\/code> ve aralar\u0131na <code>2%<\/code> <code>margin<\/code> verdiler. Medya sorgular\u0131 ile mobil cihazlarda s\u00fctunlar\u0131n <code>width: 100%;<\/code> olmas\u0131n\u0131 sa\u011flad\u0131lar. Bu strateji, i\u00e7eri\u011fin her cihazda ak\u0131c\u0131 bir \u015fekilde okunmas\u0131n\u0131 garantiledi ve geli\u015ftirme maliyetlerini d\u00fc\u015f\u00fcrd\u00fc.<\/p>\n<h2>Duyarl\u0131 Tasar\u0131m\u0131n Omurgas\u0131: Viewport Birimleri Nas\u0131l Kullan\u0131l\u0131r?<\/h2>\n<p>Duyarl\u0131 tasar\u0131m\u0131n belki de en g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131ndan baz\u0131lar\u0131 viewport birimleridir. Bu birimler, do\u011frudan kullan\u0131c\u0131n\u0131n taray\u0131c\u0131 penceresinin (viewport) boyutlar\u0131na g\u00f6re \u00f6l\u00e7eklenir. Bu sayede, elementler ekran boyutu de\u011fi\u015ftik\u00e7e dinamik olarak yeniden boyutlan\u0131r ve tasar\u0131mlar\u0131n\u0131z\u0131n her cihazda m\u00fckemmel g\u00f6r\u00fcnmesini sa\u011flar. Viewport birimleri, \u00f6zellikle tam ekran arka planlar, hero b\u00f6l\u00fcmleri veya dinamik olarak \u00f6l\u00e7eklenen fontlar gibi \"s\u0131v\u0131\" tasar\u0131mlar olu\u015fturmak i\u00e7in idealdir. Bu birimler, y\u00fczdelerin ebeveyn ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n\u0131n \u00f6tesine ge\u00e7erek, do\u011frudan genel ekran boyutuna referans al\u0131rlar, bu da onlar\u0131 \u00e7ok g\u00fc\u00e7l\u00fc k\u0131lar. \u015eimdi bu kritik birimleri detayl\u0131ca inceleyelim.<\/p>\n<h3><code>vw<\/code> ve <code>vh<\/code>: Ekran\u0131n G\u00fcc\u00fcn\u00fc Tamamen Kullanmak<\/h3>\n<p><code>vw<\/code> (viewport width) ve <code>vh<\/code> (viewport height), web sitenizin i\u00e7eri\u011fini do\u011frudan kullan\u0131c\u0131n\u0131n g\u00f6r\u00fcnt\u00fcleme alan\u0131n\u0131n geni\u015fli\u011fine ve y\u00fcksekli\u011fine g\u00f6re boyutland\u0131rmak i\u00e7in kullan\u0131l\u0131r. <code>1vw<\/code>, g\u00f6r\u00fcnt\u00fcleme alan\u0131n\u0131n geni\u015fli\u011finin %1'ine e\u015fittir. Benzer \u015fekilde, <code>1vh<\/code>, g\u00f6r\u00fcnt\u00fcleme alan\u0131n\u0131n y\u00fcksekli\u011finin %1'ine kar\u015f\u0131l\u0131k gelir. \u00d6rne\u011fin, <code>width: 100vw;<\/code> bir elementin taray\u0131c\u0131 penceresinin tamam\u0131n\u0131 yatayda kaplamas\u0131n\u0131 sa\u011flarken, <code>height: 100vh;<\/code> dikeyde t\u00fcm ekran\u0131 doldurur. Bu \u00f6zellik, tam ekran kahraman g\u00f6rseli (hero image) veya video arka planlar\u0131 gibi elementler olu\u015fturmak i\u00e7in m\u00fckemmeldir.<\/p>\n<p>Bu birimler, \u00f6zellikle dinamik tipografi veya \u00f6l\u00e7eklenebilir layout'lar olu\u015fturmak i\u00e7in \u00e7ok etkilidir. \u00d6rne\u011fin, bir ba\u015fl\u0131\u011f\u0131n <code>font-size: 5vw;<\/code> olarak ayarlanmas\u0131, ba\u015fl\u0131\u011f\u0131n ekran geni\u015fli\u011fiyle birlikte otomatik olarak b\u00fcy\u00fcmesini veya k\u00fc\u00e7\u00fclmesini sa\u011flar. Bu, farkl\u0131 ekran boyutlar\u0131nda her zaman okunabilir ve orant\u0131l\u0131 bir metin boyutu elde etmek i\u00e7in harika bir yoldur. Ayr\u0131ca, <code>vh<\/code> kullanarak belirli bir b\u00f6l\u00fcm\u00fcn her zaman ekran\u0131n belirli bir y\u00fczdesini kaplamas\u0131n\u0131 sa\u011flayabilirsiniz, bu da \u00f6zellikle tek sayfal\u0131k web uygulamalar\u0131nda veya sunum benzeri sayfalarda kullan\u0131\u015fl\u0131d\u0131r. Ancak, <code>vw<\/code> ve <code>vh<\/code> kullan\u0131rken dikkatli olmak gerekir. Taray\u0131c\u0131lar\u0131n kayd\u0131rma \u00e7ubuklar\u0131, viewport'un bir par\u00e7as\u0131 olarak kabul edilebilir ve bu da <code>100vw<\/code> kulland\u0131\u011f\u0131n\u0131zda yatay kayd\u0131rma \u00e7ubu\u011funun g\u00f6r\u00fcnmesine neden olabilir. Bu durumu \u00f6nlemek i\u00e7in genellikle <code>width: 100%;<\/code> veya <code>calc(100vw - scrollbar-width)<\/code> gibi \u00e7\u00f6z\u00fcmler tercih edilebilir. Mobil cihazlarda, taray\u0131c\u0131lar\u0131n URL \u00e7ubu\u011fu ve alt navigasyon \u00e7ubuklar\u0131 <code>vh<\/code> de\u011ferini dinamik olarak de\u011fi\u015ftirebilir, bu da bazen beklenmedik g\u00f6rsel kaymalara neden olabilir. Bu mobil uyumsuzluklar i\u00e7in yeni nesil viewport birimleri (<code>dvh<\/code>, <code>svh<\/code>, <code>lvh<\/code>) geli\u015ftirilmi\u015ftir, ancak yayg\u0131n taray\u0131c\u0131 deste\u011fi hen\u00fcz s\u0131n\u0131rl\u0131d\u0131r.<\/p>\n<pre><code class=\"language-css\">\n\/* Tam ekran hero section *\/\n.hero-section {\n    height: 100vh; \/* Ekran\u0131n tamam\u0131n\u0131 kaplar *\/\n    width: 100vw; \/* Ekran\u0131n tamam\u0131n\u0131 kaplar *\/\n    background-image: url('hero.jpg');\n    background-size: cover;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n\/* Ekran geni\u015fli\u011fine g\u00f6re \u00f6l\u00e7eklenen ba\u015fl\u0131k *\/\n.hero-title {\n    font-size: 6vw; \/* Ekran geni\u015fli\u011finin %6's\u0131 kadar *\/\n    color: white;\n    text-align: center;\n}\n\n\/* K\u00fc\u00e7\u00fck ekranlarda ba\u015fl\u0131\u011f\u0131n daha k\u00fc\u00e7\u00fck olmas\u0131n\u0131 sa\u011fla *\/\n@media (max-width: 600px) {\n    .hero-title {\n        font-size: 10vw; \/* Mobil cihazlarda daha b\u00fcy\u00fck g\u00f6r\u00fcnmesini sa\u011flar, ancak daha h\u0131zl\u0131 \u00f6l\u00e7eklenir *\/\n    }\n}\n<\/pre>\n<p><\/code><\/p>\n<h3><code>vmin<\/code> ve <code>vmax<\/code>: Dinamik Boyutland\u0131rman\u0131n Ak\u0131ll\u0131 \u00c7\u00f6z\u00fcmleri<\/h3>\n<p><code>vmin<\/code> (viewport minimum) ve <code>vmax<\/code> (viewport maximum) birimleri, <code>vw<\/code> ve <code>vh<\/code>'nin bir uzant\u0131s\u0131d\u0131r. Bu birimler, g\u00f6r\u00fcnt\u00fcleme alan\u0131n\u0131n geni\u015fli\u011fi veya y\u00fcksekli\u011finden hangisi daha k\u00fc\u00e7\u00fckse\/b\u00fcy\u00fckse, o de\u011fere g\u00f6re boyutlan\u0131r. Bu, belirli senaryolarda \u00e7ok ak\u0131ll\u0131ca \u00e7\u00f6z\u00fcmler sunabilir ve tasar\u0131mlar\u0131n\u0131za daha fazla kontrol katabilir.<\/p>\n<p><code>1vmin<\/code>, g\u00f6r\u00fcnt\u00fcleme alan\u0131n\u0131n geni\u015fli\u011fi veya y\u00fcksekli\u011finden hangisi daha k\u00fc\u00e7\u00fckse, o de\u011ferin %1'ine e\u015fittir. \u00d6rne\u011fin, <code>1000px<\/code> geni\u015fli\u011finde ve <code>600px<\/code> y\u00fcksekli\u011finde bir ekranda <code>1vmin<\/code>, <code>6px<\/code>'e e\u015fit olacakt\u0131r (\u00e7\u00fcnk\u00fc <code>600px<\/code> daha k\u00fc\u00e7\u00fckt\u00fcr). Tam tersi, <code>1vmax<\/code>, g\u00f6r\u00fcnt\u00fcleme alan\u0131n\u0131n geni\u015fli\u011fi veya y\u00fcksekli\u011finden hangisi daha b\u00fcy\u00fckse, o de\u011ferin %1'ine e\u015fittir. Ayn\u0131 \u00f6rnekte, <code>1vmax<\/code>, <code>10px<\/code>'e e\u015fit olacakt\u0131r (\u00e7\u00fcnk\u00fc <code>1000px<\/code> daha b\u00fcy\u00fckt\u00fcr).<\/p>\n<p>Bu birimler, bir elementin her zaman ekran\u0131n i\u00e7inde kalmas\u0131n\u0131 veya belirli bir alanda kapsay\u0131c\u0131 olmas\u0131n\u0131 istedi\u011finizde \u00f6zellikle kullan\u0131\u015fl\u0131d\u0131r. \u00d6rne\u011fin, bir oyun tahtas\u0131 veya bir resim galerisi gibi bir \u00f6\u011feyi her zaman g\u00f6r\u00fcn\u00fcr alana s\u0131\u011fd\u0131rmak isteyebilirsiniz. <code>width: 80vmin; height: 80vmin;<\/code> kullanarak, bu elementin her zaman ekran\u0131n daha k\u0131sa kenar\u0131n\u0131n %80'i kadar bir kare olu\u015fturmas\u0131n\u0131 sa\u011flayabilirsiniz. Bu, yatay veya dikey y\u00f6nde ekran\u0131 d\u00f6nd\u00fcrseniz bile elementin asla ekran\u0131 ta\u015fmayaca\u011f\u0131 anlam\u0131na gelir. Benzer \u015fekilde, <code>vmax<\/code>, bir elementin hem yatay hem de dikey y\u00f6nde ekran\u0131n her zaman en az belirli bir k\u0131sm\u0131n\u0131 kaplamas\u0131n\u0131 sa\u011flamak i\u00e7in kullan\u0131labilir, b\u00f6ylece b\u00fcy\u00fck ekranlarda bile yeterince b\u00fcy\u00fckt\u00fcr.<\/p>\n<pre><code class=\"language-css\">\n\/* Kare bir oyun alan\u0131, her zaman ekran\u0131n i\u00e7inde kal\u0131r *\/\n.game-board {\n    width: 70vmin;\n    height: 70vmin;\n    background-color: lightblue;\n    margin: 5vmin auto; \/* \u00dcst ve alt bo\u015fluk ekran\u0131n k\u0131sa kenar\u0131na g\u00f6re ayarlan\u0131r *\/\n    border: 2px solid darkblue;\n}\n\n\/* B\u00fcy\u00fck ekranlarda bile g\u00f6r\u00fcn\u00fcr kalacak bir metin *\/\n.main-heading {\n    font-size: 4vmax; \/* En b\u00fcy\u00fck ekran boyutuna g\u00f6re \u00f6l\u00e7eklenir *\/\n    text-align: center;\n}\n<\/pre>\n<p><\/code><\/p>\n<aside>\n<p>Uzman \u0130pucu: <code>vmin<\/code> ve <code>vmax<\/code>, \u00f6zellikle boyutunun de\u011fi\u015fen ekran oranlar\u0131na ra\u011fmen korunmas\u0131 gereken dairesel veya kare \u00f6\u011feler i\u00e7in idealdir. \u00d6rne\u011fin, bir avatar resmini her zaman ekran\u0131n k\u00fc\u00e7\u00fck boyutuna g\u00f6re \u00f6l\u00e7ekleyerek her zaman g\u00f6r\u00fcn\u00fcr alanda kalmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<\/aside>\n<h3><code>ch<\/code> ve <code>ex<\/code>: Tipografi Odakl\u0131 Farkl\u0131 Bir Yakla\u015f\u0131m<\/h3>\n<p><code>ch<\/code> (character) ve <code>ex<\/code> (x-height), CSS'teki daha az bilinen ancak belirli tipografik senaryolarda olduk\u00e7a kullan\u0131\u015fl\u0131 olabilen g\u00f6receli birimlerdir. Her ikisi de kullan\u0131lan fontun \u00f6zelliklerine ba\u011fl\u0131d\u0131r ve metin odakl\u0131 tasar\u0131mlarda \u00f6zel kontrol sa\u011flamak amac\u0131yla geli\u015ftirilmi\u015ftir.<\/p>\n<p><strong><code>ch<\/code> birimi<\/strong>, mevcut fontun \"0\" (s\u0131f\u0131r) karakterinin geni\u015fli\u011fine e\u015fittir. Bu, \u00f6zellikle sabit geni\u015flikli (monospace) fontlarla \u00e7al\u0131\u015f\u0131rken veya metin bloklar\u0131n\u0131n belirli bir karakter say\u0131s\u0131yla s\u0131n\u0131rl\u0131 olmas\u0131n\u0131 istedi\u011finizde \u00e7ok kullan\u0131\u015fl\u0131d\u0131r. \u00d6rne\u011fin, bir metin giri\u015f alan\u0131 i\u00e7in <code>width: 40ch;<\/code> tan\u0131mlamak, input alan\u0131n\u0131n yakla\u015f\u0131k olarak 40 karakter geni\u015fli\u011finde olmas\u0131n\u0131 sa\u011flar, bu da kullan\u0131c\u0131n\u0131n ne kadar metin girebilece\u011fi hakk\u0131nda g\u00f6rsel bir ipucu verir. Ayr\u0131ca, okunabilirlik i\u00e7in sat\u0131r ba\u015f\u0131na ideal karakter say\u0131s\u0131n\u0131 (genellikle 45-75 karakter) hedefleyen duyarl\u0131 metin bloklar\u0131 olu\u015fturmak i\u00e7in de <code>ch<\/code> birimi kullan\u0131labilir. Bu, farkl\u0131 ekran boyutlar\u0131nda bile metin bloklar\u0131n\u0131n okunabilirli\u011fini korumaya yard\u0131mc\u0131 olur. Ancak, <code>ch<\/code> biriminin davran\u0131\u015f\u0131 farkl\u0131 fontlar aras\u0131nda de\u011fi\u015febilir, \u00e7\u00fcnk\u00fc farkl\u0131 fontlar\u0131n \"0\" karakteri farkl\u0131 geni\u015fliklere sahip olabilir.<\/p>\n<p><strong><code>ex<\/code> birimi<\/strong> ise, mevcut fontun \"x\" harfinin y\u00fcksekli\u011fine e\u015fittir (genellikle k\u00fc\u00e7\u00fck harflerin taban \u00e7izgisi ile \u00fcst \u00e7izgisi aras\u0131ndaki mesafeyi ifade eder). Bu birim, dikey hizalama ve sat\u0131r y\u00fcksekli\u011fi ayarlamalar\u0131 i\u00e7in daha spesifik bir kontrol sa\u011flamak amac\u0131yla tasarlanm\u0131\u015ft\u0131r. \u00d6rne\u011fin, s\u00fcper veya alt simgelerin (<code><sup><\/code>, <code><sub><\/code>) y\u00fcksekli\u011fini veya dikey bo\u015fluklar\u0131n\u0131 ayarlarken <code>ex<\/code> birimi kullan\u0131labilir. Ayr\u0131ca, baz\u0131 durumlarda, bir metin sat\u0131r\u0131n\u0131n temel \u00e7izgisine (baseline) g\u00f6re dikey hizalama yapmak i\u00e7in de yararl\u0131 olabilir. Ancak, <code>ex<\/code> biriminin tutarl\u0131l\u0131\u011f\u0131 fonttan fona b\u00fcy\u00fck \u00f6l\u00e7\u00fcde de\u011fi\u015febilir ve modern CSS d\u00fczenleme teknikleri (Flexbox, Grid) ve <code>rem<\/code> gibi birimler sayesinde kullan\u0131m alan\u0131 nispeten s\u0131n\u0131rl\u0131d\u0131r.<\/p>\n<pre><code class=\"language-css\">\n\/* ch birimi \u00f6rne\u011fi: Metin alan\u0131 geni\u015fli\u011fi *\/\n.username-input {\n    width: 30ch; \/* Yakla\u015f\u0131k 30 karakter geni\u015fli\u011finde *\/\n    font-family: monospace; \/* ch biriminin en tutarl\u0131 \u00e7al\u0131\u015ft\u0131\u011f\u0131 font t\u00fcr\u00fc *\/\n}\n\n\/* Okunabilirli\u011fi art\u0131ran metin blo\u011fu geni\u015fli\u011fi *\/\n.article-content {\n    max-width: 70ch; \/* Sat\u0131r ba\u015f\u0131na ortalama 70 karakter *\/\n    margin: 0 auto;\n}\n\n\/* ex birimi \u00f6rne\u011fi: Simgelerin dikey hizalamas\u0131 *\/\n.icon-with-text {\n    vertical-align: -0.2ex; \/* Metin taban \u00e7izgisine g\u00f6re hafif\u00e7e a\u015fa\u011f\u0131 hizala *\/\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Bu birimler ni\u015f kullan\u0131m alanlar\u0131na sahip olsa da, \u00f6zellikle tipografiyle yo\u011fun olarak ilgilenen veya belirli metin formatlamas\u0131 gerektiren geli\u015ftiriciler i\u00e7in g\u00fc\u00e7l\u00fc ara\u00e7lar olabilirler. Genel web geli\u015ftirme i\u00e7in <code>rem<\/code> ve <code>vw<\/code> gibi birimler daha yayg\u0131n ve \u00e7ok y\u00f6nl\u00fc olsa da, <code>ch<\/code> ve <code>ex<\/code>'in varl\u0131\u011f\u0131n\u0131 bilmek, belirli tasar\u0131m zorluklar\u0131na yarat\u0131c\u0131 \u00e7\u00f6z\u00fcmler bulman\u0131za yard\u0131mc\u0131 olabilir.<\/p>\n<h2>Modern CSS Boyutland\u0131rmada \u0130leri Teknikler ve En \u0130yi Uygulamalar<\/h2>\n<p>Modern web geli\u015ftirme, statik sayfalardan \u00e7ok daha fazlas\u0131n\u0131 gerektiriyor. Kullan\u0131c\u0131lar\u0131n beklentileri, sitelerin her cihazda sorunsuz \u00e7al\u0131\u015fmas\u0131, h\u0131zl\u0131 y\u00fcklenmesi ve g\u00f6rsel olarak \u00e7ekici olmas\u0131 y\u00f6n\u00fcnde. Bu hedeflere ula\u015fmak i\u00e7in, CSS boyutland\u0131rma birimlerini sadece temel d\u00fczeyde kullanmak yeterli de\u011fildir. \u0130leri d\u00fczey CSS fonksiyonlar\u0131 ve layout teknikleri, birimlerin g\u00fcc\u00fcn\u00fc bir \u00fcst seviyeye ta\u015f\u0131yarak, daha dinamik, daha esnek ve daha performansl\u0131 tasar\u0131mlar olu\u015fturman\u0131za olanak tan\u0131r. \u00d6zellikle <code>calc()<\/code>, <code>min()<\/code>, <code>max()<\/code>, <code>clamp()<\/code> gibi fonksiyonlar, tek bir CSS \u00f6zelli\u011fi i\u00e7inde birden fazla birimi ve matematiksel i\u015flemi birle\u015ftirme yetene\u011fi sunarken, CSS Grid ve Flexbox gibi layout mod\u00fclleri, birimlerin layout \u00fczerindeki etkile\u015fimini k\u00f6kten de\u011fi\u015ftirdi. Ayr\u0131ca, mobil uyumlu tasar\u0131mlar\u0131n vazge\u00e7ilmezi olan medya sorgular\u0131 ile bu birimleri birle\u015ftirme, sitenizin her ekranda ideal g\u00f6r\u00fcnmesini sa\u011flar. \u015eimdi bu ileri d\u00fczey teknikleri ve en iyi uygulamalar\u0131 derinlemesine inceleyelim.<\/p>\n<h3><code>calc()<\/code>, <code>min()<\/code>, <code>max()<\/code>, <code>clamp()<\/code> Fonksiyonlar\u0131 ile Esneklik<\/h3>\n<p>Modern CSS, statik de\u011ferlerin \u00f6tesine ge\u00e7en dinamik hesaplamalar yapmam\u0131za olanak tan\u0131yan bir dizi fonksiyon sunar. Bu fonksiyonlar, farkl\u0131 CSS birimlerini birle\u015ftirerek ve ko\u015fullu mant\u0131k uygulayarak tasar\u0131mlar\u0131m\u0131za inan\u0131lmaz bir esneklik kat\u0131yor.<\/p>\n<ul>\n<li>\n            <strong><code>calc()<\/code> Fonksiyonu:<\/strong> Bu fonksiyon, CSS \u00f6zelliklerinin de\u011ferlerini matematiksel ifadelerle hesaplamam\u0131z\u0131 sa\u011flar. Farkl\u0131 birimleri birle\u015ftirmek (\u00f6rne\u011fin <code>px<\/code> ve <code>%<\/code>) ve aralar\u0131nda toplama, \u00e7\u0131karma, \u00e7arpma, b\u00f6lme gibi i\u015flemler yapmak i\u00e7in idealdir. Bu sayede, belirli bir sabit de\u011feri korurken geri kalan alan\u0131 doldurmak veya responsive tasar\u0131mda karma\u015f\u0131k bo\u015fluklar olu\u015fturmak gibi senaryolarda \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<pre><code class=\"language-css\">\n\/* Ekran\u0131n %100'\u00fcnden 20px \u00e7\u0131kararak geni\u015flik ayarla *\/\n.main-content {\n    width: calc(100% - 40px);\n    margin: 0 20px;\n}\n\n\/* Bir elementin y\u00fcksekli\u011fini viewport y\u00fcksekli\u011fine ve sabit bir de\u011fere g\u00f6re ayarla *\/\n.header {\n    height: 100px;\n}\n.full-screen-section {\n    height: calc(100vh - 100px); \/* Header y\u00fcksekli\u011fini \u00e7\u0131kar *\/\n}\n            <\/pre>\n<p><\/code>\n        <\/li>\n<li>\n            <strong><code>min()<\/code> ve <code>max()<\/code> Fonksiyonlar\u0131:<\/strong> Bu fonksiyonlar, bir \u00f6zelli\u011fe uygulanacak nihai de\u011feri, belirtilen de\u011fer listesinden minimum veya maksimum olan\u0131 se\u00e7erek belirler.<\/p>\n<ul>\n<li><strong><code>min(val1, val2, ...)<\/code>:<\/strong> Belirtilen de\u011ferler aras\u0131ndan en k\u00fc\u00e7\u00fck olan\u0131 kullan\u0131r. \u00d6rne\u011fin, bir elementin geni\u015fli\u011finin belirli bir y\u00fczdeyi ge\u00e7mesini istemiyorsunuz ama ayn\u0131 zamanda belirli bir piksel de\u011ferinden de k\u00fc\u00e7\u00fck olmas\u0131n\u0131 istemiyorsunuz.<\/li>\n<pre><code class=\"language-css\">\n\/* Kutu geni\u015fli\u011fi %50'yi veya 400px'i ge\u00e7emez (hangisi k\u00fc\u00e7\u00fckse) *\/\n.card {\n    width: min(50%, 400px);\n}\n                <\/pre>\n<p><\/code><\/p>\n<li><strong><code>max(val1, val2, ...)<\/code>:<\/strong> Belirtilen de\u011ferler aras\u0131ndan en b\u00fcy\u00fck olan\u0131 kullan\u0131r. \u00d6rne\u011fin, bir elementin geni\u015fli\u011finin belirli bir piksel de\u011ferinden daha k\u00fc\u00e7\u00fck olmas\u0131n\u0131 istemiyorsunuz ama ayn\u0131 zamanda ekran\u0131n tamam\u0131n\u0131 da kaplayabilir.<\/li>\n<pre><code class=\"language-css\">\n\/* Kutu geni\u015fli\u011fi her zaman en az 300px olacak, ancak %80'e kadar b\u00fcy\u00fcyebilir *\/\n.banner {\n    width: max(300px, 80%);\n}\n                <\/pre>\n<p><\/code>\n            <\/ul>\n<\/li>\n<li>\n            <strong><code>clamp()<\/code> Fonksiyonu:<\/strong> <code>clamp()<\/code>, <code>min()<\/code> ve <code>max()<\/code>'in g\u00fcc\u00fcn\u00fc birle\u015ftirerek, bir de\u011feri \u00fc\u00e7 aral\u0131kta tan\u0131mlamam\u0131z\u0131 sa\u011flar: <code>clamp(min-de\u011fer, tercih edilen-de\u011fer, max-de\u011fer)<\/code>. Bu, \"ak\u0131\u015fkan tipografi\" (fluid typography) gibi senaryolarda inan\u0131lmaz derecede kullan\u0131\u015fl\u0131d\u0131r, \u00e7\u00fcnk\u00fc metin boyutunun belirli bir minimum ve maksimum aral\u0131kta kal\u0131rken, viewport'a g\u00f6re \u00f6l\u00e7eklenmesini sa\u011flar.<\/p>\n<pre><code class=\"language-css\">\n\/* Ak\u0131\u015fkan ba\u015fl\u0131k boyutu *\/\nh1 {\n    \/* Minimum 2rem, tercih edilen 5vw, maksimum 4rem *\/\n    font-size: clamp(2rem, 5vw, 4rem);\n}\n\/* Bu sayede ba\u015fl\u0131k, ekran k\u00fc\u00e7\u00fcld\u00fck\u00e7e k\u00fc\u00e7\u00fcl\u00fcr (min 2rem), b\u00fcy\u00fcd\u00fck\u00e7e b\u00fcy\u00fcr (max 4rem),\n   bu aral\u0131kta ise ekran geni\u015fli\u011finin %5'i olarak boyutlan\u0131r. *\/\n            <\/pre>\n<p><\/code><\/p>\n<p>Vaka Analizi: Bir portfolyo sitesi, ana ba\u015fl\u0131klar\u0131n\u0131n masa\u00fcst\u00fcnde b\u00fcy\u00fck ve etkileyici g\u00f6r\u00fcnmesini, mobilde ise okunabilir kalmas\u0131n\u0131 istedi. <code>font-size: clamp(1.8rem, 7vw, 4rem);<\/code> kullanarak, ba\u015fl\u0131klar\u0131 en k\u00fc\u00e7\u00fck ekranlarda <code>1.8rem<\/code>'den, en b\u00fcy\u00fck ekranlarda <code>4rem<\/code>'e kadar otomatik olarak \u00f6l\u00e7eklendi. Bu yakla\u015f\u0131m, manuel medya sorgular\u0131 yazmadan m\u00fckemmel bir responsive tipografi elde etmelerini sa\u011flad\u0131.<\/p>\n<\/li>\n<\/ul>\n<h3>Grid ve Flexbox ile Birimlerin Uyumlu Dans\u0131<\/h3>\n<p>CSS Grid ve Flexbox, modern layout olu\u015fturman\u0131n belkemi\u011fidir. Bu iki g\u00fc\u00e7l\u00fc d\u00fczenleme modeli, boyutland\u0131rma birimleriyle birle\u015fti\u011finde ola\u011fan\u00fcst\u00fc esneklik sunar. Geleneksel float tabanl\u0131 layout'lar\u0131n aksine, Grid ve Flexbox, elementlerin birbirleriyle ve kapsay\u0131c\u0131lar\u0131yla nas\u0131l etkile\u015fim kurdu\u011funu daha sezgisel ve g\u00fc\u00e7l\u00fc bir \u015fekilde kontrol etmemizi sa\u011flar.<\/p>\n<ul>\n<li>\n            <strong>Flexbox:<\/strong> Tek boyutlu (sat\u0131r veya s\u00fctun) layout'lar i\u00e7in tasarlanm\u0131\u015ft\u0131r. Flexbox ile elementlerin esnekli\u011fini <code>flex-grow<\/code>, <code>flex-shrink<\/code> ve <code>flex-basis<\/code> gibi \u00f6zelliklerle kontrol edebilirsiniz. <code>flex-basis<\/code> genellikle <code>px<\/code>, <code>%<\/code>, <code>rem<\/code> veya <code>vw<\/code> gibi birimlerle ayarlan\u0131r ve bir \u00f6\u011fenin ba\u015flang\u0131\u00e7 boyutunu belirler. \u00d6rne\u011fin, <code>flex-basis: 300px;<\/code> bir \u00f6\u011fenin en az <code>300px<\/code> geni\u015fli\u011finde olmas\u0131n\u0131 sa\u011flarken, <code>flex-grow: 1;<\/code> esnek kalan alan\u0131 doldurmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-css\">\n.flex-container {\n    display: flex;\n    gap: 1rem;\n}\n\n.flex-item {\n    flex: 1 1 300px; \/* flex-grow: 1, flex-shrink: 1, flex-basis: 300px *\/\n    min-width: 200px; \/* \u00d6\u011felerin \u00e7ok k\u00fc\u00e7\u00fclmesini engelle *\/\n    padding: 1rem;\n    background-color: #f0f0f0;\n}\n            <\/pre>\n<p><\/code>\n        <\/li>\n<li>\n            <strong>CSS Grid:<\/strong> \u0130ki boyutlu (hem sat\u0131r hem de s\u00fctun) layout'lar i\u00e7in idealdir. Grid, i\u00e7erik da\u011f\u0131l\u0131m\u0131n\u0131 daha do\u011frudan kontrol etmemizi sa\u011flayan g\u00fc\u00e7l\u00fc bir birim olan <strong><code>fr<\/code> (fraction) birimini<\/strong> tan\u0131tt\u0131. <code>1fr<\/code>, grid kapsay\u0131c\u0131s\u0131nda mevcut olan bo\u015f alan\u0131n bir par\u00e7as\u0131n\u0131 temsil eder. \u00d6rne\u011fin, <code>grid-template-columns: 1fr 2fr 1fr;<\/code> \u00fc\u00e7 s\u00fctun olu\u015fturur; ortadaki s\u00fctun, kenarlardaki s\u00fctunlar\u0131n iki kat\u0131 geni\u015fli\u011finde olur. Grid, <code>px<\/code>, <code>%<\/code>, <code>rem<\/code> ve <code>vw<\/code> gibi birimlerle de birle\u015ftirilebilir, bu da \u00e7ok esnek ve karma\u015f\u0131k layout'lar olu\u015fturman\u0131za olanak tan\u0131r.<\/p>\n<pre><code class=\"language-css\">\n.grid-container {\n    display: grid;\n    \/* \u0130lk s\u00fctun 200px sabit, ikinci s\u00fctun 1fr, \u00fc\u00e7\u00fcnc\u00fc s\u00fctun 1fr *\/\n    grid-template-columns: 200px 1fr 1fr;\n    gap: 1rem;\n}\n\n.grid-item {\n    padding: 1rem;\n    background-color: #e0e0e0;\n}\n\n\/* responsive grid \u00f6rne\u011fi *\/\n@media (max-width: 768px) {\n    .grid-container {\n        grid-template-columns: 1fr; \/* Mobil cihazlarda tek s\u00fctun *\/\n    }\n}\n            <\/pre>\n<p><\/code><\/p>\n<p><code>minmax()<\/code> fonksiyonu da Grid ile harika \u00e7al\u0131\u015f\u0131r ve \u00f6\u011felerin belirli bir aral\u0131kta boyutlanmas\u0131n\u0131 sa\u011flar: <code>grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));<\/code> gibi, bu da minimum 250px geni\u015fli\u011fe sahip, esnek s\u00fctunlar olu\u015fturur.<\/p>\n<\/li>\n<\/ul>\n<h3>Mobil Uyumlu Tasar\u0131m \u0130\u00e7in Medya Sorgular\u0131 ve Birimler Nas\u0131l Birlikte \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>Medya sorgular\u0131 (<code>media queries<\/code>), farkl\u0131 ekran boyutlar\u0131, \u00e7\u00f6z\u00fcn\u00fcrl\u00fckler ve cihaz \u00f6zellikleri i\u00e7in farkl\u0131 CSS stilleri uygulamam\u0131z\u0131 sa\u011flayan temel bir responsive tasar\u0131m arac\u0131d\u0131r. CSS boyutland\u0131rma birimlerinin ger\u00e7ek potansiyeli, medya sorgular\u0131yla birle\u015ftirildi\u011finde ortaya \u00e7\u0131kar. Bu kombinasyon, sitenizin her cihazda optimize edilmi\u015f bir deneyim sunmas\u0131n\u0131 garantiler.<\/p>\n<p>Genel bir strateji, varsay\u0131lan de\u011ferleri daha b\u00fcy\u00fck ekranlar i\u00e7in ayarlamak ve ard\u0131ndan medya sorgular\u0131 kullanarak daha k\u00fc\u00e7\u00fck ekranlar i\u00e7in bu de\u011ferleri ayarlamakt\u0131r. \u00d6zellikle <code>rem<\/code> ve <code>vw<\/code> birimleri, medya sorgular\u0131yla birlikte \u00e7ok g\u00fc\u00e7l\u00fc bir ikili olu\u015fturur. \u00d6rne\u011fin, <code>html<\/code> elementinin <code>font-size<\/code> de\u011ferini bir medya sorgusu i\u00e7inde de\u011fi\u015ftirmek, t\u00fcm <code>rem<\/code> tabanl\u0131 metin boyutlar\u0131n\u0131n ve bo\u015fluklar\u0131n otomatik olarak \u00f6l\u00e7eklenmesini sa\u011flar.<\/p>\n<pre><code class=\"language-css\">\n\/* Varsay\u0131lan font boyutu (masa\u00fcst\u00fc i\u00e7in) *\/\nhtml {\n    font-size: 18px;\n}\n\n\/* K\u00fc\u00e7\u00fck ekranlar i\u00e7in font boyutunu k\u00fc\u00e7\u00fclt *\/\n@media (max-width: 1024px) {\n    html {\n        font-size: 16px;\n    }\n}\n\n\/* En k\u00fc\u00e7\u00fck ekranlar i\u00e7in daha da k\u00fc\u00e7\u00fclt *\/\n@media (max-width: 768px) {\n    html {\n        font-size: 14px;\n    }\n    .hero-section {\n        height: 60vh; \/* Mobil cihazlarda hero b\u00f6l\u00fcm\u00fc daha k\u0131sa *\/\n    }\n    h1 {\n        font-size: clamp(1.5rem, 8vw, 3rem); \/* Mobil i\u00e7in farkl\u0131 clamp aral\u0131\u011f\u0131 *\/\n    }\n}\n\n\/* \u00c7ok k\u00fc\u00e7\u00fck ekranlar i\u00e7in yatay kayd\u0131rmay\u0131 \u00f6nle *\/\n@media (max-width: 480px) {\n    .container {\n        padding: 0 1rem;\n        width: 100%;\n    }\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki \u00f6rnekte, temel <code>font-size<\/code> de\u011ferini <code>html<\/code> etiketi \u00fczerinden y\u00f6neterek, <code>rem<\/code> birimleriyle tan\u0131mlanm\u0131\u015f t\u00fcm metinlerin ve aral\u0131klar\u0131n otomatik olarak cihaz boyutuna g\u00f6re \u00f6l\u00e7eklenmesini sa\u011fl\u0131yoruz. Ayr\u0131ca, <code>vh<\/code> ve <code>vw<\/code> gibi birimler de medya sorgular\u0131 i\u00e7inde yeniden tan\u0131mlanabilir. \u00d6rne\u011fin, bir \"hero\" b\u00f6l\u00fcm\u00fcn\u00fcn y\u00fcksekli\u011fini masa\u00fcst\u00fcnde <code>100vh<\/code> iken, mobil cihazlarda <code>60vh<\/code>'ye d\u00fc\u015f\u00fcrebiliriz. Bu, mobil kullan\u0131c\u0131lar\u0131n i\u00e7eri\u011fe daha h\u0131zl\u0131 ula\u015fmas\u0131n\u0131 sa\u011flarken, b\u00fcy\u00fck ekranlarda tam ekran etkisini korur. Bu \u015fekilde, medya sorgular\u0131 ve do\u011fru birim se\u00e7imiyle, kullan\u0131c\u0131lar\u0131n\u0131za her zaman optimize edilmi\u015f ve kusursuz bir deneyim sunabilirsiniz.<\/p>\n<h2>\u00d6zet ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Bu kapsaml\u0131 rehber boyunca, CSS boyutland\u0131rma birimlerinin geni\u015f d\u00fcnyas\u0131na dald\u0131k. Mutlak piksel de\u011ferlerinden, esnek y\u00fczdelere, viewport tabanl\u0131 birimlerden modern matematiksel fonksiyonlara kadar bir\u00e7ok farkl\u0131 arac\u0131 inceledik. Her bir birimin kendine \u00f6zg\u00fc avantajlar\u0131 ve ideal kullan\u0131m senaryolar\u0131 oldu\u011funu g\u00f6rd\u00fck. Do\u011fru birimi se\u00e7mek, yaln\u0131zca estetik bir tercih de\u011fil, ayn\u0131 zamanda sitenizin performans\u0131, eri\u015filebilirli\u011fi ve gelecekteki \u00f6l\u00e7eklenebilirli\u011fi \u00fczerinde do\u011frudan etkisi olan kritik bir karard\u0131r.<\/p>\n<p>\u00d6zetle, <code>px<\/code> genellikle sabit, k\u00fc\u00e7\u00fck \u00f6\u011feler i\u00e7in kullan\u0131l\u0131rken, metin ve layout i\u00e7in <code>rem<\/code> ve <code>%<\/code> tercih edilmelidir. <code>vw<\/code>, <code>vh<\/code>, <code>vmin<\/code> ve <code>vmax<\/code> gibi viewport birimleri, ekran\u0131n dinamik boyutlar\u0131na g\u00f6re \u00f6l\u00e7eklenen b\u00fcy\u00fck, esnek \u00f6\u011feler ve ak\u0131\u015fkan tipografi i\u00e7in m\u00fckemmeldir. <code>calc()<\/code>, <code>min()<\/code>, <code>max()<\/code> ve <code>clamp()<\/code> gibi fonksiyonlar ise, bu birimleri bir araya getirerek daha karma\u015f\u0131k ve ko\u015fullu boyutland\u0131rmalar yapmam\u0131z\u0131 sa\u011flar. Son olarak, Flexbox ve Grid gibi d\u00fczenleme mod\u00fclleri, birimlerin g\u00fcc\u00fcn\u00fc birle\u015ftirerek modern, duyarl\u0131 layout'lar olu\u015fturmam\u0131z\u0131 kolayla\u015ft\u0131r\u0131r. T\u00fcm bu ara\u00e7lar\u0131 medya sorgular\u0131 ile birlikte kullanmak, web sitelerinizin her cihazda kusursuz bir \u015fekilde g\u00f6r\u00fcnmesini ve performans g\u00f6stermesini garantiler.<\/p>\n<div class=\"table-responsive\">\n<table>\n<caption>CSS Boyutland\u0131rma Birimlerinin Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/caption>\n<thead>\n<tr>\n<th>Birim<\/th>\n<th>T\u00fcr\u00fc<\/th>\n<th>Referans Noktas\u0131<\/th>\n<th>En \u0130yi Kullan\u0131m Alanlar\u0131<\/th>\n<th>Avantajlar\u0131<\/th>\n<th>Dezavantajlar\u0131<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>px<\/code><\/td>\n<td>Mutlak<\/td>\n<td>Sabit piksel de\u011feri<\/td>\n<td>K\u00fc\u00e7\u00fck, sabit boyutlu ikonlar, border kal\u0131nl\u0131klar\u0131<\/td>\n<td>\u00d6ng\u00f6r\u00fclebilir, kolay kontrol<\/td>\n<td>Duyars\u0131z, eri\u015filebilirlik sorunlar\u0131 yaratabilir<\/td>\n<\/tr>\n<tr>\n<td><code>em<\/code><\/td>\n<td>G\u00f6receli<\/td>\n<td>Ebeveyn elementin <code>font-size<\/code> de\u011feri<\/td>\n<td>Komponent i\u00e7i bo\u015fluklar, sat\u0131r y\u00fckseklikleri<\/td>\n<td>Kapsam bazl\u0131 \u00f6l\u00e7eklenebilirlik<\/td>\n<td>Karma\u015f\u0131k miras zinciri, hata ay\u0131klamay\u0131 zorla\u015ft\u0131rabilir<\/td>\n<\/tr>\n<tr>\n<td><code>rem<\/code><\/td>\n<td>G\u00f6receli<\/td>\n<td><code><html><\/code> elementinin <code>font-size<\/code> de\u011feri<\/td>\n<td>Metin boyutlar\u0131, genel bo\u015fluklar, responsive tipografi<\/td>\n<td>\u00d6ng\u00f6r\u00fclebilir, tek noktadan kontrol, eri\u015filebilirlik dostu<\/td>\n<td>Taray\u0131c\u0131 varsay\u0131lanlar\u0131na ba\u011f\u0131ml\u0131l\u0131k (kolayca ayarlanabilir)<\/td>\n<\/tr>\n<tr>\n<td><code>%<\/code><\/td>\n<td>G\u00f6receli<\/td>\n<td>Ebeveyn elementin boyutu (genellikle geni\u015fli\u011fi)<\/td>\n<td>Esnek layout'lar, s\u00fctun geni\u015flikleri, resimler<\/td>\n<td>Duyarl\u0131, esnek grid sistemleri olu\u015fturma<\/td>\n<td>Y\u00fczde y\u00fckseklik sorunlar\u0131, i\u00e7 i\u00e7e ge\u00e7melerde karma\u015f\u0131kl\u0131k<\/td>\n<\/tr>\n<tr>\n<td><code>vw<\/code>, <code>vh<\/code><\/td>\n<td>G\u00f6receli<\/td>\n<td>Viewport geni\u015fli\u011fi\/y\u00fcksekli\u011fi<\/td>\n<td>Tam ekran b\u00f6l\u00fcmler, ak\u0131\u015fkan ba\u015fl\u0131klar, genel \u00f6l\u00e7ekleme<\/td>\n<td>Ekran boyutuna g\u00f6re do\u011frudan \u00f6l\u00e7eklenme, dinamik tasar\u0131mlar<\/td>\n<td>Kayd\u0131rma \u00e7ubu\u011fu sorunlar\u0131, mobil taray\u0131c\u0131 URL \u00e7ubu\u011fu etkile\u015fimi<\/td>\n<\/tr>\n<tr>\n<td><code>vmin<\/code>, <code>vmax<\/code><\/td>\n<td>G\u00f6receli<\/td>\n<td>Viewport'un k\u0131sa\/uzun kenar\u0131<\/td>\n<td>Kare\/dairesel \u00f6\u011felerin kapsay\u0131c\u0131 boyutland\u0131rmas\u0131<\/td>\n<td>Duyarl\u0131 oran koruma, ekran d\u0131\u015f\u0131na ta\u015fmay\u0131 engelleme<\/td>\n<td>Ni\u015f kullan\u0131m alanlar\u0131, nadiren ana layout i\u00e7in<\/td>\n<\/tr>\n<tr>\n<td><code>ch<\/code><\/td>\n<td>G\u00f6receli<\/td>\n<td>\"0\" karakterinin geni\u015fli\u011fi<\/td>\n<td>Sabit geni\u015flikli metin alanlar\u0131, okunabilir metin bloklar\u0131<\/td>\n<td>Metin okunabilirli\u011fi i\u00e7in hassas kontrol<\/td>\n<td>Fonta ba\u011f\u0131ml\u0131, geni\u015f kullan\u0131m alan\u0131 yok<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<dl>\n<dt><strong><code>px<\/code> mi <code>rem<\/code> mi kullanmal\u0131y\u0131m?<\/strong><\/dt>\n<dd>Genel olarak, metin boyutlar\u0131 ve t\u00fcm ana layout elemanlar\u0131 i\u00e7in <code>rem<\/code> kullanman\u0131z \u00f6nerilir. Bu, kullan\u0131c\u0131n\u0131n taray\u0131c\u0131 ayarlar\u0131ndan font boyutunu b\u00fcy\u00fctt\u00fc\u011f\u00fcnde sitenizin hala okunabilir kalmas\u0131n\u0131 sa\u011flar ve eri\u015filebilirli\u011fi art\u0131r\u0131r. <code>px<\/code>'i ise genellikle <code>border-width<\/code>, k\u00fc\u00e7\u00fck ikon boyutlar\u0131 veya g\u00f6lge ayarlar\u0131 gibi \u00e7ok spesifik, de\u011fi\u015fmez de\u011ferler i\u00e7in saklamal\u0131s\u0131n\u0131z.<\/dd>\n<dt><strong>T\u00fcm tasar\u0131m\u0131m\u0131 <code>vw<\/code> ile yapabilir miyim?<\/strong><\/dt>\n<dd>Hay\u0131r, t\u00fcm tasar\u0131m\u0131 sadece <code>vw<\/code> ile yapmak iyi bir uygulama de\u011fildir. <code>vw<\/code> kullanmak, k\u00fc\u00e7\u00fck elementlerin \u00e7ok k\u00fc\u00e7\u00fclmesine veya b\u00fcy\u00fck elementlerin \u00e7ok b\u00fcy\u00fcmesine yol a\u00e7abilir, bu da okunabilirlik ve estetik sorunlar\u0131 yarat\u0131r. <code>vw<\/code> genellikle ba\u015fl\u0131klar, hero b\u00f6l\u00fcmleri veya belirli bir aral\u0131kta \u00f6l\u00e7eklenmesi gereken \u00f6\u011feler i\u00e7in <code>clamp()<\/code> veya <code>min()\/max()<\/code> ile birlikte kullan\u0131lmal\u0131d\u0131r. Metin ve genel aral\u0131klar i\u00e7in <code>rem<\/code> veya <code>em<\/code> daha uygun bir temel sa\u011flar.<\/dd>\n<dt><strong>Performans a\u00e7\u0131s\u0131ndan bir birim di\u011ferinden daha m\u0131 iyi?<\/strong><\/dt>\n<dd>Performans a\u00e7\u0131s\u0131ndan modern taray\u0131c\u0131lar t\u00fcm CSS birimlerini olduk\u00e7a verimli bir \u015fekilde i\u015fler. Birim se\u00e7imi daha \u00e7ok duyarl\u0131l\u0131k, eri\u015filebilirlik ve bak\u0131m kolayl\u0131\u011f\u0131 ile ilgilidir. Karma\u015f\u0131k <code>calc()<\/code> ifadelerinin veya \u00e7ok fazla i\u00e7 i\u00e7e ge\u00e7mi\u015f g\u00f6receli birimin performansa \u00e7ok hafif bir etkisi olabilir, ancak bu genellikle g\u00f6z ard\u0131 edilebilir d\u00fczeydedir ve \u00e7o\u011fu web sitesi i\u00e7in bir sorun te\u015fkil etmez. \u00d6nemli olan, tasar\u0131m\u0131n\u0131z\u0131n hedeflerine en uygun birimi se\u00e7mektir.<\/dd>\n<dt><strong>Taray\u0131c\u0131 uyumlulu\u011fu konusunda dikkat etmem gerekenler nelerdir?<\/strong><\/dt>\n<dd>Ana CSS birimleri (<code>px<\/code>, <code>em<\/code>, <code>rem<\/code>, <code>%<\/code>, <code>vw<\/code>, <code>vh<\/code>) modern taray\u0131c\u0131lar\u0131n tamam\u0131nda geni\u015f deste\u011fe sahiptir. <code>vmin<\/code>, <code>vmax<\/code>, <code>ch<\/code> ve <code>ex<\/code> de olduk\u00e7a iyi desteklenir. <code>calc()<\/code>, <code>min()<\/code>, <code>max()<\/code> ve <code>clamp()<\/code> gibi fonksiyonlar da \u00e7o\u011fu modern taray\u0131c\u0131da sorunsuz \u00e7al\u0131\u015f\u0131r. Eski taray\u0131c\u0131lar\u0131 (\u00f6zellikle IE 11 ve \u00f6ncesi) hedefliyorsan\u0131z, bu fonksiyonlar i\u00e7in baz\u0131 <code>fallback<\/code> (yedek) de\u011ferler sa\u011flaman\u0131z gerekebilir. Her zaman Can I Use gibi kaynaklardan g\u00fcncel taray\u0131c\u0131 deste\u011fini kontrol etmek iyi bir al\u0131\u015fkanl\u0131kt\u0131r.<\/dd>\n<dt><strong>Yeni nesil CSS birimleri nelerdir?<\/strong><\/dt>\n<dd>Mobil taray\u0131c\u0131lardaki dinamik URL \u00e7ubu\u011fundan kaynaklanan <code>vh<\/code> sorunlar\u0131n\u0131 \u00e7\u00f6zmek i\u00e7in yeni viewport birimleri geli\u015ftirilmi\u015ftir: <code>dvh<\/code> (dynamic viewport height), <code>svh<\/code> (small viewport height) ve <code>lvh<\/code> (large viewport height). Bu birimler, taray\u0131c\u0131 UI \u00f6\u011felerinin varl\u0131\u011f\u0131na g\u00f6re farkl\u0131 y\u00fckseklik de\u011ferleri sa\u011flar. \u015eu an itibar\u0131yla taray\u0131c\u0131 deste\u011fi geli\u015fmektedir ve gelecekte daha yayg\u0131n hale gelmeleri beklenmektedir. Ayr\u0131ca, <code>cap<\/code> ve <code>ic<\/code> gibi tipografik birimler de standartla\u015fma a\u015famas\u0131ndad\u0131r.<\/dd>\n<\/dl>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Modern web tasar\u0131m\u0131nda, bir elementin boyutunu do\u011fru bir \u015fekilde belirlemek, kullan\u0131c\u0131 deneyimi ve sitenin duyarl\u0131l\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan kritik \u00f6neme&hellip;","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-31134","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 Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz<\/title>\n<meta name=\"description\" content=\"Modern web tasar\u0131m\u0131nda, bir elementin boyutunu do\u011fru bir \u015fekilde belirlemek, kullan\u0131c\u0131 deneyimi ve sitenin duyarl\u0131l\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Peki, piksel mi, y\u00fczdeler mi yoksa daha geli\u015fmi\u015f g\u00f6receli birimler mi kullanmal\u0131y\u0131z? Bu kapsaml\u0131 k\u0131lavuz, web sitelerinizi her cihazda m\u00fckemmel g\u00f6stermenizi sa\u011flayacak CSS boyutland\u0131rma birimlerinin inceliklerini, kullan\u0131m senaryolar\u0131n\u0131 ve en iyi uygulamalar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak. Haz\u0131r m\u0131s\u0131n\u0131z?\" \/>\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-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CSS Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz\" \/>\n<meta property=\"og:description\" content=\"Modern web tasar\u0131m\u0131nda, bir elementin boyutunu do\u011fru bir \u015fekilde belirlemek, kullan\u0131c\u0131 deneyimi ve sitenin duyarl\u0131l\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Peki, piksel mi, y\u00fczdeler mi yoksa daha geli\u015fmi\u015f g\u00f6receli birimler mi kullanmal\u0131y\u0131z? Bu kapsaml\u0131 k\u0131lavuz, web sitelerinizi her cihazda m\u00fckemmel g\u00f6stermenizi sa\u011flayacak CSS boyutland\u0131rma birimlerinin inceliklerini, kullan\u0131m senaryolar\u0131n\u0131 ve en iyi uygulamalar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak. Haz\u0131r m\u0131s\u0131n\u0131z?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-06T03:01:52+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=\"30 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CSS Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz\",\"datePublished\":\"2025-10-06T03:01:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/\"},\"wordCount\":4990,\"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-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/\",\"name\":\"CSS Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-06T03:01:52+00:00\",\"description\":\"Modern web tasar\u0131m\u0131nda, bir elementin boyutunu do\u011fru bir \u015fekilde belirlemek, kullan\u0131c\u0131 deneyimi ve sitenin duyarl\u0131l\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Peki, piksel mi, y\u00fczdeler mi yoksa daha geli\u015fmi\u015f g\u00f6receli birimler mi kullanmal\u0131y\u0131z? Bu kapsaml\u0131 k\u0131lavuz, web sitelerinizi her cihazda m\u00fckemmel g\u00f6stermenizi sa\u011flayacak CSS boyutland\u0131rma birimlerinin inceliklerini, kullan\u0131m senaryolar\u0131n\u0131 ve en iyi uygulamalar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak. Haz\u0131r m\u0131s\u0131n\u0131z?\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CSS Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz\"}]},{\"@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 Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz","description":"Modern web tasar\u0131m\u0131nda, bir elementin boyutunu do\u011fru bir \u015fekilde belirlemek, kullan\u0131c\u0131 deneyimi ve sitenin duyarl\u0131l\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Peki, piksel mi, y\u00fczdeler mi yoksa daha geli\u015fmi\u015f g\u00f6receli birimler mi kullanmal\u0131y\u0131z? Bu kapsaml\u0131 k\u0131lavuz, web sitelerinizi her cihazda m\u00fckemmel g\u00f6stermenizi sa\u011flayacak CSS boyutland\u0131rma birimlerinin inceliklerini, kullan\u0131m senaryolar\u0131n\u0131 ve en iyi uygulamalar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak. Haz\u0131r m\u0131s\u0131n\u0131z?","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-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/","og_locale":"tr_TR","og_type":"article","og_title":"CSS Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz","og_description":"Modern web tasar\u0131m\u0131nda, bir elementin boyutunu do\u011fru bir \u015fekilde belirlemek, kullan\u0131c\u0131 deneyimi ve sitenin duyarl\u0131l\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Peki, piksel mi, y\u00fczdeler mi yoksa daha geli\u015fmi\u015f g\u00f6receli birimler mi kullanmal\u0131y\u0131z? Bu kapsaml\u0131 k\u0131lavuz, web sitelerinizi her cihazda m\u00fckemmel g\u00f6stermenizi sa\u011flayacak CSS boyutland\u0131rma birimlerinin inceliklerini, kullan\u0131m senaryolar\u0131n\u0131 ve en iyi uygulamalar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak. Haz\u0131r m\u0131s\u0131n\u0131z?","og_url":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-06T03:01:52+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"30 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CSS Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz","datePublished":"2025-10-06T03:01:52+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/"},"wordCount":4990,"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-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/","url":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/","name":"CSS Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-06T03:01:52+00:00","description":"Modern web tasar\u0131m\u0131nda, bir elementin boyutunu do\u011fru bir \u015fekilde belirlemek, kullan\u0131c\u0131 deneyimi ve sitenin duyarl\u0131l\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir. Peki, piksel mi, y\u00fczdeler mi yoksa daha geli\u015fmi\u015f g\u00f6receli birimler mi kullanmal\u0131y\u0131z? Bu kapsaml\u0131 k\u0131lavuz, web sitelerinizi her cihazda m\u00fckemmel g\u00f6stermenizi sa\u011flayacak CSS boyutland\u0131rma birimlerinin inceliklerini, kullan\u0131m senaryolar\u0131n\u0131 ve en iyi uygulamalar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacak. Haz\u0131r m\u0131s\u0131n\u0131z?","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/css-boyutlandirma-birimleri-sayilar-yuzdeler-ve-goreceli-uzunluklarla-kapsamli-kilavuz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CSS Boyutland\u0131rma Birimleri: Say\u0131lar, Y\u00fczdeler ve G\u00f6receli Uzunluklarla Kapsaml\u0131 K\u0131lavuz"}]},{"@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\/31134","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=31134"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31134\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}