Merhaba. Başlık ne kadar açık oldu bilemiyorum. Şimdi kafama takılan soru şu: biz siteyi temel olarak kodlarken genel bir div içine alıyoruz, aldığımız zaman hazırladığımız navbar da bu genel divin ölçüleri içinde kalıyor. Ancak ben hem genel div kullanıp, hem de navbarın arka planını sağa ve sola sonsuz uzayacak şekilde nasıl yapabilirim?
nav’in display’i block olduğu için zaten sayfayı yatay olarak olduğu gibi kaplayacaktır. Başka bir deyişle genişliği yüzde yüz olacaktır, sağa ve sola uzayacaktır ancak bunu görebilmek için bu örnekte navbara bir renk ve yükseklik verdim.
Hacım çok teşekkürler ancak biz siteyi kodlarken tüm body kısmını “container” divinin içine almıyor muyuz? Aldığımız zaman navbar bu container dışına nasıl çıkacak? Anlatabildim mi?
Buradaki gibi siteyi kodlamaya başlamadan önce tüm siteyi <div id="container"></div> içine almamız tavsiye ediliyor ya hani, ben de siteyi bu şekilde kodluyorum ancak navbar kısmını bu divin içinde kaldığı için sağa veya sola uzatamıyorum. Yani eğer container divimin width özelliği 960px ise, navbar da maksimum 960px oluyor. Eğer navbara width:100% özelliği verirsem, o zaman da yine container divinin içinden başlıyor ve sadece sağa doğru sonsuz uzanıyor.
Böyle bir sorun yaratacaksa bundan kaçınmalısınız. Aksi takdirde mesela genişliği 960px olan bir container’ın içinden navbar gibi bir elementin ya da herhangi genişliğini parent elementin (container) dışına çıkarmak istediğiniz bir elementin genişliğini sabit değerler vererek belirlemek zorunda kalırsınız ve bu iyi bir fikir değil. Zaten child element’in parent element’in dışına çıkması durumu da pek olağan bir şey değil.
Yine de bunu yapmak istiyorsanız şöyle bir şey denenebilir:
Evet bu şekilde yaptığım zaman da istediğim gibi olmuyor. Ancak ben hangi siteyi kurcalarsam kurcalayayım, genellikle tüm siteyi bir div içine aldıklarını görüyorum. Bunun alternatif yöntemlerini nereden öğrenebilirim?
Container’a bahsettiğiniz türden, içindeki child elementleri kısıtlayabilecek türden stiller vermediğiniz sürece bu herhangi bir sorun yaratmaz. İsterseniz böyle bir container oluşturabilirsiniz ama dediğim gibi bu ve bunun gibi sorunlar göz önünde bulundurulmalı.
Bunu yazarken başka bir şey düşünmüştüm o yüzden şimdi geri alıyorum. Dediğiniz gibi zaten sıkça yapılan bir şey.
"bu"ndan kastınız bir navbarı parent elementinin genişliğinin dışına çıkarıp yatay olarak sayfanın tamamını kaplamasını sağlamaksa bunu zaten göstermiştim:
Çok da ahkam kesmek istemiyorum çünkü derinlemesine bilmiyorum ama mesela ben kendim bir site yaptım ve hiç CSS bilmiyorum. CSS’in bazı hazır şablonlarını internetten aldım gerisini Bootstrap’le hallettim. Yani bana sorarsan CSS ile vakit kaybetme. Gerek yok.
Dediğim gibi işin teorik kısmını çok bilmiyorum ben pratik yönüne bakıyorum. CSS öğrenmeden de site yapılabiliyor demek istiyorum. Siz söyleyince baktım. Bootstrap HTML, CSS, LESS (v3), SASS (v4) ve JavaScript dilleri kullanılarak hazırlanmış. Elde 3. nesil framework varken niye 2. nesil öğrenmekle zaman kaybedilsin ki. Öğrense daha mı iyi olur. Şüphesiz.