Rehber HTML CSS için mobil ekran ölçeklendirme kodları

Aşağıdaki kodları belli bir proje için kullanmıştım şu an ihtiyaç duymuyorum lazım olan kişiler burayı kullanabilir (yatay mod için dikey mod istiyorsanız konuya yanıt verebilirsiniz) şimdiden iyi kullanmalar iyi kodlamalar :)

CSS:
@media(max-width: 641px) and (min-width: 639px) and (max-height: 361px) and (min-height: 359px) {
 /* BlackBerry Z30, Galaxy Note 3, Galaxy SIII, LG Optimus L70 için Mobil Entegrasyon */
}

@media(max-width: 897px) and (min-width: 895px) and (max-height: 415px) and (min-height: 414px) {
 /* iPhone XR, Samsung Galaxy A70 için Mobil Entegrasyon */
}

@media (max-width: 668px) and (min-width: 666px) and (max-height: 376px) and (min-height: 374px) {
 /* iPhone SE, Samsung Galaxy A50 için Mobil Entegrasyon */
}

@media(max-width: 813px) and (min-width: 811px) and (max-height: 376px) and (min-height: 374px) {
 /* iPhone X, Samsung Galaxy S10 için Mobil Entegrasyon */
}

@media(max-width: 845px) and (min-width: 843px) and (max-height: 391px) and (min-height: 389px) {
 /* iPhone 12 Pro, Samsung Galaxy S20 için Mobil Entegrasyon */
}

@media (max-width: 933px) and (min-width: 931px) and (max-height: 431px) and (min-height: 429px) {
 /* iPhone 14 Pro Max, Samsung Galaxy Note 20 Ultra için Mobil Entegrasyon */
}

@media(max-width: 916px) and (min-width: 914px) and (max-height: 413px) and (min-height: 411px) {
 /* Pixel, Samsung Galaxy S20 Ultra, OnePlus 8 Pro için Mobil Entegrasyon */
}

@media(max-width: 741px) and (min-width: 739px) and (max-height: 361px) and (min-height: 359px) {
 /* Samsung Galaxy S8+, HTC U11 için Mobil Entegrasyon */
}

@media(max-width: 659px) and (min-width: 658px) and (max-height: 321px) and (min-height: 319px) {
 /* Samsung Galaxy S9+, Xperia XZ2 Compact için Mobil Entegrasyon */
}

@media(max-width: 641px) and (min-width: 649px) and (max-height: 385px) and (min-height: 383px) {
 /* LG Optimus L70, Alcatel 3X için Mobil Entegrasyon */
}

Otomatik bir sistem istiyorsanız da aşağıdaki JS kodunu kullanabilirsiniz kod örnektir kendi işinize göre düzenleyebilirsiniz...

JavaScript:
function applyDeviceClass() {
 const width = window.innerWidth;
 const height = window.innerHeight;
 const body = document.body;

 // Önceden eklenmiş tüm cihaz sınıflarını kaldır.
 body.className = '';

 // Cihaz sınıflarını ekle.
 if (width <= 641 && width >= 639 && height <= 361 && height >= 359) {
 body.classList.add('device-blackberry-z30');
 } else if (width <= 897 && width >= 895 && height <= 415 && height >= 414) {
 body.classList.add('device-galaxy-note3');
 } else if (width <= 668 && width >= 666 && height <= 376 && height >= 374) {
 body.classList.add('device-iphone-se');
 } else if (width <= 813 && width >= 811 && height <= 376 && height >= 374) {
 body.classList.add('device-iphone-x');
 } else if (width <= 845 && width >= 843 && height <= 391 && height >= 389) {
 body.classList.add('device-iphone-12-pro');
 } else if (width <= 933 && width >= 931 && height <= 431 && height >= 429) {
 body.classList.add('device-iphone-14-pro-max');
 } else if (width <= 916 && width >= 914 && height <= 413 && height >= 411) {
 body.classList.add('device-pixel');
 } else if (width <= 741 && width >= 739 && height <= 361 && height >= 359) {
 body.classList.add('device-galaxy-s8-plus');
 } else if (width <= 659 && width >= 658 && height <= 321 && height >= 319) {
 body.classList.add('device-galaxy-s9-plus');
 } else if (width <= 641 && width >= 649 && height <= 385 && height >= 383) {
 body.classList.add('device-lg-optimus-l70');
 }
}

