2011-04-07 4 views
180

hay una manera de hacer que el primer carácter en mayúscula en la etiqueta a en css. la estructura html esHaga que el primer carácter en mayúscula en css

<a class="m_title" href="">gorr</a> 
<a class="m_title" href="">trro</a> 
<a class="m_title" href="">krro</a> 
<a class="m_title" href="">yrro</a> 
<a class="m_title" href="">gwwr</a> 
+0

Para especificar el primer carácter y SÓLO el primero. Lo que hace que 'text-transform: capitalize;' no sea suficiente cuando se tienen varias palabras – wiktus239

Respuesta

462

Hay una propiedad por ese:

a.m_title { 
    text-transform: capitalize; 
} 

Si sus enlaces pueden contener varias palabras y se solo quiero el abeto Cuando la primera letra de la primera palabra sea mayúscula, utilice :first-letter con una transformación diferente (aunque en realidad no importa). Tenga en cuenta que para que :first-letter para trabajar sus a elementos deben mostrar como bloques:

a.m_title { 
    display: block; 
} 

a.m_title:first-letter { 
    text-transform: uppercase; 
} 
+0

¿Se puede usar esto con IE8 +? – alanjds

+1

@alanjds: Sí, funciona en todas las versiones de IE que admiten CSS. Es una tecnología muy antigua. – BoltClock

+1

es posible que desee utilizar un doble punto y coma, consulte http://css-tricks.com/almanac/selectors/f/first-letter/ – Voles

5

Es mejor utilizar

#selector { 
    text-transform:initial; 
} 

o

#selector::first-letter { 
    text-transform:uppercase; 
} 

por cierto, este es el Documentación w3c http://www.w3schools.com/cssref/pr_text_text-transform.asp

+0

Buena respuesta, pero definitivamente es ** no ** un enlace a la documentación de w3c. – Stephan

+1

Oye, tenga en cuenta: text-transform 'initial' no significa 'mayúscula la primera letra'. Más bien, significa 'volver al valor predeterminado inicial para esta propiedad'. –

37

Tenga en cuenta que ::first-letter selector no funciona con elementos en línea, por lo que debe ser block o inline-block, de la siguiente manera:

.m_title {display:inline-block} 
.m_title:first-letter {text-transform: uppercase} 
+0

En mi caso, el texto completo ya estaba en mayúsculas, así que tuve que agregar text-transform: minúscula a .m_title y ahora funciona perfectamente. – hjuster

0

Yo recomendaría que se utiliza el siguiente código en CSS:

text-transform:uppercase; 

Asegúrese de que ponlo en tu clase

1
<script type="text/javascript"> 
    $(document).ready(function() { 
    var asdf = $('.capsf').text(); 

    $('.capsf').text(asdf.toLowerCase()); 
    }); 
    </script> 
<div style="text-transform: capitalize;" class="capsf">sd GJHGJ GJHgjh gh hghhjk ku</div> 
+0

me funciona. concepto ... paragraph cada palabra en letras mayúsculas de la primera letra –

Cuestiones relacionadas