2012-06-20 14 views
36

Eğer mümkünse ilk harfleri ve aynı zamanda virgül sonra ilk harfi büyük harf yapmak istiyorum.Büyük harfle yazılmış ilk harf CSS

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

Bunu saf CSS ile yapamazsınız. (Ve neden bir * virgül * sonrası ilk harfi büyük harfle kullanmak istersiniz?) – BoltClock

cevap

105

.qcont öğesinin ilk harfini :first-letter sözde öğeyi kullanarak büyük yazabilirsiniz.

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

Sadece css kullanacağınız en yakın değer budur. Bir javascript'i (jQuery ile birlikte) span içinde bir süre sonra (veya istediğiniz gibi virgül) gelen her harfi sarmak için kullanabilirsiniz. Yukarıdaki gibi aynı css'yi span'a ekleyebilirsiniz. Ya da hep birlikte javascript içinde yapın. İşte

css yaklaşımı için bir parçacık İşte: Eğer contenteditable kapta ilk harfini büyük gerekiyorsa

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

+15

Unutmayın ki .qcont'in bir blok olması gerekiyor. Yani, bir satır içi öğenin ('span' gibi) ilk sözcüğünü büyük harfle kullanmak istiyorsanız, en azından satır içi bloğu oluşturmanız gerekir. – Norris

-1

text-transform:capitalize; cümlenin ilk harfini büyük olacak, ancak isterseniz de bazı javascript yazmak zorunda kalacaksın virgül için bunu yapmak: Burada kod eklemek istiyorum. Yine de, @BoltClock'a katılıyorum. Neden yeryüzünde virgülden sonra kapitalize etmek istersiniz?

Düzenleme: okuyucu uğruna: text-transform:capitalize;bir cümlenin her kelimeyi, sadece ilkini şekilde değerlendirecektir. :first-letter CSS seçiciyi yukarıdakilerle birlikte kullanmalısınız.

+2

İ düşünce-dönüşüm: kapitalize etmek her kelimeyi cümle içinde büyük harflerle ifade ediyor. İlk cümlelerin değil. Yanlış mıyım? – 1907

+1

@ 1907, haklısınız, 'text-transform: capitalize' kelimesini büyük harfle yazıyor. –

+2

kötüyüm.luud jacobs vardı - 'ilk harf' –

5

Bu, CSS'de yapılamaz. text-transform özelliği, içeriğin içindeki bir sözcüğün yerleştirilmesine göre hiçbir ayrım yapmaz ve bir cümlenin ilk sözcüğünü seçmek için hiçbir sözde öğe yoktur. Her bir cümle için işaretlemede gerçek öğelere sahip olmanız gerekir. Ama eğer bunu yapabilirseniz, muhtemelen ilk harfleri içeriğe uygun şekilde büyük harfle değiştirebilirsiniz.

Bir cümlenin başlangıcında büyük harf kullanımı, bir ortografi meselesidir ve içerik oluştururken, isteğe bağlı stilistik önerileri (CSS) ile değil veya istemci tarafı komut dosyasıyla yapılmalıdır. Cümle sınırlarının tanınması süreci önemsizdir ve genel olarak karmaşık sözdizimsel ve anlamsal analiz olmadan otomatik olarak gerçekleştirilemez (örneğin, bir cümle içinde veya bir cümlenin sonunda bir süre ile biten bir kısaltma).

+0

Doğru değil, kabul edilen cevap bunun nasıl gerçekleştirilebileceğini gösteriyor. –

0

Eğer css özelliğini kullanamazsınız

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

çünkü otomatik olarak bir harfi silmeye çalıştığınızda, içeriğin içerdiği tüm metni silersiniz.

Bunun yerine çalışan bir çözüm için sakhunzai tarafından sağlanan https://stackoverflow.com/a/7242079/6411398 örneğini deneyin.

İlgili konular