Foros del Web » Creando para Internet » HTML »

Tamaño de texto variable en celda

Estas en el tema de Tamaño de texto variable en celda en el foro de HTML en Foros del Web. Hola a todos! Quería saber si alguien conoce alguna forma para que cuando el largo de un texto supera al de la celda, el tamaño ...
  #1 (permalink)  
Antiguo 10/01/2010, 10:58
 
Fecha de Ingreso: febrero-2003
Mensajes: 167
Antigüedad: 21 años, 1 mes
Puntos: 1
Tamaño de texto variable en celda

Hola a todos!

Quería saber si alguien conoce alguna forma para que cuando el largo de un texto supera al de la celda, el tamaño del texto se achique lo suficiente como para que entre en una sóla línea de la celda.
Se entiende que el tamaño de la celda es fijo y lo que se adapta es el texto.

Muchas Gracias!
  #2 (permalink)  
Antiguo 10/01/2010, 11:21
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Tamaño de texto variable en celda

al menos en html, no existe esa posibilidad. en otras tecnologias, como css, tampoco. quizas te puedas inventar algo en javascript pero en mi experiencia lo considero imposible o casi imposible. principalmente porque hay muchas variables que afectan la forma de lograrlo. por ejemplo, el tamaño de la fuente y la tipografia. tu puedes que le apliques una tipografia y tamaño especifico, pero esto no asegura que el usuario lo vera asi, ya sea porque no tiene la fuente o porque tiene su navegador configurado de otra forma.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 10/01/2010 a las 13:04 Razón: correccion de palabra
  #3 (permalink)  
Antiguo 10/01/2010, 12:59
 
Fecha de Ingreso: septiembre-2006
Ubicación: La Plata
Mensajes: 52
Antigüedad: 17 años, 7 meses
Puntos: 4
Respuesta: Tamaño de texto variable en celda

Como dice zerokilled, no hay forma de hacer eso en HTML. Pero en javascript podrías hacer algo similar a lo que querés. Claro que tendrías que calcular cuantos caracteres posee ese campo de texto y a partir de alli puedes hacer un resize de su texto para dejarlo en una sola linea.. pero bueno como verás no es algo tan sencillo más que nada por la compatibilidad de los navegadores y las diferencias a la hora de mostrar el resultado por pantalla, no tanto por el código a emplear..

saludos
  #4 (permalink)  
Antiguo 11/01/2010, 15:59
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Tamaño de texto variable en celda

