2012-06-20 18 views
36

मैं वाक्य के पहले अक्षर को कैपिटल करना चाहता हूं, और यदि संभव हो तो अल्पविराम के बाद पहला अक्षर भी बनाना चाहता हूं। मैं यहाँ में कोड जोड़ना चाहते हैं:वाक्यों के पहले अक्षर को कैपिटल करें

.qcont { 
    width: 550px; 
    height: auto; 
    float: right; 
    overflow: hidden; 
    position: relative; 
} 
+8

आप शुद्ध सीएसएस के साथ ऐसा नहीं कर सकते हैं। (और आप * कॉमा * के बाद पहले अक्षर को कैपिटल करना क्यों चाहते हैं?) – BoltClock

उत्तर

105

आप छद्म-तत्व :first-letter का उपयोग करके .qcont तत्व के पहले अक्षर को कैपिटल कर सकते हैं।

.qcont:first-letter{ 
    text-transform: capitalize 
} 

यह सबसे नज़दीकी है जो आप केवल सीएसएस का उपयोग कर रहे हैं। span में आप प्रत्येक पत्र (या अल्पविराम, जैसे आपकी इच्छा) के बाद आने वाले प्रत्येक पत्र को लपेटने के लिए जावास्क्रिप्ट (jQuery के साथ संयोजन में) का उपयोग कर सकते हैं। आप ऊपर के समान सीएसएस को span पर जोड़ सकते हैं। या इसे सभी जावास्क्रिप्ट में एक साथ करें।

यहाँ सीएसएस दृष्टिकोण के लिए एक टुकड़ा है:

.qcont:first-letter { 
 
    text-transform: capitalize 
 
}
<p class="qcont">word, another word</p>

+15

ध्यान रखें कि '.qcont' को ब्लॉक होना है। इसलिए यदि आप इनलाइन तत्व (जैसे 'span') के पहले शब्द को कैपिटल करना चाहते हैं, तो आपको इसे कम से कम इनलाइन-ब्लॉक बनाना होगा। – Norris

-1

text-transform:capitalize; एक वाक्य का पहला अक्षर कैपिटल होगा, लेकिन अगर आप चाहते हैं भी अल्पविराम के आप कुछ जावास्क्रिप्ट लिखने के लिए होगा के लिए यह करने के लिए। हालांकि, मैं @ बोल्टक्लॉक से सहमत हूं। पृथ्वी पर क्यों आप अल्पविराम के बाद पूंजीकरण करना चाहते हैं?

संपादित करें: पाठकों की खातिर: text-transform:capitalize;एक वाक्य के प्रत्येक शब्द, केवल नहीं पहले एक भुनाने होगा। आपको उपरोक्त के साथ :first-letter सीएसएस चयनकर्ता का उपयोग करना होगा।

+2

मैंने सोचा कि पाठ-परिवर्तन: पूंजीकरण वाक्यों में प्रत्येक शब्द को कैपिटल करना है। वाक्यों का पहला शब्द नहीं है। क्या मै गलत हु? – 1907

+1

@ 1 9 07, आप सही हैं, 'टेक्स्ट-ट्रांसफॉर्म: कैपिटलइज' प्रत्येक शब्द को कैपिटल करता है। –

+2

मेरा बुरा।लुड जैकोब्स के पास था - इसे गलत होने के लिए –

5

यह सीएसएस में नहीं किया जा सकता है। text-transform संपत्ति सामग्री के अंदर किसी शब्द की नियुक्ति के अनुसार कोई भेद नहीं करती है, और वाक्य के पहले शब्द को चुनने के लिए कोई छद्म-तत्व नहीं है। प्रत्येक वाक्य के लिए आपको मार्कअप में वास्तविक तत्वों की आवश्यकता होगी। लेकिन अगर आप ऐसा कर सकते हैं, तो आप शायद सामग्री को अपरकेस में प्रारंभिक अक्षरों को उचित रूप से बदल सकते हैं।

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

+0

सच नहीं है, स्वीकृत उत्तर दिखाता है कि यह कैसे प्राप्त किया जा सकता है। –

0

आप contenteditable कंटेनर में पहले अक्षर को कैपिटल की जरूरत है, तो आप सीएसएस संपत्ति का उपयोग नहीं कर सकते हैं

#myContentEditableDiv:first-letter { 
    text-transform: capitalize; 
} 

क्योंकि जब आप स्वचालित रूप से एक पत्र को हटाने का प्रयास करते हैं तो आप संतुष्ट में निहित सभी पाठ हटा देंगे।

इसके बजाय कामकाजी समाधान के लिए https://stackoverflow.com/a/7242079/6411398 में सखुनज़ई द्वारा प्रदान किया गया उदाहरण आज़माएं।