Css Kod Düzeni ile İlgili Sorum

umut3200

80+
Katılım
3 Ekim 2026
Mesajlar
3
Reaksiyon skoru
0
Flex conteiner da bazen padding ve margin'e eksi değer giriyorum, henüz öğrenme aşamasındayım; bazen nav ve logoyu position ile hizalıyorum bazen değer +100 ü aşıyor ancak yapay zeka bunları yapmamam gerektiğini söylüyor, freelancer piyasasında site yaparken bu durum çok sorun olur mu?

Ama yapay zekanın söylediğinin aksine farklı cihazlarda işe bile işe yaradığını farkettim yani google developer mod da görüntüde bozulma olmuyor
 
Hocam negatif margin CSS'te geçerli; tek başına kötü kod anlamına gelmez. Negatif padding ise geçersizdir. Örneğin padding: -10px bildirimi uygulanmaz; sayfanın düzgün görünmesi bu değerin çalıştığını göstermez. W3C standardında ikisinin ayrımı açıkça yazıyor:

100'ü aşan bir değer de tek başına hata değil; hangi özellikte, hangi birimle ve ne amaçla kullandığın önemli. Logo ve menü gibi ana yerleşimde önce kapsayıcının flex hizalamasını kullan: align-items çapraz eksendeki, justify-content ana eksendeki hizalamayı kontrol eder. Elemanlar arasındaki boşluk için gap kullanılabilir. Sürekli left/top değerleriyle düzeltme yapmak, menü yazısı veya ekran genişliği değişince ek düzeltme gerektirebilir. Flex hizalama açıklaması:

Cihaz modunda düzgün görünmesi iyi bir başlangıç. Seçili telefon ölçülerinin arasındaki genişlikleri, daha uzun menü metinlerini, tarayıcıda %200 yakınlaştırmayı ve mümkünse gerçek telefonda menünün kullanımını da dene. Müşteriye teslim açısından sonradan içerik değişince bozulmaması ve kolay düzenlenmesi önemli.

Logo/nav bölümünün küçük bir HTML/CSS örneğini paylaşabilir misin? Özellikle position: relative mi, absolute mu kullandığını ve eksi verdiğin satırları görürsek, mevcut yerleşimi bozmadan nerede sadeleştirilebileceğini söylemek daha kolay olur.
 
Hocam negatif margin CSS'te geçerli; tek başına kötü kod anlamına gelmez. Negatif padding ise geçersizdir. Örneğin padding: -10px bildirimi uygulanmaz; sayfanın düzgün görünmesi bu değerin çalıştığını göstermez. W3C standardında ikisinin ayrımı açıkça yazıyor:

100'ü aşan bir değer de tek başına hata değil; hangi özellikte, hangi birimle ve ne amaçla kullandığın önemli. Logo ve menü gibi ana yerleşimde önce kapsayıcının flex hizalamasını kullan: align-items çapraz eksendeki, justify-content ana eksendeki hizalamayı kontrol eder. Elemanlar arasındaki boşluk için gap kullanılabilir. Sürekli left/top değerleriyle düzeltme yapmak, menü yazısı veya ekran genişliği değişince ek düzeltme gerektirebilir. Flex hizalama açıklaması:

Cihaz modunda düzgün görünmesi iyi bir başlangıç. Seçili telefon ölçülerinin arasındaki genişlikleri, daha uzun menü metinlerini, tarayıcıda %200 yakınlaştırmayı ve mümkünse gerçek telefonda menünün kullanımını da dene. Müşteriye teslim açısından sonradan içerik değişince bozulmaması ve kolay düzenlenmesi önemli.

Logo/nav bölümünün küçük bir HTML/CSS örneğini paylaşabilir misin? Özellikle position: relative mi, absolute mu kullandığını ve eksi verdiğin satırları görürsek, mevcut yerleşimi bozmadan nerede sadeleştirilebileceğini söylemek daha kolay olur.
2 gün süren uğraşlarım sonucu sonunda doğru yapıyı buldum. :D aslında binevi bundan bu başlığı açmıştım :D. kodumun son hali bu:

#header{
height:100px;
background-color: whitesmoke;
display: flex;
align-items: center;
gap:160px;
}


#logo{
height: 50%;
width:auto;
margin-left: 100px;
}

.main-menu{
display: flex;
gap:30px;
font-size:100%;
}

a{
color: black;
text-decoration: none;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: 1.1rem;
}
.promotion{
display: flex;
flex-direction: column;
margin-left: 50px;

}
h1{
font-size:2.2rem;
text-align: center;
font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
font-weight: 500;
}

#image-one{
width: 43%;
}
h2{
font-size: 1.42rem;
white-space: nowrap;
text-align: left;
}
#promotion-text-one{
font-size:0.99rem;
width: 43%;
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
text-align:left;
}


