CSS, genişliği kalan alanın% 'sini dolduracak şekilde ayarladı


82

Biraz saçma başlık için özür dilerim. Bunu nasıl daha iyi tarif edeceğimi düşünemedim.

Google Friend Connect üye gadget'ını sitemde uygulamaya çalışıyorum (şemaya yeni girdim ve en azından test etmek için büyük bir yeniden tasarım yapmadan yerleştirmek istiyorum).

Benim sorunum şu:

Ana sayfanın (gövde)% 90'ı kadar genişliğe sahip bir kapsayıcı div var. Bunun içinde bir div'i sağa kaydırıyorum ve genişliğini 300px olarak ayarlıyorum ve google gadget'ını içine koyuyorum. İstediğim şey, google gadget div'in solunda kalan boşluğun% 95'ini bir div ile doldurabilmektir.

Px ve% 'yi div'ler ve genişliklerle karıştırmanın mümkün olup olmadığını bilmiyorum.

Umarım bu mantıklı gelir.

Teşekkürler


Yanıtlar:


70

Bu. Yarı akışkan bir düzen arıyorsunuz. Görev, aslında CSS uygulamasının kutsal kasesiydi ... Ancak bu bağlantıdan da görebileceğiniz gibi (3 sütun yapıyorlar, 2 düzeltiyorlar, ancak değiştirilmesi kolay), bu uzun süredir çözülen bir sorun =)


Mükemmel görünüyor. Teşekkür ederim. Hafta sonu bununla bir keman yapacağım.
Jon

44
CSS'nin mizanpaj için iyi bir araç olmaktan çok uzak olduğu konusundaki korkumu yineleyen bu tür makalelerdir.
s4y

11
@Sidnicious Ekmek ve tereyağlı işim olarak bunu [tasarımları web sitelerine dönüştürerek] yapan biri olarak, bunun daha önce yapılan veya o zamandan beri önerilen her şeyden çok daha iyi olduğunu söyleyebilirim. Mükemmel değil ve nasıl çalıştığını bilmeniz gerekiyor ... Ama bir kez yaptıktan sonra, basit.
Oli

ancak bir sütunun genişliğini değiştirmek istiyorsanız, o zaman her yerde değerleri düzenlemeniz gerekir. Can sıkıcı bir düşünce var: "Eğer işe yararsa ona dokunmayın ve lütfen eleştirmeyin", ancak düzen çok daha kolay olabilir. sadece% ve px'i karıştırıp diğer değerlere başvurursanız, her şey çok daha kolay olacaktır.
Jonathan.

1
@Jonathan. Bunun doğru olduğuna hiç şüphe yok - CSS'deki canlı değişkenler ve aritmetik işleri büyük ölçüde kolaylaştırır, ancak bizde yok. Plastisiteyi bozmak istiyorsanız, LESS / SASS / etc'ye bakın. Çözümün yarısı onlar.
Oli

0

Her yerde bir dizi olası çözüme baktıktan sonra hızlı bir deney yaptım. Yapmaya çalıştığım şey, akışkan ve sabit satır ve sütunların bir karışımına sahip olmaktı.

Bu benim sonucum:

http://jsbin.com/hapelawake


0

Float ve clearfix'lerden kaçınmayı tercih ediyorsanız, flex layout kullanın.

.main {
  display: flex;
  width: 90%;
}
.col1 {
  flex-grow: 1;
}
.col2 {
  width: 300px;
  margin-left: 5%;
}
<div class="main">
  <div class="col1" style="background: #518cf3;">Left column</div>
  <div class="col2" style="background: #94d0bb;">Right column</div>
</div>

Not: Desteklenen tarayıcılarınız için gerekiyorsa esnek satıcı önekleri ekleyin .


-1

Şimdi JS3 üzerinde çalışıyoruz. JS3, Basitlik Dili ve İntegral Geliştirme olarak işlemek için HTML5 içinde Native'e benzer JS Kodlarının gelen işlenmesi için DOM Eased Phasing'e Entegre JavaScript 1.8 kavramıdır. ActiveX Scripting tarafından kontrol edilen İçeriğe erişilemediğini fark ettikten sonra 1996 ve 1997 yıllarında JavaScript istedim. Compaq ve HP tarafından satın alınan Digital Equipment Corporation'da çalışan babam, açıklamalarımın önemini fark etti ve J2EE'yi anlamak için HP, Revenio ve Ionas'tan, özellikle Oracle'dan daha Zengin bir Şirkette çalışmaya hak kazandı. HP, sorun yaşamamak için geri dönerken, J2EE'nin HTML5 Gelen'e Geçişini destekleyebilir.

Temel Konseptimi ve Geliştirme Desteğini yapılandırmayı düşündüğümde, JS3, jQuery veya JS'de OOP HTML5 Uygun Geçiş Algoritmalarının geçişli işlemesini oluşturabilir ve normalde JavaScript 1.7 veya JavaScript 1.8 için ayrılmış CSS3 Gelişmiş Özelliklerini oluşturmak için işlemeyi kontrol eden Gelen Kod'a işlenebilir, Mesela Liquify, 2002'de Kardeşim kendisini Rutgers ve UMASS'ta Black Makers'a eklediğinde fark etti. Perl, Python ve diğerlerinden işlenen bilgi becerileri JS3'e, CSS4 ve HTML6'ya aktarılabilir. Şu anda yeni CSS3 Kodlarının çoğu standartlaştırılmamıştır, ancak HTML5, zamana göre 2030'da gerçekleşecek olan ancak 2021'de test aşamasına girebilen CSS4'ü işleyebilmektedir. Ortam Sorgularının uygulanması, 2009'da desteklenmeyen, şu adresinde Yöneticime bahsettiğimde Heritage Web Solutions olarak da bilinen HIT Web Tasarımı, İlahi tipte Harika bir Proje Yöneticisi olan Heidi Kafton ile Medya Sorgu Tahsisi'ndeki Web Standartlarına entegre edildiğini ciddi olarak anlattım. Yeni teknoloji geliştirmeye işlenebilecekleri için kodlama sorgularımdan herhangi birini araştırmak güzel. Medya Sorguları, kalan alanı aktif olarak geçmez ve "kalan" öğenin genişliğini dinamik olarak ayarlar, ancak Duyarlı CSS4'te, bir sayfa, CSS Özelliğine Duyarlı Biçim Stili (Seçeneklerle Ters Çevir, Çapraz, Karşılıklı Tasarım Aşamalı) kullanarak aşamalı hale getirir ve yalnızca kullanıcı özellikle karmaşık olmayan bir tasarım istiyorsa, Medya Sorguları gerektirir. Aksi takdirde, CSS4'te Ters Çevir, Yönlendir, Çapraz kullanarak CSS3 Responsive'dan karmaşıklık çözülebilir.

Referans:

Yapı yanıt vermiyorsa, basit matematiksel hesaplamalar yaparak öğe genişliğini test edebilir ve ayarlayabilirsiniz.

Hindistan, Pakistan ve diğer kalkınma ülkelerindeki ekiplerim sıvıya duyarlı şebeke tabanlı bir medya sistemi oluştururken benzer sorunlar yaşadılar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.