संपादित करें - मूल शीर्षक: वहाँ प्राप्त करने के लिए एक वैकल्पिक तरीका है border-collapse:collapse
में CSS
(आदेश में एक ध्वस्त हो गई, गोल कोने तालिका के लिए में)?
चूंकि यह पता चला है कि बस तालिका की सीमाओं को ढहने से जड़ समस्या का समाधान नहीं होता है, इसलिए मैंने चर्चा को बेहतर ढंग से दर्शाने के लिए शीर्षक को अपडेट किया है।
मैंCSS3
border-radius
संपत्ति का उपयोग करके गोल कोनों के साथ एक तालिका बनाने की कोशिश कर रहा हूं । मैं जिस टेबल स्टाइल का उपयोग कर रहा हूं वह कुछ इस तरह है:
table {
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px
}
यहाँ समस्या है। मैं भी border-collapse:collapse
संपत्ति सेट करना चाहता हूं , और जब सेट किया जाता है तो वह border-radius
काम नहीं करता है। क्या सीएसएस-आधारित तरीका है जैसा कि मैं उसी तरह का प्रभाव प्राप्त कर सकता हूंborder-collapse:collapse
वास्तव में इसका उपयोग किए बिना ?
संपादन:
मैंने यहाँ समस्या का प्रदर्शन करने के लिए एक सरल पृष्ठ बनाया है (फ़ायरफ़ॉक्स / सफारी केवल)।
ऐसा लगता है कि समस्या का एक बड़ा हिस्सा यह है कि तालिका को गोल कोनों में सेट करने से कोने के td
तत्वों के कोने प्रभावित नहीं होते हैं। यदि तालिका सभी एक रंग की थी, तो यह एक समस्या नहीं होगी क्योंकि मैं td
क्रमशः पहले और अंतिम पंक्ति के लिए ऊपर और नीचे के कोने गोल कर सकता था। हालांकि, मैं शीर्षकों को अलग करने और पट्टी करने के लिए अलग-अलग पृष्ठभूमि के रंगों का उपयोग कर रहा हूं, इसलिए आंतरिक td
तत्व अपने गोल कोनों को भी दिखाएगा।
प्रस्तावित समाधानों का सारांश:
गोल कोनों के साथ किसी अन्य तत्व के साथ तालिका को घेरने से काम नहीं चलता है क्योंकि तालिका के वर्ग कोनों के माध्यम से "खून बह रहा है।"
0 पर सीमा चौड़ाई निर्दिष्ट करना तालिका को ध्वस्त नहीं करता है।
td
सेलस्प्रेसिंग को शून्य पर सेट करने के बाद भी नीचे के कोने चौकोर होते हैं।
इसके बजाय जावास्क्रिप्ट का उपयोग करना- समस्या से बचकर काम करता है।
संभव समाधान:
तालिकाओं को PHP में उत्पन्न किया जाता है, इसलिए मैं प्रत्येक बाहरी वें / tds में से प्रत्येक के लिए एक अलग वर्ग लागू कर सकता हूं और प्रत्येक कोने को अलग-अलग शैली दे सकता हूं। मैं ऐसा नहीं करूंगा, क्योंकि यह बहुत सुंदर नहीं है और कई तालिकाओं पर लागू करने के लिए दर्द का एक सा है, इसलिए कृपया सुझाव आते रहें।
संभव समाधान 2 कोनों को स्टाइल करने के लिए जावास्क्रिप्ट (jQuery, विशेष रूप से) का उपयोग करना है। यह समाधान भी काम करता है, लेकिन अभी भी काफी नहीं है जो मैं देख रहा हूं (मुझे पता है कि मैं picky हूं)। मेरे पास दो आरक्षण हैं:
- यह एक बहुत ही हल्की साइट है, और मैं जावास्क्रिप्ट को न्यूनतम न्यूनतम स्तर तक रखना चाहूंगा
- मेरे लिए सीमा-त्रिज्या का उपयोग करने की अपील का एक हिस्सा अनुग्रहपूर्ण गिरावट और प्रगतिशील वृद्धि है। सभी गोल कोनों के लिए सीमा-त्रिज्या का उपयोग करके, मुझे CSS3-सक्षम ब्राउज़र में लगातार गोल साइट और दूसरों में एक लगातार वर्ग साइट (मैं आपको देख रहा हूँ, IE) होने की उम्मीद है।
मुझे पता है कि आज CSS3 के साथ ऐसा करने की कोशिश करना बेकार लग सकता है, लेकिन मेरे पास मेरे कारण हैं। मैं यह भी बताना चाहूंगा कि यह समस्या w3c विनिर्देशन का परिणाम है, न कि CSS3 के खराब समर्थन का, इसलिए कोई भी समाधान तब भी प्रासंगिक और उपयोगी होगा जब CSS3 का अधिक व्यापक समर्थन हो।