// Ekran boyutunu kontrol et ve uygun sınıfı uygula.
applyDeviceClass();

// Ekran boyutu değiştiğinde yeniden kontrol et.
window.addEventListener('resize', applyDeviceClass);
 
Son düzenleme:
Hocam bu kodları % ile oluştursak olmaz mı? Pixel yerine % denedim ve hala deniyorum şu an, yalnızca kısmen bir başarı elde edebiliyorum.
 
Hocam bu kodları % ile oluştursak olmaz mı? Pixel yerine % denedim ve hala deniyorum şu an, yalnızca kısmen bir başarı elde edebiliyorum.

Kesin bir cevap veremeyeceğim.
1. evet olur ama telefon cihaz modeline göre ayrım yapamazsın.
2. hayır olmaz çünkü sadece bilgisayar ve tabletler için geçerli bir uygulamadır.
3. "%" @media etiketleri için uygun değildir class veya ID içindeki değerlere "%" kullanırız keza pek önermem px ya da wh gibi değerleri kullanabilirsin...

ek bilgi; "%" ekranın boyunu yüzde(%) olarak kullanarak bir boyut belirler. Ekranın belli bir kısmını mutlak şekilde kaplamasını istediğin şeyler için "%" kullanmanı öneririm onun haricinde sadece bug olarak kalır.

Aslında aspect yöntemi var. En iyisi o galiba. Ben de onu öğreneceğim.

Sadece CSS öğrenerek profesyonel bir şey yapmak pek mümkün değil zaten eğer bilmiyorsan en kısa süre zarfında öğrenmeni tembihlerim :)


Aspect nedir (BKZ: Aspect);

uygulamalarımızın cross cutting concern kısımlarını işleyen bir programlama paradigmasıdır ve paradigmanın çıkış noktası concernlere çözüm üretmektir. Bu yapının kullanılma motivasyonu, Single responsibility ve don't repeat yourself gibi prensiplere uygun olmasıdır.
 
Son düzenleme:
Aspect nedir (BKZ: Aspect);

uygulamalarımızın cross cutting concern kısımlarını işleyen bir programlama paradigmasıdır ve paradigmanın çıkış noktası concernlere çözüm üretmektir. Bu yapının kullanılma motivasyonu, Single responsibility ve don't repeat yourself gibi prensiplere uygun olmasıdır.

Yok senin attığın backend yazılım tarafı. Hizalandırma ile ilgisi yok.

Benim dediğim HTML taglarini CSS ile hizalandırma.
 
Yok senin attığın backend yazılım tarafı. Hizalandırma ile ilgisi yok.

Benim dediğim HTML taglarini CSS ile hizalandırma.

Mazur görün aspect dediğinizde ben algoritma olarak anlamışım. (bu yöntem sadece görsel ve alan içi şekillerde işe yarıyor)
 
Mazur görün aspect dediğinizde ben algoritma olarak anlamışım. (bu yöntem sadece görsel ve alan içi şekillerde işe yarıyor)

Görseller için değil tek hocam.

Aspect Oriented Programing (AOP) kavramını backend az çok bilirim. Spring'ci sayılırım ben de. Java backend developer'uyum az çok. Aspect Oriented yapmamızı sağlayan hazır kütüphaneler var. Mesela bir metod tetiklendiğinde şunu çalıştır, bunu çalıştır diye hiçbir yapıyı bozmadan, düzenlemeden işlemler yapılabiliyor.
 
Son düzenleme:

Technopat Haberler

Geri
Yukarı