सीएसएस टेबल में कॉलम के बीच की दूरी। कोशिकाओं के बीच गद्दी

इसलिए, हमने आपके साथ सबसे सरल क्रियाओं का अध्ययन किया है जो टेबल बॉर्डर के साथ की जा सकती हैं। और अब तालिका बहुत अधिक सौंदर्यवादी रूप से मनभावन दिखती है। हालांकि, कोशिकाओं को भरना सीधे सीमाओं पर निर्भर करता है। इसे आसानी से HTML तालिका में कक्षों को इंडेंट करके ठीक किया जा सकता है। और फिर फ्रेम के अंदर, सेल में पाठ अधिक पठनीय होगा।

सेल को इंडेंट करने के लिए, विशेषता का उपयोग करें सेल पैडिंगटैग के लिए

. हालाँकि, एक और, अधिक पसंदीदा विकल्प है: सीएसएस.

इस मामले में, संपत्ति का उपयोग करके इंडेंट सेट किए जाते हैं गद्दी. इसकी मदद से, जहां आवश्यक हो, यानी ऊपर से, दाएं से, नीचे से या बाएं से, क्रमशः, इन गुणों में से एक का उपयोग करना मुश्किल नहीं होगा: पैडिंग शीर्ष, गद्दी सही, नीचे गद्दी करनाऔर गद्दी छूट गई.

आप बिल्कुल सेट कर सकते हैं कि कितने पिक्सेल इंडेंट किए जाने चाहिए। आइए एक उदाहरण देते हैं जिसमें निचला इंडेंट होगा 20 पिक्सेल, और बाकी सब होगा 10 . ऐसा सीएसएस-कोड इस तरह दिखेगा:

टीडी (पैडिंग: 10 पीएक्स; पैडिंग-बॉटम: 20 पीएक्स;)

और इस स्तर पर पूर्ण शैली कोड:

तालिका (बॉर्डर: ठोस 1px नीला; बॉर्डर-पतन: पतन;) td (बॉर्डर: ठोस 1px नीला; पैडिंग: 10px; पैडिंग-बॉटम: 20px;)

ब्राउज़र में परिणाम:

कोशिकाओं के बीच गद्दी

एक नियम के रूप में, इसके लिए टैग, विशेषताओं और गुणों का उपयोग करके तालिकाओं के निर्माण से जुड़े कार्यों को हल किया जा सकता है, जो आपको फ़्रेम बनाने, कोशिकाओं में इंडेंट करने और कोशिकाओं की रंग पृष्ठभूमि को स्वयं सेट करने की अनुमति देता है।

तालिकाओं में इंडेंट न केवल कोशिकाओं के अंदर होते हैं। वे स्वयं कोशिकाओं के बीच भी मौजूद हो सकते हैं।

सेल को इंडेंट करने के लिए दो विकल्प हैं:

  1. विशेषता का उपयोग करना cellpacingटैग के लिए
