2013-06-22 4 views
2

Я хотел бы вертикально выровнять текст в div по нажатию на кнопку.Выровнять символы в div один ниже другого (по вертикали)

Я использую библиотеку фреймов и jQuery.

Это то, что я пытаюсь спросить:

Ex: "MyName является хуг" (нормальное выравнивание)

Вертикальное выравнивание

Ex: 
m 
y 

n 
a 
m 
e 
.... 

Пожалуйста, руководство.

ответ

2

Используйте слово-обертывание свойства CSS

<script> 
    $("button").click(function(){ 
    $("div").html($("div").html().split(" ").join("&nbsp;")); 
    if($("div").width()==1) 
    { 
    $("div").width("100%"); 
    } 
    else 
    {$("div").width(1); 
    } 
    });</script> 

DEMO

+2

это умное решение. Но почему вы устанавливаете высоту? Что относительно пробелов между словами? –

+0

Я бы хотел переключить его на обычный txt при нажатии кнопки. –

+0

также пробелы не отображаются в вертикальном тексте ... –

3

Существует несколько возможностей для создания таких вещей. Один из самых простых подходов было бы вставить <br> тег после каждой буквы ...

HTML:

<div>foo bar</div> 
<button>button</button> 

JS:

var state, $div = $('div'); 
$('button').click(function(){ 
    if (!state) { 
     $div.html($div.html().split('').join('<br>')); 
     state = true; 
    } else { 
     $div.html($div.html().split('<br>').join('')); 
     state = false; 
    } 
}); 

См:

http://jsfiddle.net/bkkK6/22/

Редактировать:

раскола/присоединиться, если Вам нравятся больше ...: D

+0

как можно переключаться между обычным текстом и вертикальным текстом на кнопку мыши ? –

+0

проверить: http://jsfiddle.net/bkkK6/10/ ... это делает то, что вы хотите, хотя это может быть закодированное очиститель;) – conceptdeluxe

+0

Это работает красиво! –