#footer{
color: white;
}
footer{
background-color: black;
}


sorunun kendisine gelecek olursak;eğer ben bunun yerine, bu yapıyı tercih etseydim, mesela(söylediğim şey sadece web için geçerli responsive kısmını kurcalarım isterseniz bu arada sizin için olan kodu bozdum çünkü bu başlığa cevap verileceğini düşünmemiştim açıkçası :D );

#header{
height:100px;
background-color: whitesmoke;
display: flex;
align-items: center;
}


#logo{
height: 50%;
width:auto;
margin-left: 120px;
}

.main-menu{
display: flex;
gap:30px;
font-size:100%;
position: absolute;
left: 400px;
}

a{
color: black;
text-decoration: none;
font-family: Verdana, Geneva, Tahoma, sans-serif;
font-size: 1.1rem;
}
.promotion{
display: flex;
flex-direction: column;
margin-left: 200px;

}
h1{
font-size:2.2rem;
text-align: center;
font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
font-weight: 500;
margin-right: -200px;
}

#image-one{
width: 43%;
}
h2{
font-size: 1.42rem;
white-space: nowrap;
text-align: left;
}
#promotion-text-one{
font-size:0.99rem;
width: 43%;
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
text-align:left;
}


#footer{
color: white;
}
footer{
background-color: black;
} yine geçerli olur muydu olsa bile ?
 
Son düzenleme:
Kodu paylaşman iyi oldu hocam. Evet, ikinci örnekteki position: absolute, left: 400px ve margin-right: -200px geçerli CSS. Ama menü absolute olunca header’ın normal flex akışından çıkar; diğer elemanların yerleşiminde menüye yer ayrılmaz. Logo veya menü metni büyüyünce üst üste gelebilir. Ayrıca gösterdiğin #header’da position tanımlı değil; left: 400px’in header’a göre hesaplandığını varsayamayız. Hangi üst elemanın konumlandırma için referans olduğu önemli. W3C açıklaması:

Logo ve menü için ilk flex düzeninden devam ederdim. Yalnız gap: 160px ve logodaki margin-left: 100px de sabit boşluklar; masaüstünde pencere daralınca, menü yazısı uzayınca veya %200 yakınlaştırınca taşma olabilir. Kenar boşluğunu header’ın padding’iyle, logo–menü aralığını uygun bir gap ile yönetmek daha anlaşılır olur. h1’deki eksi margin yerine de başlık ve içeriğin kapsayıcı hizalamasını düzenlemek sonradan işini kolaylaştırır.

Yani ikinci yapı kullanılabilir; teslim açısından asıl ölçüt, tek ekranda düzgün görünmesinin yanında içerik ve pencere boyutu değişince de düzenin korunması.
 
Kodu paylaşman iyi oldu hocam. Evet, ikinci örnekteki position: absolute, left: 400px ve margin-right: -200px geçerli CSS. Ama menü absolute olunca header’ın normal flex akışından çıkar; diğer elemanların yerleşiminde menüye yer ayrılmaz. Logo veya menü metni büyüyünce üst üste gelebilir. Ayrıca gösterdiğin #header’da position tanımlı değil; left: 400px’in header’a göre hesaplandığını varsayamayız. Hangi üst elemanın konumlandırma için referans olduğu önemli. W3C açıklaması:

Logo ve menü için ilk flex düzeninden devam ederdim. Yalnız gap: 160px ve logodaki margin-left: 100px de sabit boşluklar; masaüstünde pencere daralınca, menü yazısı uzayınca veya %200 yakınlaştırınca taşma olabilir. Kenar boşluğunu header’ın padding’iyle, logo–menü aralığını uygun bir gap ile yönetmek daha anlaşılır olur. h1’deki eksi margin yerine de başlık ve içeriğin kapsayıcı hizalamasını düzenlemek sonradan işini kolaylaştırır.

Yani ikinci yapı kullanılabilir; teslim açısından asıl ölçüt, tek ekranda düzgün görünmesinin yanında içerik ve pencere boyutu değişince de düzenin korunması.
Teşekkürler bilgiler için.
 
hocam genel inceledim de ben acikcasi Boyle px kullanimini pek önermiyorum. Sonrasında responsive icin ayarlarken sorun çıkarabilir gibi geldi. Rem veya em kullanimi % kullanımı daha uygun olur. Body uzerinden tabii ki % kullanımı.
 
Yeni mesajlar Yeni Konu Aç  

SON KONULAR

Forum istatistikleri

Konular
1,244,528
Mesajlar
11,327,909
Üyeler
204,457
Son üye
Orhan YALDIZ
Geri
Top