Front-end: Títulos multi linea con padding por cada una de las lineas
Así es como vemos un titulo cuando tiene aplicado un padding sin mas
Y asi es como queremos que se vea
No voy a explicar toda la lógica que hay detrás de esto. Vayamos a la solución.
Este es el html. en div.titulo tenemos el background y en .highlight el background del texto, el padding que queremos que tenga y el hack mediante la propiedad box-shadow que es la que nos termina agregando los pedacitos de padding que nos falta entre lineas.
| 1 2 3 | <div class="titulo">     <span class="highlight">Títulos multi linea con padding por cada linea</span> </div> | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | .titulo {     padding-top: 32px;     width: 700px;     height: 200px;     text-align: center;     font-family: arial, helvetica, sans-serif;     background: url('fondo.jpg') no-repeat 50% 50%; } .highlight {     font-size: 50px;     text-transform: uppercase;     text-align: center;     color: #fff;     /*Esto es lo importante*/     display: inline; /* Aseguramos que el elemento sea inline */     background: black; /* Color de fondo del texto */     line-height: 1.6em; /* Espaciado entre lineas */     padding: 7px 0; /* padding deseado */     box-shadow: 14px 0 0 black, -14px 0 0 black; } | 
Del CSS que puse solo hagan caso a las lineas que tienen “/*Esto es lo importante*/“. El resto es decoración.
No comenté el box-shadow porque prefiero hacerlo aquí: La magia se da en box-shadow. Solo tienes que tocar dos parámetros. El color cámbialo de black al que hayas puesto en la propiedad background, y los valores 14px y -14px ajustalos para arriba o para abajo hasta que te guste el padding lateral que hay en cada una de las lineas.
Listo!
Artículo original: css-tricks.com
 
        

 
						 
			
Muy práctico!
Único detalle interesante que se podría agregar, es que el contenedor debería tener tanto padding a los costados como px tiene el box-shadow. Tambien es recomendable agregarle al contenedor un overflow hidden.