.
  • का उपयोग करते हुए सीएसएस-गुण सीमा-दूरी.
  • इस बात पर जोर दिया जाना चाहिए सीमा-दूरीसमग्र रूप से तालिका के लिए लिखा गया है, जबकि संपत्ति गद्दीसीधे कोशिकाओं को लिखा जाता है।

    आइए एक उदाहरण देखें:

    तालिका (बॉर्डर: ठोस 1px नीला; बॉर्डर-पतन: अलग; बॉर्डर-स्पेसिंग: 5px; ) td (बॉर्डर: ठोस 1px नीला; पैडिंग: 10px; पैडिंग-बॉटम: 20px;)

    और परिणामी परिणाम के लिए:

    हम तुरंत यह निर्धारित करेंगे कि इस तरह के इंडेंटेशन का उपयोग करने की कोशिश करना जरूरी नहीं है सीमा-पतन: पतन. दरअसल, इस विकल्प का उपयोग करते समय, कोशिकाएं एक दूसरे से "चिपक" जाती हैं।

    और इन्हें एक दूसरे से अलग रखने के लिए आपको इस्तेमाल करना चाहिए सीमा-पतन: अलग. यह समझना महत्वपूर्ण है कि यह मान डिफ़ॉल्ट मान है। और इसका उपयोग केवल यह दिखाने के लिए किया जाता है कि यह समस्या कैसे हल की जाती है। यदि हम इस पंक्ति को हटाते हैं, तो एक दूसरे से अलग स्थित कोशिकाओं के रूप में परिणाम सहेजा जाएगा।

    हम आपके साथ पहले ही पता लगा चुके हैं कि HTML तालिकाओं में क्या है रूपरेखा, हालाँकि ब्राउज़र उन्हें डिफ़ॉल्ट रूप से नहीं दिखाते हैं। लेकिन इतना ही नहीं, प्रत्येक टेबल सेल में एक फ्रेम भी होता है जिसे कहा जाता है सेल बॉर्डर. लेकिन इतना ही नहीं, विशेष टैग विशेषताओं का उपयोग करते हुए

    आप सेल और सेल के बीच की दूरी को टेबल फ्रेम में बदल सकते हैं, साथ ही सेल बॉर्डर से उनकी सामग्री तक पैडिंग कर सकते हैं।

    एचटीएमएल टेबल फ्रेम, सेल बॉर्डर, सेल स्पेसिंग और पैडिंग।

    अभीतक के लिए तो एक फ्रेम बनानाएचटीएमएल टेबल और इसकी कोशिकाओं की सीमाएँकेवल एक टैग विशेषता का उपयोग किया जाता है

    - सीमा । विशेषता का मान एक गैर-ऋणात्मक पूर्णांक (डिफ़ॉल्ट रूप से शून्य) है जो पिक्सेल में आकार का प्रतिनिधित्व करता है। लेकिन, ध्यान दें, आकार केवल टेबल फ्रेम पर बदलता है, सेल बॉर्डर पर यह हमेशा अपरिवर्तित रहता है।

    ...

    बदलाव के लिए कोशिकाओं के बीच की दूरी(उनकी सीमाएं) और कोशिकाओं से फ्रेम तकएक टैग में टेबल

    सेलस्पेसिंग विशेषता लागू होती है। इसके मान केवल अंक भी हो सकते हैं जो पिक्सेल में दूरी को मापते हैं।

    ...

    आंतरिक स्थापित करने के लिए सेल बॉर्डर से उनकी सामग्री तक पैडिंगटैग में आवश्यक

    सेलपैडिंग विशेषता का उपयोग करें। और इसके मान पिक्सेल आयामों का प्रतिनिधित्व करने वाली संख्याएँ हैं।

    ...

    ध्यान दें कि ब्राउज़र छोटे (दो पिक्सेल) सेलस्पेसिंग और सेलपैडिंग के लिए डिफ़ॉल्ट होते हैं, इसलिए स्पेसिंग को पूरी तरह से हटाने के लिए, विशेषताओं को शून्य (0) पर सेट करें।

    HTML टेबल के लिए बॉर्डर, बॉर्डर और पैडिंग का एक उदाहरण

    टेबल बॉर्डर, बॉर्डर और पैडिंग

    सेल 1.1सेल 1.2सेल 1.3
    सेल 2.1सेल 2.2सेल 2.3
    सेल 3.1सेल 3.2सेल 3.3

    केवल फ़्रेम और सेल बॉर्डर सेट वाली तालिका:

    सेल 1.1सेल 1.2सेल 1.3
    सेल 2.1सेल 2.2सेल 2.3
    सेल 3.1सेल 3.2सेल 3.3


    ब्राउज़र में परिणाम

    संशोधित पैडिंग और रिक्ति वाली तालिका:

    स्वाभाविक रूप से, आंतरिक इंडेंट और कोशिकाओं के बीच की दूरी को बदलने के लिए टेबल फ्रेम और सेल बॉर्डर बनाना आवश्यक नहीं है।

    HTML सिंटैक्स के अनुसार, ब्राउज़र टेबल और उसके सेल के आकार में सेलस्पेसिंग और सेलपैडिंग मान जोड़ते हैं। उदाहरण के लिए, यदि आप सेल की चौड़ाई 100px और सेलपैडिंग = "10" पर सेट करते हैं - ब्राउज़र इसे 120px बनाने के लिए चौड़ाई (10px बाएँ और दाएँ) में 20px जोड़ देगा। सामान्य तौर पर, आप इसे रास्ते में समझ लेंगे।

    विषय से प्रस्थान या पृष्ठ के किनारों पर इंडेंट कैसे निकालें

    प्रारंभ में, सभी ब्राउज़र HTML पृष्ठ के किनारों के आसपास छोटे मार्जिन सेट करते हैं, जिनकी अक्सर आवश्यकता नहीं होती है, इसलिए अब आप सीखेंगे कि उन्हें कैसे निकालना है। सामान्य तौर पर, यह जानकारी पाठ्यपुस्तक की शुरुआत में रखी जानी चाहिए, लेकिन यह आपके लिए शायद ही उपयोगी होगी।

    नियत समय में टैग पर पृष्ठ के प्रत्येक पक्ष के लिए इन हाशिये का आकार निर्धारित करने वाली चार विशेषताएं थीं: टॉपमार्जिन (टॉप), राइटमार्जिन (दाएं), बॉटममार्जिन (नीचे) और लेफ्टमार्जिन (बाएं)। अब ये विशेषताएँ बहिष्कृत हैं, इसलिए हम शैलियों (सीएसएस) को लागू करेंगे। इसलिए, पृष्ठ के किनारों पर मार्जिन बदलने के कई तरीके हैं, मैं आपको दो दिखाऊंगा, और यदि आप CSS सीखने का निर्णय लेते हैं तो आप तीसरे के बारे में जानेंगे।

    विधि एक। बी टैग निम्नलिखित मानों के साथ शैली विशेषता निर्दिष्ट करें:

    शैली = "मार्जिन: 0">...

    - एक ही बार में HTML पृष्ठ के सभी पक्षों से इंडेंट हटा देता है।

    शैली = "मार्जिन: टॉप राइट बॉटम लेफ्ट">...

    - प्रत्येक पक्ष के लिए दक्षिणावर्त इंडेंट के आकार को समायोजित करता है। एक नियम के रूप में, पिक्सेल में आयामों का उपयोग किया जाता है, उदाहरण के लिए: शैली = "मार्जिन: 5 पीएक्स 3 पीएक्स 4 पीएक्स 5 पीएक्स">...

    दूसरा या अधिक सुविधाजनक तरीका. टैग में

    गृहकार्य।

    इस पाठ में, मैं सब कुछ विस्तार से नहीं बताऊंगा - केवल सामान्य बिंदु। पूर्णता के लिए, उदाहरण का परिणाम देखें।

    1. तीन टेबल बनाएं, प्रत्येक में एक पंक्ति और तीन कॉलम (कॉलम) हों।
    2. पहली तालिका में, पृष्ठ के हेडर या "हेडर" (HTML दस्तावेज़ के "हेडर" के साथ भ्रमित न हों), दूसरे में - बाएँ और दाएँ मेनू, साथ ही मुख्य सामग्री (सामग्री) रखें। , तीसरे में - पृष्ठ का पाद या "पाद"।
    3. बता दें कि प्रत्येक टेबल के पहले और आखिरी कॉलम की चौड़ाई तय है।
    4. महत्वपूर्ण। टैग का प्रयोग करें पृष्ठ के "शीर्षलेख" में केवल चार क्षैतिज मेनू बटन बनाने के लिए। अन्य मामलों में, छवियों को पृष्ठभूमि में जाने दें, और तालिकाओं की दूसरी कोशिकाओं में, सामान्य रूप से केवल रंगों का उपयोग किया जाता है, और पहली और अंतिम तालिका में यह #99FF99 है।
    5. पृष्ठ सामग्री टेक्स्ट को टेबल सेल के दोनों किनारों पर शीर्षक के साथ संरेखित होने दें।
    6. तालिकाओं की कोशिकाओं के साथ-साथ कोशिकाओं के इंडेंट के बीच की दूरी के लिए, फिर अपने लिए सोचें कि उन्हें कहाँ पूरी तरह से हटा दिया जाना चाहिए, और कहाँ बढ़ाया जाना चाहिए।

    हमने पृष्ठ पर ऐसे तत्वों को टेक्स्ट जानकारी, लिंक्स, छवियों, शीर्षकों के रूप में स्टाइल करने के लिए कई तरीकों पर विचार किया है, लेकिन यह सब अभी भी पर्याप्त नहीं है। मेरे लेखों में, मैं अक्सर टेबल जैसे HTML तत्वों का उपयोग करता हूं, क्योंकि वे ज्यादातर मामलों में होते हैं व्यवस्थित करने में मदद करें महत्वपूर्ण सूचनाऔर पहुँचाने में आसानी हो।

    इस लेख में, मैं आपको HTML टेबल की स्टाइलिंग के बारे में जानकारी दूंगा, और आप इन लक्ष्यों को प्राप्त करने के लिए डिज़ाइन किए गए नए CSS गुण सीखेंगे।

    एचटीएमएल हाइपरटेक्स्ट मार्कअप लैंग्वेज ने हमें सीएसएस शैलियों को तालिकाओं के साथ काम करने के लिए डिज़ाइन किए गए दस अद्वितीय टैगों से बाँधने की बहुत संभावनाएँ दी हैं, मैं आगे के अध्ययन से पहले उन्हें दोहराने का प्रस्ताव करता हूँ:

    (तालिका का “पाद”) पृष्ठभूमि का रंग – मूंगा, तत्व के लिए (टेबल का "हेडर") बैकग्राउंड कलर सेट करता है चाँदी.
  • तत्वों के लिए
  • , जो तत्व के अंदर हैं (टेबल बॉडी) होवर पर बदलने के लिए पृष्ठभूमि का रंग सेट करें (छद्म वर्ग: होवर) सी सफ़ेदप्रति रंग खाकी(पूरी लाइन हाइलाइट की गई है)।

    हमारे उदाहरण का नतीजा:

    चावल। टेबल में 153 रो स्टाइलिंग उदाहरण

    निम्न उदाहरण टेबल सेल (प्रॉपर्टी) में कॉर्नर राउंडिंग लगाने पर विचार करता है।

    सेल कॉर्नर राउंडिंग उदाहरण
    उपनामविवरण
    .
    तालिका की सामग्री को परिभाषित करता है।
    तालिका का नाम निर्दिष्ट करता है।
    तालिका के शीर्षलेख कक्ष को परिभाषित करता है।
    तालिका पंक्ति को परिभाषित करता है।
    तालिका डेटा सेल को परिभाषित करता है।
    तालिका (तालिका शीर्षलेख) में समूह शीर्षलेख शामिल करने के लिए प्रयुक्त होता है।
    तालिका के "बॉडी" को शामिल करने के लिए उपयोग किया जाता है।
    तालिका (पाद लेख) के "पाद लेख" को शामिल करने के लिए उपयोग किया जाता है।
    टैग के भीतर प्रत्येक कॉलम के लिए दिए गए कॉलम गुणों को परिभाषित करता है
    तालिका में स्तंभों के समूह को परिभाषित करता है।

    तालिका में इंडेंट के साथ कार्य करना

    तालिका में गद्दी का उपयोग करना
    टेबल इंडेंट
    1 2 3 4
    2
    3
    4


    में यह उदाहरणहम:

    • हमने बाहरी मार्जिन (मार्जिन: 0 ऑटो) के साथ क्षैतिज केंद्रित तकनीक का उपयोग करके तालिका को केंद्र में रखा।
    • तालिका के नाम के लिए (टैग
    ) हम बॉटम पैडिंग को 19 पिक्सेल पर सेट करते हैं। मुझे आशा है कि आप असमान संख्याओं से भ्रमित नहीं होंगे :)

    हमारे उदाहरण का नतीजा:

    कोशिकाओं के बीच की दूरी

    उपरोक्त उदाहरण के बाद, आपने देखा होगा कि तालिका में सभी कोशिकाओं के बीच अभी भी एक अंतर है। आइए देखें कि तालिका की कोशिकाओं के बीच के अंतर को कैसे हटाया जाए या इसे बढ़ाया जाए।

    पड़ोसी कोशिकाओं की सीमाओं के बीच की दूरी निर्धारित करने के लिए, आपको सीएसएस गुण - बॉर्डर-स्पेसिंग का उपयोग करना होगा।

    तालिकाओं के बीच की दूरी को बदलना
    बॉर्डर-स्पेसिंग: 30px 10px;
    1 2 3
    2
    3
    बॉर्डर-स्पेसिंग: 0;
    1 2 3
    2
    3
    बॉर्डर-स्पेसिंग: 0.2em;
    1 2 3
    2
    3


    इस उदाहरण में, हम:

    • नाव छोड़ी )। यदि आप फ्लोटिंग तत्वों के विषय से चूक गए हैं, तो आप इस ट्यूटोरियल - "" में हमेशा वापस आ सकते हैं।
    • इसके अलावा, हम तालिकाओं के दाहिने मार्जिन को 30px पर सेट करते हैं और तालिकाओं के ऊर्ध्वाधर संरेखण को सेट करते हैं (तत्व का शीर्ष सबसे ऊंचे तत्व के शीर्ष के साथ संरेखित होता है)। हम इस लेख में इस संपत्ति की विस्तृत चर्चा पर लौटेंगे।
    ) बोल्ड है।
  • टेबल सेल (हेडर और डेटा सेल) के लिए, हम हेक्स रंग #F50 के साथ 1 px सॉलिड बॉर्डर सेट करते हैं और सभी तरफ 19 px की पैडिंग सेट करते हैं।
  • कक्षा के साथ पहली तालिका के लिए ।पहलाहम वर्ग के साथ दूसरी तालिका के लिए तालिका कक्षों (बॉर्डर-स्पेसिंग संपत्ति) के बीच रिक्ति को 30px 10px पर सेट करते हैं ।दूसराकक्षा के साथ तीसरी तालिका के लिए शून्य के बराबर ।तीसरा 0.2em के बराबर।
  • मैं आपका ध्यान इस तथ्य की ओर आकर्षित करता हूं कि यदि बॉर्डर-स्पेसिंग संपत्ति में केवल एक लंबाई मान निर्दिष्ट किया गया है, तो यह क्षैतिज और लंबवत दोनों तरह के अंतरालों को निर्दिष्ट करता है, और यदि दो लंबाई मान निर्दिष्ट किए जाते हैं, तो पहला निर्धारित करता है क्षैतिज दूरी, और दूसरा लंबवत। पड़ोसी कोशिकाओं की सीमाओं के बीच की दूरी सीएसएस इकाइयों (पीएक्स, सेमी, ईएम, आदि) में निर्दिष्ट की जा सकती है। नकारात्मक मूल्यों की अनुमति नहीं है।

    हमारे उदाहरण का नतीजा:

    टेबल सेल के चारों ओर बॉर्डर दिखाएं

    आप कह सकते हैं: - इसलिए, हमने 0 के मान के साथ बॉर्डर-स्पेसिंग गुण का उपयोग करके कोशिकाओं के बीच के अंतर को हटा दिया, लेकिन अब हमारे पास सेल बॉर्डर क्यों हैं जो प्रतिच्छेद करते हैं?

    डबल बॉर्डर इस तथ्य के कारण बनते हैं कि एक सेल के निचले बॉर्डर को उसके नीचे के सेल के शीर्ष बॉर्डर में जोड़ा जाता है, इसी तरह की स्थिति कोशिकाओं के किनारों पर होती है और यह तालिका प्रदर्शन के संदर्भ में तार्किक है, लेकिन सौभाग्य से वहाँ ब्राउज़र को यह बताने का एक तरीका है कि हम सेल बॉर्डर के ऐसे निर्लज्ज व्यवहार को नहीं देखना चाहते हैं।

    ऐसा करने के लिए, आपको बॉर्डर-पतन CSS संपत्ति का उपयोग करने की आवश्यकता है। विचित्र रूप से पर्याप्त है, सीमा-पतन संपत्ति का उपयोग पतन के मूल्य के साथ है सबसे अच्छा तरीकामैं कोशिकाओं के बीच के अंतर को कैसे दूर कर सकता हूं और साथ ही उनके बीच दोहरी सीमाएं नहीं प्राप्त कर सकता हूं।

    0 के मान के साथ बॉर्डर-स्पेसिंग गुण और पतन के मान के साथ बॉर्डर-संकुचन गुण का उपयोग करते समय सीमाओं के व्यवहार की तुलना करने पर विचार करें:

    तालिका कक्षों के चारों ओर बॉर्डर प्रदर्शित करने का उदाहरण
    बॉर्डर-स्पेसिंग: 0;
    1 2 3
    2
    3
    सीमा-पतन: पतन;
    1 2 3
    2
    3


    इस उदाहरण में, हम:

    • हमने अपनी तालिकाओं को तैरते हुए बनाया और बाईं ओर स्थानांतरित कर दिया (फ्लोट: बाएं), उनके बाहरी दाएं मार्जिन को 30px पर सेट करें।
    • तालिका के नाम के लिए सेट करें (tag
    ) बोल्ड है।
  • टेबल सेल (हेडर और डेटा सेल) के लिए हम हेक्स कलर #F50 के साथ 5 px सॉलिड बॉर्डर सेट करते हैं और 50px की निश्चित चौड़ाई और 75px की ऊंचाई सेट करते हैं।
  • कक्षा के साथ पहली तालिका के लिए ।पहलाहम तालिका कोशिकाओं के बीच रिक्ति को शून्य (बॉर्डर-स्पेसिंग: 0;) पर सेट करते हैं, और कक्षा के साथ दूसरी तालिका के लिए ।दूसरासीमा-संक्षिप्त गुण को पतन पर सेट करें, जो संभव होने पर सेल सीमाओं को एक में विलीन कर देता है।
  • हमारे उदाहरण का नतीजा:

    खाली कोशिकाओं का व्यवहार

    सीएसएस के साथ, आप सेट कर सकते हैं कि तालिका में खाली सेल की सीमाओं और पृष्ठभूमि को प्रदर्शित करना है या नहीं। इस व्यवहार के लिए एम्प्टी-सेल्स गुण जिम्मेदार है, जैसा कि आपने पिछले उदाहरणों में देखा होगा, डिफॉल्ट रूप से एम्प्टी सेल प्रदर्शित करता है।

    आइए एक उदाहरण पर चलते हैं:

    खाली टेबल सेल प्रदर्शित करने का उदाहरण
    खाली-कोशिकाएँ: दिखाएँ;
    1 2 3
    2
    3
    खाली-कोशिकाएँ: छिपाएँ;
    1 2 3
    2
    3


    यह समझना बहुत आसान है कि इस उदाहरण से खाली-कक्ष संपत्ति कैसे काम करती है, अगर इसे छुपाने के लिए सेट किया गया है, तो खाली सेल और उनमें पृष्ठभूमि छिपी होगी, अगर दिखाने के लिए सेट किया गया है (डिफ़ॉल्ट), तो वे दिखाए जाएंगे।

    टेबल हेडर स्थान

    आइए टेबल स्टाइलिंग के लिए एक और सरल संपत्ति देखें - कैप्शन-साइड, जो टेबल कैप्शन (तालिका के ऊपर या नीचे) की स्थिति निर्धारित करता है। डिफ़ॉल्ट रूप से, Caption-side गुण शीर्ष पर सेट होता है, जो शीर्षक को तालिका के ऊपर रखता है। टेबल के नीचे हेडर लगाने के लिए, आपको बॉटम वैल्यू वाली प्रॉपर्टी का इस्तेमाल करना होगा।

    आइए इस संपत्ति का उपयोग करने का एक उदाहरण देखें:

    कैप्शन-साइड संपत्ति का उपयोग करने का एक उदाहरण
    तालिका के ऊपर शीर्षक
    नामकीमत
    मछली350 रूबल
    मांस250 रूबल

    तालिका के नीचे शीर्षक
    नामकीमत
    मछली350 रूबल
    मांस250 रूबल


    इस उदाहरण में, हमने बनाया है दो कक्षाएं, जो टेबल हेडर के स्थान को नियंत्रित करते हैं। प्रथम श्रेणी ( .topCaption) टेबल हेडर को इसके ऊपर रखता है, हमने इसे पहली टेबल और दूसरी क्लास ( .bottomCaption) टेबल हेडर को उसके नीचे रखता है, हमने इसे दूसरी टेबल पर लागू कर दिया है। कक्षा .topCaptionडिफ़ॉल्ट रूप से कैप्शन-साइड संपत्ति पर सेट है और प्रदर्शन उद्देश्यों के लिए बनाया गया था।

    हमारे उदाहरण का नतीजा:

    क्षैतिज और लंबवत संरेखण

    ज्यादातर मामलों में तालिकाओं के साथ काम करते समय, आपको हेडर और डेटा सेल के भीतर सामग्री संरेखण को समायोजित करने की आवश्यकता होगी। पाठ-संरेखण गुण का उपयोग क्षैतिज संरेखण के लिए किया जाता है, किसी भी पाठ्य सूचना के समान। हमने लेख "" में पाठ के लिए इस संपत्ति के उपयोग पर पहले विचार किया था।

    कोशिकाओं में सामग्री के लिए संरेखण सेट करने के लिए, आपको टेक्स्ट-संरेखित गुण के साथ विशेष कीवर्ड का उपयोग करने की आवश्यकता है। निम्नलिखित उदाहरण में इस संपत्ति के खोजशब्दों के उपयोग पर विचार करें।

    तालिका में क्षैतिज संरेखण का उदाहरण
    अर्थविवरण
    बाएंसेल टेक्स्ट को बाईं ओर संरेखित करता है। यह डिफ़ॉल्ट मान है (यदि पाठ दिशा बाएं से दाएं है)।
    सहीसेल टेक्स्ट को दाईं ओर संरेखित करता है। यह डिफ़ॉल्ट मान है (यदि पाठ की दिशा दाएँ से बाएँ है)।
    केंद्रसेल टेक्स्ट को केंद्र में संरेखित करता है।
    न्यायोचित ठहरानापंक्तियों को फैलाता है ताकि प्रत्येक पंक्ति की चौड़ाई समान हो (चौड़ाई को फिट करने के लिए सेल के पाठ को फैलाता है)।


    इस उदाहरण में, हमने बनाया है चार वर्ग, जो कोशिकाओं में विभिन्न क्षैतिज संरेखण सेट करते हैं और उन्हें तालिका की पंक्तियों के क्रम में लागू करते हैं। सेल में मान पाठ-संरेखित गुण के मान से मेल खाता है

    हमारे उदाहरण का नतीजा:

    क्षैतिज संरेखण के अलावा, आप लंबवत-संरेखण गुण का उपयोग करके तालिका कक्षों में लंबवत संरेखण को भी परिभाषित कर सकते हैं।

    कृपया ध्यान दें कि टेबल सेल के साथ काम करते समय, इस संपत्ति के केवल निम्नलिखित * मान लागू होते हैं:

    * - टेबल सेल पर लागू सब, सुपर, टेक्स्ट-टॉप, टेक्स्ट-बॉटम, लंबाई और% मान बेसलाइन मान का उपयोग करने जैसा व्यवहार करेंगे।

    आइए उपयोग के एक उदाहरण पर विचार करें:

    तालिका में लंबवत संरेखण का एक उदाहरण
    अर्थविवरण
    आधारभूतसेल की आधार रेखा को पैरेंट की आधार रेखा के साथ संरेखित करता है। यह व्यतिक्रम मूल्य है।
    ऊपरसेल की सामग्री को लंबवत रूप से शीर्ष पर संरेखित करता है।
    मध्यसेल की सामग्री को लंबवत रूप से बीच में संरेखित करता है.
    तलसेल की सामग्री को लंबवत रूप से नीचे की ओर संरेखित करता है।


    इस उदाहरण में, हमने बनाया है चार वर्ग, जो सेल में अलग-अलग वर्टिकल अलाइनमेंट सेट करते हैं और उन्हें टेबल की पंक्तियों के क्रम में लागू करते हैं। सेल में मान लंबवत-संरेखित गुण के मान से मेल खाता है जो उस पंक्ति पर लागू किया गया था।

    ब्राउजर द्वारा टेबल लेआउट रखने के लिए एल्गोरिथम

    CSS डिफ़ॉल्ट रूप से ब्राउज़र के स्वचालित तालिका लेआउट एल्गोरिथम का उपयोग करती है। इस मामले में कॉलम की चौड़ाई सेल की सबसे बड़ी नॉन-ब्रेकिंग सामग्री द्वारा निर्धारित की जाती है. यह एल्गोरिदम कुछ मामलों में धीमा हो सकता है क्योंकि ब्राउजर को अपने अंतिम लेआउट को निर्धारित करने से पहले तालिका में सभी सामग्री को पढ़ना चाहिए।

    ब्राउज़र द्वारा तालिका लेआउट के लेआउट प्रकार को बदलने के लिए स्वचालितपर हल किया गया, आपको निश्चित मान के साथ CSS गुण तालिका-लेआउट का उपयोग करना चाहिए।

    इस मामले में, क्षैतिज प्लेसमेंट केवल निर्भर करता है तालिका की चौड़ाई और स्तंभों की चौड़ाई पर, कोशिकाओं की सामग्री पर नहीं।पहली पंक्ति प्राप्त होते ही ब्राउज़र तालिका को प्रस्तुत करना शुरू कर देता है। नतीजतन, निश्चित एल्गोरिदम आपको स्वचालित विकल्प का उपयोग करने से तेज़ी से ऐसी तालिका का लेआउट बनाने की अनुमति देता है। बड़ी तालिकाओं के साथ काम करते समय, आप प्रदर्शन बढ़ाने के लिए एक निश्चित एल्गोरिथम का उपयोग कर सकते हैं।

    आइए इस संपत्ति के उपयोग को निम्नलिखित उदाहरण के साथ देखें:

    तालिका-लेआउट संपत्ति का उपयोग करने का एक उदाहरण
    टेबल-लेआउट: ऑटो;
    नाम 2009 2010 2011 2012 2013 2014 2015 2016
    गेहूँ 125 215 2540 33287 695878 1222222 125840000 125
    टेबल-लेआउट: फिक्स्ड;
    नाम 2009 2010 2011 2012 2013 2014 2015 2016
    गेहूँ 125 215 2540 33287 695878 1222222 125840000 125


    इस उदाहरण में, हम:

    स्टाइलिंग तालिका पंक्तियों और स्तंभों

    आप और मैं पहले ही लेख "" में तालिका की पंक्तियों और स्तंभों को स्टाइल करने के तरीकों पर आंशिक रूप से छू चुके हैं। इस लेख में, हमने एक समूह स्यूडो-क्लास का उपयोग करने पर ध्यान दिया, जो आपको मानों का उपयोग करके तालिकाओं में पंक्ति शैलियों को इंटरलीव करने की अनुमति देता है यहां तक ​​की (ईमानदार) और अजीब (अजीब), या प्राथमिक द्वारा गणितीय सूत्र.

    आइए उन तकनीकों पर दोबारा गौर करें जिन्हें हमने अभी तक कवर किया है और तालिकाओं में पंक्तियों और स्तंभों को शैलीबद्ध करने के नए तरीके तलाशते हैं। आइए उदाहरणों पर चलते हैं।

    तालिकाओं के साथ :nth-child स्यूडो-क्लास का उपयोग करने का एक उदाहरण
    1 2 3 4 5 6 7 8 9 10 11 12 13 14
    2
    3
    4


    इस उदाहरण में, हम:

    हमारे उदाहरण का नतीजा:

    चलिए अगले उदाहरण पर चलते हैं, जिसमें हम टेबल पंक्तियों को स्टाइल करने के विकल्पों पर विचार करेंगे।

    तालिकाओं में स्टाइलिंग पंक्तियों का एक उदाहरण
    सेवाकीमत
    जोड़ 15 000
    1 1 000
    2 2 000
    3 3 000
    4 4 000
    5 5 000


    इस उदाहरण में, हम:

    • हम तालिका की चौड़ाई मूल तत्व की चौड़ाई के 100% पर सेट करते हैं, हेडर और डेटा सेल के लिए हम 1px चौड़ी एक ठोस सीमा निर्धारित करते हैं।
    • तत्व के लिए सेट करें
    1 2 3 4 5


    इस उदाहरण में, हम:

    • तालिका को बाहरी मार्जिन के साथ केंद्रित करें, निर्दिष्ट हेडर सेल की चौड़ाई और ऊंचाई को 50px पर सेट करें पारदर्शीसीमा 5 पिक्सेल।
    • पाया कि जब आप हेडर सेल पर होवर (छद्म वर्ग: होवर) करते हैं, तो यह हो जाता है पृष्ठभूमि नीलारंग की, नारंगीपाठ का रंग, सीमा नारंगीरंग 5 पिक्सेल और गोलाई त्रिज्या 100%।
    • पारदर्शी सीमासीमा के लिए एक स्थान आरक्षित करने के लिए आवश्यक है, जो होवर पर प्रदर्शित होगा, यदि ऐसा नहीं किया जाता है, तो तालिका "कूद" जाएगी।

    हमारे उदाहरण का नतीजा:

    निम्न उदाहरण HTML तत्वों के उपयोग पर स्पर्श करता है और और उनकी स्टाइलिंग।

    टेबल कॉलम हाइलाइटिंग उदाहरण
    आवेदन नहीं।सेवामूल्य, रगड़ना।कुल
    1गायन 6 000 6 000
    2भोजनोपरांत बर्तन आदि की सफ़ाई 2 000 2 000
    3सफाई 1 000 1 000
    4छिद्रान्वेषी 1 500 1 500
    5अध्ययन 3 000 3 000


    इस उदाहरण में, हम:

    हमारे उदाहरण का नतीजा:

    और अंतिम उदाहरण, जिसे समझना काफी कठिन है और इसके लिए CSS के उन्नत ज्ञान की आवश्यकता है, क्योंकि यह इस पाठ्यक्रम के भीतर विस्तृत अध्ययन के लिए नियोजित भविष्य के विषयों को छूता है।

    पिछले उदाहरण में, हमने महसूस किया कि HTML तत्व आप केवल एक सीएसएस संपत्ति - पृष्ठभूमि रंग (पृष्ठभूमि-रंग) लागू कर सकते हैं, लेकिन साथ ही आप इस तत्व पर सीधे होवर (छद्म-वर्ग: होवर) पर पृष्ठभूमि रंग सेट नहीं कर सकते। इस उदाहरण में, हम देखेंगे कि केवल CSS का उपयोग करके तालिका स्तंभ को कैसे हाइलाइट किया जाए।

    हॉवर पर तालिका के कॉलम और पंक्तियों को हाइलाइट करने का एक उदाहरण
    आवेदन नहीं।सेवामूल्य, रगड़ना।कुल
    1गायन 6 000 6 000
    2भोजनोपरांत बर्तन आदि की सफ़ाई 2 000 2 000
    3सफाई 1 000 1 000
    4छिद्रान्वेषी 1 500 1 500
    5अध्ययन 3 000 3 000


    इस उदाहरण में, हम:

    • हम सेट करते हैं कि हमारी तालिका 100% मूल तत्व पर कब्जा कर लेती है, तालिका कोशिकाएं मूल तत्व के 25% पर कब्जा कर लेती हैं और 1 पिक्सेल हरे रंग की एक ठोस सीमा होती है, हेडर और डेटा कोशिकाओं की ऊंचाई 45px होती है। हमने मूल्य के साथ सीमा-संक्षिप्त गुण का उपयोग करके कोशिकाओं के बीच के अंतर को हटा दिया .
    • और इसलिए, छद्म-तत्व के बाद :: का उपयोग करके हम प्रत्येक तत्व के बाद सामग्री जोड़ते हैं हॉवर पर। सामग्री संपत्ति के साथ :: के बाद छद्म-तत्व का उपयोग किया जाना चाहिए, जिसके लिए हम एक ब्लॉक-स्तरीय तत्व सम्मिलित करते हैं जिसमें पृष्ठभूमि का रंग होता है हरे जंगलऔर हैं पूर्ण स्थिति.
    • यहां निरपेक्ष स्थिति अपने पूर्वज के निर्दिष्ट किनारे के सापेक्ष तत्व को ऑफसेट करने के लिए आवश्यक है, जबकि पूर्वज के पास डिफ़ॉल्ट - स्थिर के अलावा कोई स्थिति मान होना चाहिए, अन्यथा गिनती ब्राउज़र विंडो के निर्दिष्ट किनारे के सापेक्ष होगी, इसके लिए टेबल के लिए सेट करने का कारण सापेक्ष स्थिति(रिश्तेदार )।
    • हम अपने जनरेट किए गए ब्लॉक के लिए शीर्ष संपत्ति सेट करते हैं, जो शीर्ष किनारे से स्थित तत्व की ऑफसेट दिशा को निर्दिष्ट करता है, और नीचे की संपत्ति, जो निचले किनारे से स्थित तत्व की ऑफसेट दिशा को निर्दिष्ट करता है। दोनों गुणों को 0 पर सेट किया गया था, इसलिए ब्लॉक तालिका के नीचे और ऊपर से तत्व पर पूरी तरह से कब्जा कर लेगा, इस ब्लॉक की चौड़ाई 25% पर सेट की गई थी, यह मान सेल की चौड़ाई के मान से मेल खाता है।
    • और अंतिम गुण जो हमने इस ब्लॉक के लिए निर्धारित किया है: z-इंडेक्स "-1" के मान के साथ यह स्थित तत्वों के क्रम को निर्धारित करता है जेड अक्ष. यह संपत्ति आवश्यक है ताकि पाठ इस ब्लॉक के सामने हो, न कि इसके पीछे, यदि आप शून्य से कम मान सेट नहीं करते हैं, तो ब्लॉक पाठ को बंद कर देगा।

    हमारे उदाहरण का नतीजा:

    यदि अध्ययन के इस स्तर पर आप तत्वों की स्थिति की प्रक्रिया को नहीं समझते हैं, तो निराश न हों, यह समझने के लिए एक कठिन विषय है, जिस पर हमने भी विचार नहीं किया, लेकिन हम निश्चित रूप से अगले लेख में इस पर विचार करेंगे। पाठ्यपुस्तक "सीएसएस में पोजिशनिंग तत्व"।

    विषय पर प्रश्न और कार्य

    अगले विषय पर जाने से पहले, व्यावहारिक कार्य पूरा करें:


    यदि आपको किसी अभ्यास अभ्यास को पूरा करने में समस्या हो रही है, तो आप कभी भी उदाहरण को एक अलग विंडो में खोल सकते हैं और यह देखने के लिए पृष्ठ का निरीक्षण कर सकते हैं कि किस CSS का उपयोग किया गया था।


    2016-2020 डेनिस बोल्शकोव, आप साइट पर टिप्पणियां और सुझाव साइट@gmail.com पर भेज सकते हैं

    सारणीबद्ध आंकड़े- जानकारी जो तालिका के रूप में प्रदर्शित की जा सकती है और तार्किक रूप से स्तंभों और पंक्तियों में विभाजित की जा सकती है। HTML टैग का उपयोग वेब पेजों पर सारणीबद्ध डेटा प्रदर्शित करने के लिए किया जाता है।

    , जो तालिका की सामग्री वाला एक कंटेनर है। संतुष्ट एचटीएमएल टेबलपंक्ति दर पंक्ति वर्णित, प्रत्येक पंक्ति एक उद्घाटन टैग के साथ शुरू होती है और समापन टैग के साथ समाप्त होता है .

    टैग के अंदर

    टैग द्वारा दर्शाए गए टेबल सेल स्थित हैं
    या . यह वे कक्ष हैं जिनमें वेब पेज पर प्रदर्शित तालिका की सभी सामग्री होती है।

    टेबल फ्रेम

    डिफ़ॉल्ट रूप से, वेब पेज पर एक HTML टेबल बिना बॉर्डर के प्रदर्शित होती है, टेबल के साथ-साथ अन्य सभी तत्वों में बॉर्डर जोड़ने के लिए, CSS गुण का उपयोग करें सीमा. लेकिन आपको इस तथ्य पर ध्यान देना चाहिए कि यदि आप केवल तत्व में सीमा जोड़ते हैं

    , तो यह संपूर्ण तालिका के चारों ओर प्रदर्शित होगा। टेबल सेल में भी एक फ्रेम होने के लिए, आपको तत्वों के लिए बॉर्डर प्रॉपर्टी सेट करने की आवश्यकता होगी
    और .

    टेबल, वें, टीडी (बॉर्डर: 1पीएक्स सॉलिड ब्लैक; ) कोशिश "

    अब टेबल और सेल दोनों की सीमाएँ हैं, और प्रत्येक सेल और टेबल की अपनी सीमाएँ हैं। नतीजतन, फ्रेम के बीच एक खाली जगह दिखाई दी, इस जगह का आकार संपत्ति द्वारा नियंत्रित किया जा सकता है सीमा-दूरी, जो पूरी टेबल के लिए सेट है। दूसरे शब्दों में, आप अलग-अलग सेल के बीच की दूरी को अलग-अलग नियंत्रित नहीं कर सकते।

    यहां तक ​​​​कि अगर आप 0 पर सेट बॉर्डर-स्पेसिंग गुण वाले सेल के बीच की दूरी को हटा देते हैं, तो सेल बॉर्डर एक-दूसरे को स्पर्श करेंगे, दोगुनी हो जाएगी। सेल फ़्रेम मर्ज करने के लिए, गुण का उपयोग करें सीमा-पतन. यह दो मान ले सकता है:

    • अलग: डिफ़ॉल्ट मान है। सेल पर प्रदर्शित होते हैं कम दूरीइसके अलावा, प्रत्येक कोशिका की अपनी सीमा होती है।
    • पतन: आसन्न फ़्रेमों को एक में विलीन कर देता है, कोशिकाओं के साथ-साथ कोशिकाओं और तालिका फ़्रेम के बीच सभी अंतरालों को अनदेखा कर दिया जाता है।
    दस्तावेज़ का नाम
    नामउपनाम
    डाक का कबूतरसिम्पसन
    किनारासिम्पसन

    नामउपनाम
    डाक का कबूतरसिम्पसन
    किनारासिम्पसन


    कोशिश "

    तालिका का आकार

    टेबल सेल में बॉर्डर जोड़ने के बाद, यह ध्यान देने योग्य हो गया कि सेल की सामग्री किनारों के बहुत करीब थी। कोशिकाओं के किनारों और उनकी सामग्री के बीच मुक्त स्थान जोड़ने के लिए, आप संपत्ति का उपयोग कर सकते हैं गद्दी :

    गु, टीडी (गद्दी: 7 पीएक्स;) कोशिश "

    तालिका का आकार उसकी सामग्री पर निर्भर करता है, लेकिन अक्सर ऐसी स्थितियां होती हैं जब तालिका बहुत संकीर्ण होती है और इसे फैलाना आवश्यक हो जाता है। गुणों का उपयोग करके टेबल की चौड़ाई और ऊंचाई को बदला जा सकता है चौड़ाईऔर ऊंचाई, वांछित आयाम या तालिका स्वयं या कक्ष सेट करना:

    तालिका (चौड़ाई: 70%; ) वें (ऊंचाई: 50पीएक्स;) कोशिश "

    पाठ्य संरेखण

    डिफ़ॉल्ट रूप से, तालिका शीर्ष लेख कक्षों में पाठ मध्य संरेखित होता है और गुण का उपयोग करके सामान्य कक्षों में पाठ बाईं ओर संरेखित किया जाता है पाठ संरेखितआप पाठ के क्षैतिज संरेखण को नियंत्रित कर सकते हैं।

    सीएसएस संपत्ति ऊर्ध्वाधर- alignआपको टेक्स्ट सामग्री के लंबवत संरेखण को नियंत्रित करने की अनुमति देता है। डिफ़ॉल्ट रूप से, पाठ को कोशिकाओं के केंद्र में लंबवत रूप से संरेखित किया जाता है। लंबवत संरेखण गुण मानों में से किसी एक का उपयोग करके लंबवत संरेखण को ओवरराइड किया जा सकता है:

    • शीर्ष: पाठ को सेल के शीर्ष पर संरेखित किया गया है
    • मध्य: पाठ को केंद्र में संरेखित करता है (डिफ़ॉल्ट)
    • बॉटम: टेक्स्ट को सेल के बॉटम बॉर्डर से एलाइन किया जाता है
    दस्तावेज़ का नाम
    नामउपनाम
    डाक का कबूतरसिम्पसन
    किनारासिम्पसन


    कोशिश "

    तालिका पंक्ति पृष्ठभूमि रंग प्रत्यावर्तन

    कई पंक्तियों वाली बड़ी तालिकाओं को देखते समय बड़ी राशिजानकारी, यह ट्रैक करना मुश्किल हो सकता है कि कौन सा डेटा किसी विशेष पंक्ति से संबंधित है। उपयोगकर्ताओं को नेविगेट करने में मदद करने के लिए, आप वैकल्पिक रूप से दो अलग-अलग पृष्ठभूमि रंगों का उपयोग कर सकते हैं। वर्णित प्रभाव बनाने के लिए, आप उपयोग कर सकते हैं वर्ग चयनकर्ता, इसे तालिका की प्रत्येक दूसरी पंक्ति में जोड़ना:

    दस्तावेज़ का नाम

    नामउपनामपद
    डाक का कबूतरसिम्पसनपिता
    किनारासिम्पसनमां
    बार्टसिम्पसनबेटा
    लिसासिम्पसनबेटी


    कोशिश "

    प्रत्येक दूसरी पंक्ति में एक वर्ग विशेषता जोड़ना एक कठिन कार्य है। CSS3 में जोड़ा गया छद्म वर्ग: nth-चाइल्ड, इस समस्या को वैकल्पिक तरीके से हल करने की अनुमति देता है। दस्तावेज़ के HTML मार्कअप को बदलने का सहारा लिए बिना अब स्ट्रिपिंग का प्रभाव पूरी तरह से CSS के माध्यम से प्राप्त किया जा सकता है। :nth-child स्यूडो-क्लास का उपयोग करके, आप किसी एक कीवर्ड का उपयोग करके तालिका की सभी सम या विषम पंक्तियों का चयन कर सकते हैं: सम (सम) या विषम (विषम):

    Tr:nth-child(विषम) (पृष्ठभूमि-रंग: #EAF2D3; ) कोशिश "

    हॉवर पर पंक्ति पृष्ठभूमि बदलें

    सारणीबद्ध डेटा की पठनीयता में सुधार करने का दूसरा तरीका यह है कि जब आप माउस से किसी पंक्ति पर होवर करते हैं तो उसकी पृष्ठभूमि का रंग बदल दें। यह तालिका की वांछित सामग्री को उजागर करने और डेटा की दृश्य धारणा को बढ़ाने में मदद करेगा।

    इस तरह के प्रभाव को लागू करना बहुत सरल है, आपको केवल तालिका पंक्ति चयनकर्ता में :hover छद्म वर्ग जोड़ना है और वांछित पृष्ठभूमि रंग सेट करना है:

    ट्र: होवर (पृष्ठभूमि-रंग: #E0E0FF;) कोशिश "

    केंद्र संरेखित तालिका

    एचटीएमएल संरेखणसेंटरिंग टेबल तभी संभव है जब टेबल की चौड़ाई उसके मूल तत्व की चौड़ाई से कम हो। तालिका को केंद्र में रखने के लिए, आपको मार्जिन संपत्ति का उपयोग करने की आवश्यकता है, इसे कम से कम दो मानों पर सेट करना: पहला मान ऊपर और नीचे से तालिका के बाहरी मार्जिन के लिए जिम्मेदार होगा, और दूसरा - स्वचालित केंद्र संरेखण के लिए:

    टेबल (मार्जिन: 10पीएक्स ऑटो;) कोशिश "

    यदि आपको टेबल के ऊपर और नीचे अलग-अलग इंडेंट चाहिए, तो आप प्रॉपर्टी सेट कर सकते हैं अंतरतीन मान: पहला शीर्ष इंडेंट के लिए जिम्मेदार होगा, दूसरा क्षैतिज संरेखण के लिए और तीसरा निचला इंडेंट के लिए:

    टेबल (मार्जिन: 10पीएक्स ऑटो 30पीएक्स;)



    संबंधित आलेख: