Düzenleme - Orijinal Başlık: ulaşmak için alternatif bir yolu var mı border-collapse:collapse
içinde CSS
(bir daraltılmış, yuvarlak köşe masa olması için)?
Tablonun kenarlıklarını daraltmak kök problemini çözmediği için, tartışmayı daha iyi yansıtmak için başlığı güncelledim.
CSS3
border-radius
Özelliği kullanarak köşeleri yuvarlatılmış bir tablo yapmaya çalışıyorum . Kullandığım tablo stilleri şuna benzer:
table {
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px
}
Sorun burada. Ayrıca border-collapse:collapse
özelliği ayarlamak istiyorum ve bu ayarlandığında border-radius
artık çalışmaz. border-collapse:collapse
Aslında kullanmadan aynı etkiyi elde etmenin CSS tabanlı bir yolu var mı?
Düzenlemeler:
Sorunu burada göstermek için basit bir sayfa yaptım (yalnızca Firefox / Safari).
Sorunun büyük bir kısmı, tablonun köşeleri yuvarlatılmış olarak ayarlanmasının köşe td
elemanlarının köşelerini etkilememesidir . Tablonun hepsi tek bir renk olsaydı, üst ve alt td
köşeleri sırasıyla ilk ve son sıra için yuvarlayabildiğim için bu bir sorun olmazdı . Ancak, tablonun başlıkları farklılaştırmak ve şeritlemek için farklı arka plan renkleri kullanıyorum, böylece iç td
elemanlar da yuvarlatılmış köşelerini gösterecekti.
Önerilen çözümlerin özeti:
Masanın yuvarlak köşeli başka bir elemanla çevrelenmesi işe yaramaz çünkü masanın kare köşeleri "kanar."
Kenarlık genişliğini 0 olarak belirtmek tabloyu daraltmaz.
td
Hücre aralığı sıfıra ayarlandıktan sonra alt köşeler hala kare.
Bunun yerine JavaScript kullanmak sorunu önleyerek çalışır.
Olası çözümler:
Tablolar PHP oluşturulur, bu yüzden sadece dış th / tds her biri için farklı bir sınıf uygulamak ve ayrı ayrı her köşe stil olabilir. Bunu yapmak istemiyorum, çünkü çok zarif ve birden fazla tabloya uygulamak biraz acı değil, bu yüzden lütfen önerilerinizi devam ettirin.
Olası çözüm 2, köşeleri şekillendirmek için JavaScript (özellikle jQuery) kullanmaktır. Bu çözüm de işe yarıyor, ama hala aradığım şey tam olarak değil (seçici olduğumu biliyorum). İki rezervasyonum var:
- Bu çok hafif bir site ve JavaScript'i en düşük düzeyde tutmak istiyorum
- sınır yarıçapının benim için sahip olduğu cazibenin bir kısmı zarif bir bozulma ve aşamalı bir iyileştirmedir. Tüm yuvarlak köşeler için sınır yarıçapı kullanarak, CSS3 özellikli tarayıcılarda sürekli olarak yuvarlak bir siteye ve diğerlerinde sürekli olarak kare bir siteye sahip olmayı umuyorum (size bakıyorum, IE).
Bunu bugün CSS3 ile yapmaya çalışmanın gereksiz görünebileceğini biliyorum, ama nedenlerim var. Ayrıca, bu sorunun zayıf CSS3 desteğinin değil, w3c spesifikasyonunun bir sonucu olduğunu belirtmek isterim, bu nedenle CSS3 daha yaygın bir desteğe sahip olduğunda herhangi bir çözüm yine de alakalı ve yararlı olacaktır.