2013-10-25 2 views
0

Как изменить размер шрифта пользовательского стиля CSS с помощью javascript?Как изменить размер шрифта пользовательского стиля css?

Я видел примеры замены встроенных стилей с помощью javascript, но я не могу найти, как заменить атрибут типа font-size в нестандартном пользовательском стиле в заголовке. Например, я хотел бы использовать javascript для изменения размера шрифта с 12px 20px с помощью javascript.

<head> 
<style> 
.mystyle{ 
font-size:12px; 
} 
</style> 

ответ

2

Вот код:

HTML:

<p class="mystyle">This is some text.</p> 

Javascript:

window.onload=function(){ 
document.getElementsByClassName("mystyle")[0].style.fontSize="120%"; 
} 

Вы можете также установите шрифт как smaller, larger, в length единицах, а также наследует размер шрифта родительского элемента.

+0

Это может иметь желаемый эффект, но он не выполняет то, что задал вопрос: он ничего не заменяет в элементе 'style', он просто вводит некоторые правила, которые переопределяют его эффект. –

1
document.getElementsByClassName('CLASSNAME') 

дает массив со всеми элементами класса, можно использовать цикл, чтобы изменить все узлы стиля, вы можете получить к ним доступ как обычный массив с []. Я не уверен, если есть более удобный способ

0

Это позволит вам установить размер шрифта для объекта.

Object.style.fontSize="value|inherit" 

Так, например, если вы открываете консоль на этой странице и выполните команду:

document.getElementsByTagName('h1')[0].style.fontSize = '35px' 

Вы увидите заголовок этого увеличения страницы.

0

Для того, чтобы изменить таблицу стилей, указанный в style элемент, вы можете изменить содержимое элемента:

s = document.getElementsByTagName('style')[0]; 
s.innerHTML += '.mystyle { font-size: 20px; }'; 

Это не меняет существующего правила, но добавляет один, который перекрывает его.

В качестве альтернативы, вы можете использовать sheet свойство style элемента, как определено в CSSOM:

var sh = document.getElementsByTagName('style')[0].sheet; 
sh.insertRule('.mystyle { font-size: 20px; }', sh.cssRules.length); 

Если вы действительно хотите заменить правило в style элемента, а не просто заменить его, вы необходимо найти его, пройдя объект cssRules и получив индекс, затем позвонив deleteRule, а затем insertRule.

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