Foros del Web » Creando para Internet » CSS »

¿Cómo puedo colocar texto dentro de una imagen?

Estas en el tema de ¿Cómo puedo colocar texto dentro de una imagen? en el foro de CSS en Foros del Web. Estoy haciendo un blog en Wordpress y quiero emular esto, donde dentro de las imágenes destacadas ponen el título del artículo: http://vivirmexico.com/ Quisiera ver como ...
  #1 (permalink)  
Antiguo 06/11/2012, 12:06
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 5 meses
Puntos: 15
¿Cómo puedo colocar texto dentro de una imagen?

Estoy haciendo un blog en Wordpress y quiero emular esto, donde dentro de las imágenes destacadas ponen el título del artículo:

http://vivirmexico.com/

Quisiera ver como se puede hacer eso con CSS

Gracias
  #2 (permalink)  
Antiguo 06/11/2012, 12:21
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Puedes ver el código que usan ahí para darte una idea de como hacerlo. Y hay herramientas para hacerlo más fácil, como Firebug y las herramientas de desarrollador de Chrome.

BTW, la manera más sencilla es meter todo en un contenedor, le das posición relativa y al texto posición absoluta, luego lo acomodas.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 06/11/2012, 12:24
 
Fecha de Ingreso: octubre-2012
Ubicación: Oviedo
Mensajes: 17
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Otra opcion es que la imagen la pongas como un background y le podras escribir por encima de ella lo que quieras

Un saludo
  #4 (permalink)  
Antiguo 06/11/2012, 12:59
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 5 meses
Puntos: 15
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Ya pude hacerlo. Lo que hago es subir la capa de texto así:

position: relative;
top:-120px;

El problema es que debajo de imagen queda un espacio de la capa (siendo que ya la subí) ¿Cómo la quito?
  #5 (permalink)  
Antiguo 06/11/2012, 13:04
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

intenta poniendo line-height:0 a la imagen o capa donde esté.
  #6 (permalink)  
Antiguo 06/11/2012, 13:09
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 5 meses
Puntos: 15
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

No, no es eso, el hueco es del tamaño de la capa.
  #7 (permalink)  
Antiguo 06/11/2012, 13:20
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 5 meses
Puntos: 15
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Así se ve

  #8 (permalink)  
Antiguo 06/11/2012, 13:25
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

l estás poniendo un height, si la imagen mide menos, la capa evidentemente tomará un espacio extra y la capa no ocupará todo el alto.
  #9 (permalink)  
Antiguo 06/11/2012, 13:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 5 meses
Puntos: 15
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Código CSS:
Ver original
  1. .thumbnail2{
  2.     position:relative;
  3.     width:100%;
  4.     margin:0 auto;
  5. }
  6.  
  7. .thumbnail2 img{
  8.     width:100%;
  9. }
  10.  
  11. .thumbnail2 h1{
  12.     display:block;
  13.     position:relative;
  14.     top:-120px;
  15.     left: 0;
  16.     padding-left:5px;
  17.         background: rgb(0, 0, 0);
  18.     background: rgba(0, 0, 0, 0.7);
  19.        
  20.  
  21. }
  22.  
  23. .thumbnail2 h1 span{
  24.     font: bold 40px;
  25.     letter-spacing: -1px;
  26.     line-height:54px;
  27. }
  28.  
  29.  
  30. .thumbnail2 h1 a{
  31.     color:#FFF;
  32.  
  33.  
  34. }
  #10 (permalink)  
Antiguo 06/11/2012, 13:52
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

¿es posible que veamos el site online?
  #11 (permalink)  
Antiguo 06/11/2012, 13:55
 
