Текстовый блок по кругу - PullRequest
1 голос
/ 24 марта 2010

Подскажите, пожалуйста, как решить проблему.

У меня есть div содержащий текст.

Необходимо, чтобы текст был по кругу.

альтернативный текст http://img153.imageshack.us/img153/4861/56160971.gif

С чего мне начать решать данную проблему? Может быть методы javascript (на сайте подключен jQuery)?

P.S. Решение должно быть перекрестным.

Ответы [ 3 ]

2 голосов
/ 24 марта 2010

Может быть, вы ищете этот плагин:

http://nicodmf.github.com/TextMorph/en.html

Вот несколько демонстраций:

http://nicodmf.github.com/TextMorph/demos/jquery.html

1 голос
/ 24 марта 2010

Я могу подумать пару способов:

  1. Оберните текстовый блок большим элементом, измените его размер таким образом, чтобы круг подходил (вам понадобятся некоторые серьезные математические навыки!) И используйте кросс-браузерную библиотеку Raphael , чтобы нарисовать круг это.

  2. На основе ширины и высоты текстового блока корректируйте верхний / нижний отступ, пока прямоугольник не станет квадратным, и выберите наиболее подходящий фон из предварительно отрисованных изображений разного размера.

Пример кода (с использованием jQuery), чтобы получить вторую идею, полностью непроверенную:

var images = [300, 200, 100];  // image dimensions from biggest to smallest
var textbox = $('#my-textbox');
var padding = 20;  // base padding, choose your own
var w = textbox.width();
var h = textnox.height();
var filler = (w > h ? (w - h) : (h - w)) / 2;  // how much extra padding needed?
var pver = w > h ? filler : padding;  // padding vertical
var phor = w > h ? padding : filler;  // padding horizontal
textbox.css({ paddingTop: pver, paddingBottom: pver,
              paddingLeft: phor, paddingRight phor });
$.each(images, function(i, dimension) {
    if (dimension < textbox.width())
        textbox.css('backgroundImage', 'url(/img/circle_' + dimension + '.png)');
});
1 голос
/ 24 марта 2010

Могу ли я угадать при переводе?

  • у вас есть div, содержащий текст
  • вы не знаете размер, возможно, потому что размер div связан с шириной браузера / разрешением экрана / родительским div
  • вы хотите, чтобы круг "вращался вокруг блока" (имел анимированное движение?), Т.е. вы хотите, чтобы круг перемещался вокруг элемента div, содержащего текст
  • вы хотите, чтобы это всегда происходило независимо от размера элемента text-container
  • эффект будет подобен бегуну на 10000 метров, бегающему по дорожке, за исключением того, что размер дорожки генерируется динамически

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...