Как создать функцию, которая изменяет размер текста на странице без javascript?

У кого-нибудь есть идеи, как создать функцию, которая динамически изменяет размер текста на странице без использования JavaScript? Я использую CMS на основе C#?

Возможно ли это только с помощью CSS? если это невозможно, я хочу использовать javascript, как на этой странице http://demo.joomla.org/1.5/?template=beez и в качестве запасного варианта хотите использовать решение на стороне сервера пользователя, которого на этой странице нет http://demo.joomla.org/1.5/?template=beez


person Jitendra Vyas    schedule 14.11.2009    source источник
comment
Браузеры имеют встроенные механизмы масштабирования…   -  person Quentin    schedule 28.04.2010


Ответы (6)


Без яваскрипта? Что ж, думаю, вам придется выполнить обратную передачу onchange, а затем выполнить изменение размера в коде. Хотя не очень удобный.

Я сомневаюсь, что CSS может это сделать.

person o.k.w    schedule 14.11.2009
comment
разве onchange не используется только javascript? - person jao; 14.11.2009
comment
@jao: О да, я пропустил это. Ты прав. Ну, думаю, я не могу предложить решение, на 100% свободное от javascript. :П - person o.k.w; 14.11.2009
comment
можем ли мы это сделать с программированием на стороне сервера и javascript - person Jitendra Vyas; 20.11.2009
comment
@Jitendra: Вы сможете это сделать только с помощью javascript. Проверьте это jsbin.com/ahaxe - person o.k.w; 20.11.2009
comment
Найден аналогичный пост SO: stackoverflow .com/questions/1288297/ - person o.k.w; 20.11.2009

Вы можете создать 3 ссылки:

<a href="?size=medium">A</a> <a href="?size=large">A</a> <a href="?size=x-large">A</a>

Затем при обратной передаче используйте значение атрибута строки запроса size в качестве значения размера шрифта CSS. что-то вроде (псевдокод)

// aspx
<div style="font-size:<%= getsize(); %>"> ...

// code behind
getsize(){
  return Request.QueryString["size"];
}
person echo    schedule 14.11.2009
comment
?size=›‹script›alert('woopsie');‹/script› - person Sam152; 14.11.2009
comment
Хм? Я не уверен, что понял твою мысль, Sam152. - person echo; 14.11.2009

Если вы получаете размер из базы данных, вы можете сделать одну вещь: создать панель, поместить в нее все элементы управления и динамически установить размер.

Подробнее см. ниже:
http://asp-net-example.blogspot.com/2009/04/how-to-set-change-panel-font-size.html

person Brij    schedule 14.11.2009

Я думаю, вы что-то неправильно понимаете, вам нужна функция С# для чего-то, что в основном является клиентской стороной? Вы хотите сделать это после загрузки страницы или до? Вы можете легко изменить размер текста на странице с помощью CSS.

body{ font-size:60%; }
person Sam152    schedule 14.11.2009

Если вы ищете, скажем, 3 размера (стандартный, большой, огромный), то способ, которым я это сделал, заключается в создании визуальных элементов в виде кнопок ImageButtons или CSS-кнопок, чтобы стилизовать их в соответствии с дизайном.

Затем вы можете поместить body{font-size:1em;} вне включения CSS (но перед ним в разделе заголовка) внутри литерала, чтобы по умолчанию соблюдать настройки браузера по умолчанию. Когда происходит обратная передача, вы можете соответствующим образом настроить литерал - например. big будет изменен на body{font-size:1.5em}.

litFontSize.Text = "body{font-size:1.5em;}"

Вам нужно проверить, что размер шрифта тела наследуется повсюду, однако, кросс-браузерный текст формы для одного, по моему опыту, потребует независимого определения.

person Chris    schedule 14.11.2009

Что вы хотите вызвать динамическое изменение размера? Изменяется размер окна? Или пользователь нажимает кнопку?

Если вы хотите изменить размер текста, когда пользователь изменяет размер окна, то нет — вы не сможете сделать это только с помощью CSS, поскольку CSS не имеет возможности установить размер шрифта в зависимости от размера окна. Каждый сайт, который я видел, делает это через javascript.

Если вы хотите, чтобы триггером было нажатие кнопки, то это довольно просто — кнопка отправляет постбэк на сервер, вы выбираете их нужный размер из выпадающего списка или из конкретной кнопки, которая была нажата, а затем вы можете добавить некоторые CSS на страницу или добавьте ссылку на другую таблицу стилей.

person Chris    schedule 14.11.2009