Fecha de Ingreso: diciembre-2008
Mensajes: 738
Antigüedad: 15 años, 5 meses
Puntos: 15
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Noup, porque está todo en localhost :(
  #12 (permalink)  
Antiguo 07/11/2012, 07:24
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

¿Por qué no haces como te dijeron en #2? Es menos engorroso y un tanto más elegante.
  #13 (permalink)  
Antiguo 07/11/2012, 10:07
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

hacerlo con una imagen de fondo como te indicaron es mucho más sencillo

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5. <style type="text/css">
  6. /*<![CDATA[*/
  7. .img{
  8. position: relative;
  9. width: 220px; height: 135px;
  10. padding: 0;
  11. }
  12. .texto{
  13. width: 100%;
  14. position: absolute;
  15. left: 0;
  16. bottom: 0;
  17. background: #000;
  18. margin: 0;
  19. padding: 0;
  20. opacity: .7;
  21. font: bold 11pt tahoma,sans-serif;
  22. }
  23.  
  24. .texto a{
  25. padding: 0 5px;
  26. margin: 0;
  27. display: block;
  28. text-decoration: none;
  29. color: #FFF;
  30. }
  31.  
  32. /*]]>*/
  33. </head>
  34. <div style="background-image: url(http://s1.vivirmexico.com/files/2012/11/Familia-Catrina-220x135.jpg)" class="img">
  35. <div class="texto"><a href="http://vivirmexico.com/2012/11/vivir-mexico-pool-dia-de-muertos?utm_source=self&amp;utm_medium=banner&amp;utm_campaign=Destacados%2BHome">Vivir México Pool: Especial de Día de Muertos</a></div>
  36. </div>
  37. </body>
  38. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #14 (permalink)  
Antiguo 07/11/2012, 12:04
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Ponerla de fondo es más sencillo, pero no es semántico, siendo la imagen principal de un artículo en este caso.

Saludos
__________________
Grupo Telegram Docker en Español
  #15 (permalink)  
Antiguo 07/11/2012, 12:20
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Cita:
Iniciado por Carlangueitor Ver Mensaje
Ponerla de fondo es más sencillo, pero no es semántico, siendo la imagen principal de un artículo en este caso.

Saludos
Supongo que haciendo de su contenedor un <figure> le daría la semántica necesaria, ya que dicho tag no se aplica necesariamente a un <img> y el figcaption encerraría al link

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5. <style type="text/css">
  6. /*<![CDATA[*/
  7. .img{
  8. position: relative;
  9. width: 220px; height: 135px;
  10. padding: 0;
  11. }
  12. .texto{
  13. width: 100%;
  14. position: absolute;
  15. left: 0;
  16. bottom: 0;
  17. background: #000;
  18. margin: 0;
  19. padding: 0;
  20. opacity: .7;
  21. font: bold 11pt tahoma,sans-serif;
  22. }
  23.  
  24. .texto a{
  25. padding: 0 5px;
  26. margin: 0;
  27. display: block;
  28. text-decoration: none;
  29. color: #FFF;
  30. }
  31.  
  32. /*]]>*/
  33. </head>
  34. <figure style="background-image: url(http://s1.vivirmexico.com/files/2012/11/Familia-Catrina-220x135.jpg)" class="img">
  35. <figcaption class="texto"><a href="http://vivirmexico.com/2012/11/vivir-mexico-pool-dia-de-muertos?utm_source=self&amp;utm_medium=banner&amp;utm_campaign=Destacados%2BHome">Vivir México Pool: Especial de Día de Muertos</a></figcaption>
  36. </body>
  37. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #16 (permalink)  
Antiguo 07/11/2012, 12:26
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Yo voto por la #2.
El espacio en blanco al poner position:relative y luego moverla de su lugar con top, es que para los demás elementos es como si siguiera en su sitio.
Por eso es mejor la opción es position:absolute (creo que es la primera vez que la recomiendo expresamente)

Saludos
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--
  #17 (permalink)  
Antiguo 07/11/2012, 20:15
Avatar de pitufoweb  
Fecha de Ingreso: enero-2008
Ubicación: Un Mundo Raro
Mensajes: 1.148
Antigüedad: 16 años, 3 meses
Puntos: 181
Respuesta: ¿Cómo puedo colocar texto dentro de una imagen?

Cita:
Iniciado por emprear Ver Mensaje
Supongo que haciendo de su contenedor un <figure> le daría la semántica necesaria, ya que dicho tag no se aplica necesariamente a un <img> y el figcaption encerraría al link
Lo que quiere decir Carlangueitor es que las imágenes que forman parte del contenido tienen que estar dentro del html. En el CSS solo tendrían que ir imágenes decorativas, etc.

Por ejemplo; Si pones la imagen como fondo y ofreces los artículos de tu web por medio de RSS, solo se vería el texto del articulo pero no se vería la imagen asociada con el articulo.



Saludos
__________________
------------- " La felicidad no llega de afuera, nace desde dentro. " -------------

Última edición por pitufoweb; 07/11/2012 a las 20:21
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:26.