2011-05-02 10 views
42

Tengo varios párrafos que me gustaría marcar, aunque solo las primeras líneas de estos párrafos.¿Sangrar solo la primera línea de texto de un párrafo?

¿Cómo podría orientar solo las primeras líneas utilizando CSS o HTML?

+3

@Ricardo - Desafortunadamente no. Marcar una respuesta como * la * respuesta se da únicamente a la persona que hizo la pregunta, y los poderes no tienen la intención de cambiar eso. En lo que a ellos respecta, por el bien de otros que se crucen con la pregunta, para eso está el sistema de votación (básicamente, la respuesta más votados es la de "elección comunitaria"). – Shauna

+2

¿Por qué no aceptas una respuesta? Hay varios buenos aquí. – jeremyjjbrown

Respuesta

130

Utilice la propiedad text-indent.

p { 
    text-indent: 30px; 
} 

jsFiddle.

+28

Me entristece mucho cuando veo una respuesta aquí en Stackoverflwo que me ayuda, pero el OP no lo aceptó ... lo siento, hermano. Lo merecías. – paulotorrens

+0

Parece que el usuario dejó de usar S.E. menos de un mes después de que se preguntó o desapareció. – MicroMachine

10

muy simple usando CSS:

p { 
    text-indent:10px; 
} 

creará una hendidura de 10 píxeles en cada párrafo.

1

Aquí van:

p:first-line { 
    text-indent:30px; 
} 

no vi una respuesta clara para un novato CSS, así que aquí es una tarea fácil.

+4

': first-line' no funciona, porque la propiedad' text-indent' no tiene ningún efecto sobre ella. Sin el pseudo-elemento para 'p', no hay problema. La propiedad 'text-indent' solo pretende la primera línea de todos modos. Entonces, no hay ninguna razón para apuntar solo a una línea en primer lugar. Ver también: https://developer.mozilla.org/en-US/docs/Web/CSS/::first-line y https://developer.mozilla.org/en-US/docs/Web/CSS/text -indent – Erik

-3

Me encontré con el mismo problema solo tuve varias etiquetas <p> con las que tuve que trabajar. El uso de la propiedad "texto-sangría" quería sangrar TODAS las etiquetas <p> y eso no es lo que quería.

Quería añadir una imagen de presupuesto a una lista de testimonios, con la imagen basada en el fondo CSS al comienzo de cada cita y el texto a la derecha de la imagen. Como el text-indent estaba causando que todos los párrafos posteriores se sangraran, no solo el primer párrafo, tuve que hacer una pequeña solución. El mismo método aplica si no estás buscando hacer una imagen.

Logré esto agregando primero un div vacío al comienzo del párrafo que quería sangrado. A continuación, le apliqué un ancho y una altura pequeños para crear el cuadro invisible y finalmente apliqué un flotador izquierdo para hacer que fluya en línea con el texto. Si está utilizando esto para una imagen, asegúrese de agregar un margen a la derecha o amplíe un poco su ancho para un espacio en blanco.

Aquí hay un ejemplo con CSS en línea. Usted puede simplemente crear una clase y agregarlo a su archivo CSS:

<div style="height: 25px; width: 25px; float: left;"></div> 
<p>First Paragraph</p> 
<p>Second Paragraph</p> 
-3

primer guión todas las líneas (1), de anular la sangría de la primera línea (2)

padding-left: 0.4em /* (1) */ 
text-indent: -0.4em /* (2) */ 
4

también estaba teniendo una problemas para conseguir la primera línea de un párrafo (sólo la primera línea) para sangrar y estaba tratando el siguiente código:

p::first-line { text-indent: 30px; } 

Esto no funcionó.Por lo tanto, he creado una clase en mi CSS y la utilicé en mi html de la siguiente manera:

en CSS:

.indent { text-indent: 30px; } 

en html:

<p class="indent"> paragraph text </p> 

Esto funcionó como un encanto. Todavía no sé por qué el primer ejemplo de código no funcionó y me aseguré de que el texto no estuviera alineado.

+1

No funcionó porque agregó demasiado colons – PaulBGD

+2

No "demasiado" dos puntos, pero "dos" – palswim

+2

El primero no funciona porque ':: first-line' es un pseudo-elemento en el que solo un subconjunto de Las propiedades de CSS se pueden aplicar. 'text-indent' no es uno de ellos. Ver https://developer.mozilla.org/en-US/docs/Web/CSS/::first -line – Erik

Cuestiones relacionadas