2016-10-18 3 views
0

Как изменить размер текста внутри div пользователем в передней части.Изменить размер свойства для текста в html

для сНа изменения размера в передней пользователя, мы можем использовать CSS, как

div { 
    resize: both; 
    overflow: auto; 
} 

или с помощью JQuery

$("#div-id").resizable(); 

Для редактирования текста в DIV спереди мы можем использовать

<div id="div-id" contenteditable="true"> Type text</div> 

Но как сделать изменяемый размер текста внутри div.

Пример:

Пользователь может изменить текст внутри этого Div <div id="div-id" contenteditable="true"> Type text</div>, но как пользователь может увеличить размер текста в этом DIV?.

Примечание: на самом деле этот размер шрифта может быть изменен пользователем. В настоящее время пользователь может редактировать текст. Таким же образом пользователь может сделать увеличить размер шрифта

Спасибо

+0

Вы должны были бы используйте js, чтобы изменить класс div или изменить стиль шрифта - '$ (" # div-id ") .css ('font-size', '150%')' – Pete

+0

Вы ищете s ome вид редактора richtext? https://www.google.co.uk/search?q=richtext%20editor –

+0

проверить процент просмотра в процентах http://stackoverflow.com/questions/16056591/font-scaling-based-on-width-of-container – Woncker

ответ

2

Вы можете захватить на событие изменения размера

$(function() { 
    var basefont = 14; 
    var scale = 1; 
    var width = $("#div-id").width(); 
    $("#div-id").resizable(); 
    $("#div-id").on('resize', function() { 
    scale = $(this).width()/width; 
    $("#div-id").css('font-size', scale*basefont); 
    }); }); 

Пример:

https://jsfiddle.net/e3q3zrrk/1/

+0

Спасибо, друг, это то же самое, что мне нужно. Я не знаю, почему люди голосуйте этот вопрос –

+0

Это классно ..! –

+0

Можно ли сделать ширину и высоту div в соответствии с текстом в нем? –

0

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

<a href="#"><p class="myclass">test</p></a> 


mySize = 12; 
$(this).click(function() 
       { 
       mySize = mySize + 2; 
       $(".myclass").css("font-size", mySize + "px"); 
       console.log(mySize); 

}); 
+0

спасибо. Я проверю это. Не могли бы вы дать демо. –

+1

Я предполагаю, что вы должны использовать '$ (". MyText "). Метод css()' method not '$ (". MyText "). Attr()'. – user31782

+0

Абсолютно верно. Я внесла некоторые исправления @ user31782 –

0

I второе предложение Карлоса. Вы могли бы сначала определить, каким образом mysize должен меняться при изменении размера DIV так:

var multiplicate = 0.7 
var mySize = multiplicate*$("#div-id").width(); 
$(".myText").css("font-size", mySize + "px"); 
+2

Спасибо. Я проверю . –

+0

@Ron Также вам нужно будет поместить мой код в событие 'resize'. Я не уверен, что событие jquery resize работает во всем, как на окне. В противном случае вы могли бы использовать события 'setTimeout' или' onmousemove' и т. Д. Для выполнения кода каждый раз при измерении размеров div. – user31782

+0

Друг я не понял. что нужно сделать в ответ @jaerk? –

Смежные вопросы