css y saltaLineaObligatoriamenteSOooJODIO !!!
6 seguidores
Pues eso ... quiero que cuando el usuario introduzca un texto si ese texto no tiene espacios ... la caja que lo contiene no muestre las scrollBar horizontales y siga en la misma línea, sino que realice un salto de línea como lo hace cuando se introduce texto separado por espacios ...
M'esplicao :)
dagi3d
mirando un enlace acerca del del modelo de caja vi que en explorer si que hace un salto de linea, pero en firefox no:
http://www.tantek.com/CSS/Examples/boxmodelhack.html
mira abajo del todo los enlaces que apuntan al W3C
iigeminisii
Pozi ... un overFlow deberia ser igual para horizontal que para vertical ... esa es su lógica, y el control de salto de línea con el white-Space ... ;)
txuma Plus
II GemInIs II
No digo que sea un fallo. ;)
Solo quiero que no se comporte así, sino de otra manera que tampoco es un fallo ni ilogica ni fuera de normas ... de echo el textArea se comporta como yo quisiera.
Eso no es exactamente así, depende del navegador. Un textarea en IE hace lo que tu dices, pero en firefox por ejemplo no; lo pone todo en la primera linea.
De hecho lo lógico es eso, porque está interpretando que es una sola palabra y por tanto no la parte. Así a botepronto no encuentro ninguna manera de hacer lo que dices :(
iigeminisii
tengo que usar un div forzosamente. Pero muchas gracias por las molestias. :D
josh
en vez de un div usa un texarea u pole border:none y readonly y capas por javascript el onselect
Asi el user no sabe si es un div o un select y se comportara como tu quieres
iigeminisii
No digo que sea un fallo. ;)
Solo quiero que no se comporte así, sino de otra manera que tampoco es un fallo ni ilogica ni fuera de normas ... de echo el textArea se comporta como yo quisiera.
Mira para muestra dmstk ... vete crear un post o contesta a este .... y escribe esto:
abrakadabraPatadekabraRaboDeRanaabrakadabraPatadekabraRaboDeRanaabrakadabraPatadekabraRaboDeRanaa
como verás en el textArea del formulario para escribir el mensaje como la linea no cabe crea saltos de linea.
Sin envargo a la hora de maquetarlo despues en el post, lo que ocurre es que queda desmaquetado y en mi div lo que hace es crear los scrolls verticales y respetar el tamaño del div widht, aunque si el texto contiene espacios si que salta de linea.
zigotica
q no lo veo como un fallo, sinceramente. mira igual no te sigo muy bien, pero lo veo bien. a no ser q me pases un esquema guarrete en jpg o asi de lo que quieres exactamente.
iigeminisii
ya lo veo ya.... :D
El textArea si que lo permite.
Y que me dices de la diferencia de tratamiento del overflow cuando contiene espacio a cuando no ... ¿que opinas? :?
zigotica
"Yo quiero que continue en la línea siguiente"
no puedes, lo siento.
iigeminisii
voy pa's ya :D
Uso un <div> como si fuese un <textArea>, para que el usuario introduzca texto.
Pongamos que el <div> en cuestión hace width:100px y heigth:50px.
Cuando el usuario introduce un texto tipo "<em>hola soy un texto ejemplo patatin patatan... ... ...</em>" cuando este texto excede de los límites del width, el <div> realiza un salto de línea y continua con el texto. Cuando este texto excede del heigth añade un scroll vertical. Todo esto es correcto.
El problema esta cuando el usuario introduce un texto tipo "<em>abraksdfjalsdfkjlaskdfjlaskdfjalsdfjalsfdjaslfdjlsdfjlasdfjlsadfjlsdfjlasfjdlasdfjsajdflasjdfla</em>" :? cuando el texto excede de los límites del width, el div añade un scroll horizontal, en vez de continuar en la línea siguiente.
Yo quiero que continue en la línea siguiente. :D
Creo que el problema es que <textArea> usa los espacios para separar palabras marcar el salto de línea que en el caso de no encontrar espacio tira del atributo Col, el cual no puedo aplicar al <div> lo que hace que al no encontrar espacio no realice un salto de linea.
Por otro lado el tratamiento del overflow vertical es diferente del horizontal, quiero decir que un texto con espacios no provoca overflow horizontal mientras un texto sin espacio si lo provoca. Esto se me presenta algo confuso en estos momentos pq si el texto es un elemento que fluye dentro de su contenedor div, no entiendo pq no atiende a los limites laterales si estos no son espaciados. Aunque el espacio sea un caracter con un tratamiento especia ... no deja de ser un caracter (o quizas no ... no se)
Al final no se si te he liado más ... :D
zigotica
te repito la pregunta, me puedes explicar exactamente que quieres? si hace falta me haces un esquema con el fotoshó, anda :)
iigeminisii
overflow:visible; no funcina, agranda el div y no muestra las scrollBar :(
Gracias ... :)
no le veo opción ... así directamente con css :(
zigotica
ya que lo aplicas a un div, prueba a darle un width y luego le metes un overflow:visible
iigeminisii
satamente eso es ... lo que bien cuenta el amigo Josh !!!
josh
lo que tu quieres es que no pase esto:
asdfkjdsalñkdsafhldsafjkhdslkfhasdlkjfhlkdsjhflkajsdhflkjashfliruaoiuhsdofiuhsdoifuhasodiufhosaiufhoasiufhoaisudfh
que ha ensanchado toda la tabla del foro.
Pero creo que es imposible solo en el lado cliente. Deberias filtrarlo en el servidor detectando cuando una palabra (conjunto de letras sin espacios) pasa de tantos caracteres
zigotica
¿puedes explicar <em>exactamente</em> lo que quieres?
iigeminisii
max-width: ... no me ha funcionado .... :(
ya lo se ... ya lo se ... se acabaron las opciones ... :( sniff!! snifff!!
;)
cbp
el nowrap creo que es una solución propietaria de netscape, y que no está en las especificaciones de html. de ser así habría que evitar su uso.
¿y con max-width? aunque creo que eso aún no va bien en IE :(
iigeminisii
Josh
igual te sirve la propiedad CSS white-space
si no tb tienes algo asi como <textarea nowarp></textarea>
white-space: nowrap; en este caso se comporta igual que el resto Pre, inherit, normal ... los he probado los cuatro y lo mismo, con la diferencia de que nowrap no realiza salto de linea (para eso sirve) ni siquiera con el texto separado por espacios.
;)
Es que siempre pido unas cosas algo rarillas me parece a mi...
josh
igual te sirve la propiedad CSS white-space
si no tb tienes algo asi como <textarea nowarp></textarea>
iigeminisii
has entendido bien ... ;)
el usuario introduce el texto, pero en vez de utilizar un textarea, lo hace sobre un <div>... lo de overflow:auto se me comporta de la sigueinte manera:
- Inicialmente si no hay texto no muestra scrolls
- cuando introduzco un texto "normal" separado por espacios, cuando este texto sobrepasa width realiza saltos de linea, si sobrepaso heigth me muestra el scroll vertical. (hasta aquí todo bien).
- (Aquí el problema) cuando introduzco un texto "anormal" todo junto sin espacios, cuando este texto sobrepasa width NO realiza saltos de linea, continua en la misma linea mostrando el scroll horizontal, si sobrepaso heigth me muestra el scroll vertical.
Quizas sea rizar el rizo ...
cbp
ah, perdona, al decir introducir me creía que el problema venía al meter el usuario el texto en una textarea :oops:
¿y si pones "overflow: auto"?
iigeminisii
El width está asignado por css ... no puedo asignarle "cols" (bueno no lo se), en realidad no lo estoy aplicando escribiendo sobre un <textArea> sino que estoy escribiendo directamente sobre un <div>, el comportamiento es el mismo... pero no se si soporta cols de todos modos si lo soportase no se lo indico tal y como me aconsejas ... ... ... vamos que aunque sea un div tiene el width asignado por css y no tiene cols en definitiva ... y se comporta de ese modo (que no creo que este mal pero me gustaria conseguir el otro) :D
cbp
¿has probado a asignarle un width por css y no ponerle el atributo "cols"? creo que así hace lo que quieres :)