2011-09-20 18 views
6

आसपास मार्जिन जोड़ने के लिए के बाद मैं (का एक संशोधित संस्करण) जीन Locklin की 'गहराई' जो सिर्फ ठीक काम करता है लागू किया, यहाँ कोड है:का उपयोग करना: से पहले /: चयनकर्ता तत्वों

body:before { 
    height: 10px; 
    width: 110%; 
    position: fixed; 
    top: -10px; 
    left: -10px; 
    z-index: 6; 
    -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.8); 
    -moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.8); 
    box-shadow: 0px 0px 10px rgba(0,0,0,0.8); 
    content: ""; 
} 

लेकिन मैं उपयोग करना चाहते हैं : & से पहले: मार्जिन या पैडिंग जोड़ने के लिए चयनकर्ताओं के बाद, आप आस-पास के पाठ से फ़ॉर्म को अलग करने के लिए किसी प्रकार का अंतर जानते हैं।

यह मेरे चयनकर्ताओं का उपयोग करने के लिए विशिष्ट अनुच्छेदों के आसपास कुछ अंतर देने के लिए प्रयास करने के बाद आता है, सफलता के बिना मैं इन्हें अपने लक्षित विशेषताओं के आधार पर स्टाइल करने के लिए बदल गया।

मुझे एहसास है कि चयनकर्ता मुख्य रूप से ऑटो-टेक्स्ट को सुविधाजनक बनाने के लिए डिज़ाइन किए गए थे और यह मार्जिन या पैडिंग (नीचे दिए गए प्रश्नों को जोड़ा गया), लाइन ब्रेक, स्पैन, रिक्त डिवीजन, या यहां तक ​​कि जावास्क्रिप्ट का उपयोग करने के साथ भी करना आसान है। एक तत्व बनाएँ, और। लेकिन मैं इसके साथ ऐसा करना चाहता हूं: & से पहले: बाद में।

यहाँ उदाहरण कोड है कि मैं काम कर पाने के लिए करना चाहते हैं क्या है:

form:before { 
    height: 20px; 
    content: ""; 
} 

form:after { 
    height: 20px; 
    content: ""; 
    } 

संभावनाएं मुझे लगता है कि काम करने से यह रोक रहा है ...: से पहले /: जरूरत के बाद ब्लॉक स्तर के रूप में प्रदर्शित करने के लिए के रूप में वे आम तौर पर इनलाइन होते हैं (लेकिन 'गहराई' की आवश्यकता नहीं होती है?) और/या: पहले /: पूर्ण स्थिति की आवश्यकता के बाद।

आपके उदार इनपुट के लिए अग्रिम धन्यवाद।

+1

मार्जिन संपत्ति के साथ कुछ गड़बड़ है? – animuson

+0

मैं एनिमसॉन के साथ हूं ... आप गलत पैडिंग जोड़ने के लिए psuedo-elements का उपयोग करने का प्रयास क्यों कर रहे हैं? बस 'मार्जिन' और 'पैडिंग' गुणों का सही ढंग से उपयोग करें ... – Ben

+0

बिल्कुल,' फॉर्म {मार्जिन: 20px ऑटो क्यों है; } 'आपके लिए काम नहीं कर रहा है? – robertc

उत्तर

12

display: block; निर्दिष्ट करने का प्रयास करें। उन्हें position: absolute; होने की आवश्यकता नहीं है।

form:after { 
    content: ' '; 
    display: block; 
    height: 20px; 
} 

form:before { 
    content: ' '; 
    display: block; 
    height: 20px; 
} 
+0

यदि आप इसे 'डिस्प्ले: ब्लॉक' के रूप में निर्दिष्ट करते हैं तो यह पहले से ही 'चौड़ाई 100%' (उपलब्ध चौड़ाई को भरने के लिए विस्तारित) को इंगित करेगा। कृपया अनावश्यक मत बनो। – animuson

+0

धन्यवाद, मैं कोशिश करूँगा। मान लीजिए कि यह काम करता है, क्योंकि डिस्प्ले: ब्लॉक आवश्यक है, क्या 'गहराई' कोड सिद्धांत पर काम करता है कि इसे शरीर तत्व से 'प्रदर्शन: ब्लॉक' प्राप्त होता है? –

+0

'प्रदर्शन' संपत्ति विरासत में नहीं है। –

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