JS 字体放大缩小 大家都知道 是通过改变CSS来实现。OK ,现在问题来了:
<div id="123">
<span ID="456" style="font-size:20px">fsdfsd</span>
</div>如果ID = 123的标签里 又有标签ID=456,所以如果改变ID=123标签的字体大小 那字体就不会发生变化
我想改变ID=123标签下的所有字体大小 有好方法吗
<div id="123">
<span ID="456" style="font-size:20px">fsdfsd</span>
</div>如果ID = 123的标签里 又有标签ID=456,所以如果改变ID=123标签的字体大小 那字体就不会发生变化
我想改变ID=123标签下的所有字体大小 有好方法吗
但要注意 <div id="123">里面还有会有标签
<span ID="456" style="font-size:20px">fsdfsd</span>
改为:
<span ID="456">fsdfsd</span>
不带样式的!
这样在外层DIV 123里定义的字体就能作用到内部的SPAN里了。
如果一定要这样改的话,可以先设置id=123的children的fontSize为null,然后设置id=123的fontSize。
以上结论未经测试,你可以自己去测试下。
<html>
<head>
<title>example</title>
<script type="text/javascript">
window.onload=function(){
var btn=document.getElementById('btn');
var ft=20;
btn.onclick=function(){
ft++;
document.getElementById('div1').style.fontSize=ft+'px';
}
}
</script></head>
<body>
<div id="div1">
<span ID="span1" >fsdfsd</span>
</div>
<input type="button" value="+fonsize" id="btn">
</body>
</html>
如果楼主问的不是如何让SPAN大小字体也起作用?那你到底想问的是什么呢?无语!
.a{ font-size:12px}
.a .b{ font-size:14px}
.a .c{ font-size:16px;}
</style><div class="a">
<div>这里是12号字体</div>
<div class="b">这里是14号字体</div>
<div class="b c">这里是16号字体</div>
</div>
你问:我想改变ID=123标签下的所有字体大小 有好方法吗?
回答:上面的代码你在DIV(ID=123)里哪怕嵌套1万个标签(只要你能)都照样能改其内部的字体大小。前提只要你不在里面设置跟字体相关的操作样式!如果一定要设置,就让它继承BODY的字体大小,不要给标签元素单独设置字体大小!
实测,我的代码已经满足了你说的某标签下,改变所有的字体大小,所以赶快给分,别给我饶弯子啊,问完一个又一个,做人要讲诚信,不能贪心啊,否则你这样一个又一个的问题,就跟结帖率一样,没信用了!除非你否定:我想改变ID=123标签下的所有字体大小 有好方法吗?这个不是你问的!靠。哈哈!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function zoomOut(size) {
var test = document.getElementById('test');
setFontSize(test, size);
} function setFontSize(target, size) {
target.style.fontSize = size;
if (target.childNodes.length == 0) {
return;
}
for (var index = 0; index < target.childNodes.length; index++) {
if (target.childNodes[index].nodeType == 1) {
setFontSize(target.childNodes[index], size);
}
}
}
</script>
<style type="text/css">
.child {
font-size:20px;
}</style>
</head>
<body>
<input type="button" onclick="zoomOut('30px');"/>
<div id="test">
<span ID="child" class="child">fsdfsd</span>
<div>test</div>
</div>
</body>
</html>
问:也许你会问,那么不能在其内部添加字体样式,我该怎么办呢?
回答:你可以用继承,让其所有内部的元素字体继承外部的标签字体大小!
问:也许你会问,我想在其内部添加各种字体和大小!
回答:如果你想在其所有子元素里加各种字体大小,那么就根本不可能完成统一的字体大小变化!看看DOM和CSS的关系,以及他们的执行顺序,这些问题就一目了燃了。
for (var index = 0; index < target.childNodes.length; index++) {
if (target.childNodes[index].nodeType == 1) {
setFontSize(target.childNodes[index], size);
}
这次应该可以圆满解决你的问题了。快散分吧,刘德华兄弟!
全给这个高手rainsilence,我也没意见!哈哈!