2012-03-19 11 views
5

मेरे पास कुछ पुरानी सामग्री है जिसमें HTML चौड़ाई विशेषता के साथ निर्दिष्ट चौड़ाई वाली सारणी है: <table width="250">। सीएसएस चयनकर्ता table के लिए इस नियम को एक नियम द्वारा ओवरराइड किया जा रहा है। क्या मैं इसे ओवरराइड करना बंद कर सकता हूं ताकि तालिका में HTML विशेषता में निर्दिष्ट चौड़ाई हो (जो हमेशा 250 पिक्सेल नहीं है, यह केवल एक उदाहरण है)? मैं उन टेबलों को चुन सकता हूं जिनके चयनकर्ता #column1 table के साथ अपनी चौड़ाई ओवरराइड नहीं होनी चाहिए।एचटीएमएल चौड़ाई विशेषता को ओवरराइड करना बंद करें

+1

आप सीएसएस 'चौड़ाई' नियम को आसानी से क्यों नहीं हटा सकते हैं जो विशेषता को ओवरराइड करता है? – fcalderan

+0

क्योंकि यह पुराने आयातित सामग्री के _lot_ पर है। मैं संभवतः एक खोज-प्रतिस्थापन स्क्रिप्ट लिख सकता हूं, जिसने # कॉलम 1 तालिका से मेल खाने वाली सभी तालिकाओं के लिए ऐसा किया लेकिन यह एक आसान तरीका ढूंढना अच्छा होगा। – tog22

+0

मुझे लगता है कि यह सभी इनलाइन चौड़ाई और ऊंचाई विशेषताओं को बेहतर ढंग से हटा देगा, अन्यथा आपको क्रिस्टोफर केनी – fcalderan

उत्तर

4

इस प्रयास करें:

#column1 table { 
    width: auto; 
} 

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

मैंने जावास्क्रिप्ट और jquery के साथ एक सीएमएस में wysiwyg संपादक द्वारा उत्पन्न पुराने एचटीएमएल के लिए इस समस्या को हल किया। मैं मेज (रों) से अधिक पुनरावृति और चौड़ाई और ऊंचाई विशेषता है जो मैं तो इनलाइन सीएसएस में बदलने पढ़ें:

var $table = $('#column1 table'); 
$table.css({ 
    "width" : $table.attr('width'), 
    "height" : $table.attr('height') 
}); 
+1

यह काम नहीं करता है, मैंने कोशिश की है। यह तालिका की गणना करता है जैसे कि कोई सीएसएस या HTML चौड़ाई विशेषता लागू नहीं होती है। – tog22

+0

बस चौड़ाई का उपयोग करें: ऑटो के बजाय 250px। –

+0

@ tog22 मैंने जावास्क्रिप्ट (और jquery) समाधान जोड़ा है जिसे मैंने एक बार उपयोग किया था। –

5

आप HTML के साथ सीएसएस ओवरराइड नहीं कर सकते, लेकिन आप उदाहरण के लिए विशेषता style जोड़ सकते हैं:

style = " width: 250px;" 

संपादित करें: आप इसे बाहर से लगाकर ओवरराइड कर सकते हैं सीएसएस शासन के अंत के जो किसी अन्य सीएसएस आप क्या बदल रहे हैं के संबंध में जिम्मेदार बताते हैं बाहर रद्द हो जाएगा पर महत्वपूर्ण!।

जैसे:

#column1 table { 
    width: 250px !important; 
} 
+0

धन्यवाद, लेकिन मूल प्रश्न पर मेरी स्पष्टीकरण टिप्पणी देखें। उपयोगकर्ता स्पष्टीकरण के बाद – tog22

+0

यह सही उत्तर लगता है: +1 – fcalderan

+0

@ togg22: हाँ,! महत्वपूर्ण मदद कर सकता है। हालांकि, मैं इसे शैली = "..." के रूप में उपयोग नहीं करता बल्कि एक स्टाइलशीट में उपयोग करता हूं। अन्यथा आप एक खोज-प्रतिस्थापन कर सकते हैं, जिसे वैसे भी अनुशंसित किया जाएगा! – Chris

0

क्या आप कृपया हमें बता सकते हैं कि आप इनलाइन HTML विशेषताओं का उपयोग क्यों कर रहे हैं?

जब तक आपके पास बहुत मजबूत कारण नहीं है, तो मैं आपको सलाह देता हूं कि आप किसी शैली से संबंधित चीजों को सीएसएस में ले जाएं। और यह बहुत बेहतर है अगर सीएसएस की अपनी फाइल है, इनलाइन भी शामिल नहीं है।

प्रस्तुति से हमेशा सामग्री को अलग करने के लिए यह एक बेहतर अभ्यास है।

+0

मुझे पता है, मूल प्रश्न पर मेरी स्पष्टीकरण टिप्पणी देखें। – tog22

0

एक संभावित हालांकि मेरे साथ हुआ असंगत उत्तर सीएसएस चयनकर्ता table के लिए नियम को प्रतिस्थापित करना :not(#column1) table के लिए है। हालांकि यह केवल कुछ आधुनिक ब्राउज़रों में काम करेगा और आईई नहीं।

0

जैसा कि कहा गया है, मैं आपको इसके लिए स्टाइलशीट का उपयोग करने का सुझाव दूंगा! आप इसे अपने शैलियों में लागू करें। सीएसएस:

table { 
    width:250px; 
} 

और यदि पर्याप्त नहीं है, तो आप जोड़ सकते हैं!महत्वपूर्ण है, जैसे:

table { 
    width:250px !important; 
} 

और अपने html के शीर्ष भाग में इस तरह स्टाइलशीट जोड़ें: प्रत्येक मेज पर: "250px चौड़ाई" सीधे

<link rel="stylesheet" type="text/css" href="css/stlyes.css"> 

नहीं तो आप शैली = जोड़ने के लिए की आवश्यकता होगी । यदि आप फिर चौड़ाई को फिर से बदलना चाहते हैं 260 पीएक्स, आपको उन सभी को फिर से बदलना होगा।

हालांकि, अगर आपके पास अपने एचटीएमएल कोड तक पहुंच है, तो एक ढूँढें-जगह बदलने के लिए, एक साफ़ कोड रखने की सिफारिश की जाएगी। लगभग किसी भी बहुत ही सरल टेक्स्ट एडिट प्रोग्राम में एक खोज-प्रतिस्थापन विकल्प होना चाहिए ...

0

मुझे पता है कि यह प्रश्न 2 साल पहले पूछा गया था, लेकिन यह उन अन्य लोगों के लिए सहायक हो सकता है जिनके समान समस्याएं हैं। आप सीएसएस विशेषता चयनकर्ता का उपयोग कर सकते हैं:

table:not([width]) { 
    width: 250px; 
} 

ध्यान दें कि यह आईई 9 के तहत काम नहीं करेगा, जहां तक ​​मुझे पता है।

+0

मुझे नहीं लगता कि यह मेरे प्रश्न का उत्तर देता है? – tog22

संबंधित मुद्दे