cssText属性

本质:
就是HTML元素的style属性值
优势:
将多次改变样式属性的操作合并为一次操作(适用于单个存在的节点),减少页面重排reflow。

语法:obj.style.cssText="样式"

例如:

//javascript
var el = document.querySelector(’.el’);
el.style.borderLeft = ‘1px’;
el.style.borderRight = ‘2px’;
el.style.padding = ‘5px’;

可以使用内联样式的cssText方法实现:

var el = document.querySelector(’.el’);
el.style.cssText = ‘border-left: 1px; border-right: 2px; padding: 5px;’;

问题:
使用cssText时会把会把原有的cssText清掉,比如原来的style中有’display:none;’,那么执行完上面的JS后,display就被删掉了。

<body>
<h1 style="color:red;font-size:50px;text-align:center;">cssText属性</h1>
<button onclick="btnclick()">点击,内联样式全被覆盖</button>
<p id="demo"></p>
<script>
    function btnclick(){
        var h1=document.getElementsByTagName("h1")[0];
        h1.style.cssText="color:blue";
    }
</script>
</body>

为了解决这个问题,可以采用cssText累加的方法:

h1.style.cssText + =" ; color:blue";

注意:一定要在前面加一个,否则这个累加的方法在IE中是无效的。
返回值:
在某些浏览器(Chrome)中,你给它赋什么值,它返回什么值。但在IE中它会格式化输出、会把属性大写、会改变属性顺序、会去掉最后一个分号。
例如:

<body>
<h1 style="color:red;font-size:50px;">cssText属性</h1>
<button onclick="btnclick()">点击返回元素行内样式</button>
<p id="demo"></p>
<script>
    function btnclick(){
        var h1=document.getElementsByTagName("h1")[0];
        var x=h1.style.cssText;
        alert(x);
    }
</script>
</body>

在IE中值为:FONT-SIZE:50px;COLOR:red

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值