Efectivamente no hay forma de hacerlo en en html. Pero en php si y no es tan dificil siempre y cuando el text a redimensionar no trabaje en cliente sino en el servidor. Es decir que carges el texto antes de que actue el usuario. Se podria hacer de esta manera en el caso de que lo cargues de una base de datos mysql:
Código PHP:
Ver original
  1. ?>
  2. <table>
  3. <?php
  4. $sql=mysql_query("SELECT * FROM tabla");
  5. while($bucle=mysql_fetch_array($sql))
  6. {
  7. $tamaño_texto=strlen($bucle['texto'];
  8. if($tamaño_text<=10){
  9. $tamaño_texto=16;
  10. }elseif($tamaño_texto>10 AND $tamaño_texto<=20){
  11. $tamaño_text=14;
  12. }
  13. ?>
  14. <tr>
  15. <td with="50px">
  16. <span style="font-size:<?php echo $tamaño_texto ?>px;">
  17. <?php
  18. echo $bucle['texto'];
  19. ?>
  20. </span>
  21. </td>
  22. </tr>
  23. <?php
  24. }
  25. ?>
  26. </table>
  27. <?php
Lo que hago en este codigo es primero de todo abrir la tabla. Luego hago la sentencia sql para recojer los datos a mostrar y lo meto en el bucle while para que se repita hasta que no queden registros. Despues utilizo la funcion php strlen que recoje el numero de caracteres de la cadena. Entonces hago un if para saber que tamaño elgir(esto no lo e concretado esto es faena tuya). Luego hago el tamaño del td que yo kiera con el correspondiente span con el tamaño variable segun tamaño. Pongo el texto a mostrar y listo ya lo tienes chico.
  #5 (permalink)  
Antiguo 11/01/2010, 16:13
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Tamaño de texto variable en celda

Efectivamente no hay forma de hacerlo en en html. Pero en php si y no es tan dificil siempre y cuando el text a redimensionar no trabaje en cliente sino en el servidor. Es decir que carges el texto antes de que actue el usuario. Se podria hacer de esta manera en el caso de que lo cargues de una base de datos mysql:
Código PHP:
Ver original
  1. ?>
  2. <table>
  3. <?php
  4. $sql=mysql_query("SELECT * FROM tabla");
  5. while($bucle=mysql_fetch_array($sql))
  6. {
  7. $tamaño_texto=strlen($bucle['texto'];
  8. if($tamaño_text<=10){
  9. $tamaño_texto=16;
  10. }elseif($tamaño_texto>10 AND $tamaño_texto<=20){
  11. $tamaño_text=14;
  12. }
  13. ?>
  14. <tr>
  15. <td with="50px">
  16. <span style="font-size:<?php echo $tamaño_texto ?>px;">
  17. <?php
  18. echo $bucle['texto'];
  19. ?>
  20. </span>
  21. </td>
  22. </tr>
  23. <?php
  24. }
  25. ?>
  26. </table>
  27. <?php
Lo que hago en este codigo es primero de todo abrir la tabla. Luego hago la sentencia sql para recojer los datos a mostrar y lo meto en el bucle while para que se repita hasta que no queden registros. Despues utilizo la funcion php strlen que recoje el numero de caracteres de la cadena. Entonces hago un if para saber que tamaño elgir(esto no lo e concretado esto es faena tuya). Luego hago el tamaño del td que yo kiera con el correspondiente span con el tamaño variable segun tamaño. Pongo el texto a mostrar y listo ya lo tienes chico.
  #6 (permalink)  
Antiguo 11/01/2010, 16:15
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Tamaño de texto variable en celda

Efectivamente no hay forma de hacerlo en en html. Pero en php si y no es tan dificil siempre y cuando el text a redimensionar no trabaje en cliente sino en el servidor. Es decir que carges el texto antes de que actue el usuario. Se podria hacer de esta manera en el caso de que lo cargues de una base de datos mysql:
Código PHP:
Ver original
  1. ?>
  2. <table>
  3. <?php
  4. $sql=mysql_query("SELECT * FROM tabla");
  5. while($bucle=mysql_fetch_array($sql))
  6. {
  7. $tamaño_texto=strlen($bucle['texto'];
  8. if($tamaño_text<=10){
  9. $tamaño_texto=16;
  10. }elseif($tamaño_texto>10 AND $tamaño_texto<=20){
  11. $tamaño_text=14;
  12. }
  13. ?>
  14. <tr>
  15. <td with="50px">
  16. <span style="font-size:<?php echo $tamaño_texto ?>px;">
  17. <?php
  18. echo $bucle['texto'];
  19. ?>
  20. </span>
  21. </td>
  22. </tr>
  23. <?php
  24. }
  25. ?>
  26. </table>
  27. <?php
Lo que hago en este codigo es primero de todo abrir la tabla. Luego hago la sentencia sql para recojer los datos a mostrar y lo meto en el bucle while para que se repita hasta que no queden registros. Despues utilizo la funcion php strlen que recoje el numero de caracteres de la cadena. Entonces hago un if para saber que tamaño elgir(esto no lo e concretado esto es faena tuya). Luego hago el tamaño del td que yo kiera con el correspondiente span con el tamaño variable segun tamaño. Pongo el texto a mostrar y listo ya lo tienes chico.
  #7 (permalink)  
Antiguo 11/01/2010, 16:17
Avatar de valenti_92  
Fecha de Ingreso: enero-2010
Ubicación: Manresa
Mensajes: 126
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Tamaño de texto variable en celda

Lo siento me fallava el ordenador pense que solo havia enviado uno
  #8 (permalink)  
Antiguo 12/01/2010, 17:06
Avatar de Andelous  
Fecha de Ingreso: enero-2010
Ubicación: En Foros del Web
Mensajes: 114
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Tamaño de texto variable en celda

o podrias hacer esto,

dentro de <td>, o <tr>, poner este atributo, que encierre tu texto:

Cita:
<td>
<font size='el tamaño de letra, deja las comillas'>
Tu texto y tamaño de letra
</font>
</td>
Algo así, si no sirve, comentamelo

Etiquetas: celda, tamaño, variables
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 16:16.