给一个HTML元素设置css属性,如
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的友谊网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
复制代码
代码如下:
var
head=
document.getElementById("head");
head.style.width
=
"200px";
head.style.height
=
"70px";
head.style.display
=
"block";
这样写太罗嗦了,为了简单些写个工具函数,如
复制代码
代码如下:
function
setStyle(obj,css){
for(var
atr
in
css){
obj.style[atr]
=
css[atr];
}
}
var
head=
document.getElementById("head");
setStyle(head,{width:"200px",height:"70px",display:"block"})
发现
API
中使用了cssText属性,后在各浏览器中测试都通过了。一行代码即可,实在很妙。如
复制代码
代码如下:
var
head=
document.getElementById("head");
head.style.cssText="width:200px;height:70px;display:bolck";
和innerHTML一样,cssText很快捷且所有浏览器都支持。此外当批量操作样式时,cssText只需一次reflow,提高了页面渲染性能。
但cssText也有个缺点,会覆盖之前的样式。如
复制代码
代码如下:
div
style="color:red;"TEST/div
想给该div在添加个css属性width
复制代码
代码如下:
div.style.cssText
=
"width:200px;";
这时虽然width应用上了,但之前的color被覆盖丢失了。因此使用cssText时应该采用叠加的方式以保留原有的样式。
复制代码
代码如下:
function
setStyle(el,
strCss){
var
sty
=
el.style;
sty.cssText
=
sty.cssText
+
strCss;
}
使用该方法在IE9/Firefox/Safari/Chrome/Opera中没什么问题,但由于
IE6/7/8中cssText返回值少了分号
会让你失望。
因此对IE6/7/8还需单独处理下,如果cssText返回值没";"则补上
复制代码
代码如下:
function
setStyle(el,
strCss){
function
endsWith(str,
suffix)
{
var
l
=
str.length
-
suffix.length;
return
l
=
str.indexOf(suffix,
l)
==
l;
}
var
sty
=
el.style,
cssText
=
sty.cssText;
if(!endsWith(cssText,
';')){
cssText
+=
';';
}
sty.cssText
=
cssText
+
strCss;
}
相关:
如果网页中一个
id为“no”的标签,暂且当div标签来tell;
想要在js中设置这个div的css样式,很一般的做法是:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.width
=
'400px';
obj.style.height
=
'300px';
如果要设置一堆又一堆的css样式呢,太麻烦了把、
一般情况下都会结合css来添加className或者改变className达到想要的效果,但是如果你create一个元素,难道还想这样简单点?那就要想别的办法了~
于是大家就写了一个又一个的函数,经典的两个是:
var
obj
=
document.getElementByIdx_x_x('no');
function
setStyle(obj,
css)
{
for(var
attr
in
obj){
obj.style[attr]
=
css[attr];
}
}
setStyle(obj,{width:"400px",height:"300px"});
当然还有更简单的,cssText:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.cssText
=
"width:400px;
height:300px;";
当然这种方法对于create的元素初始化css样式来说很简单很方便。
以上就是小编为大家带来的js中用cssText设置css样式的简单方法的全部内容了,希望对大家有所帮助,多多支持脚本之家~
可以用css3中新增的选择器“[attribute=value]”来同时选中指定的属性的标签。
1、新建html文档,添加5个input标签,其中第一个和最后一个“type”属性的属性值为“text”:
2、在head标签和body标签之间添加style标签,添加代码“input[type=text]”,“input”指的是标签名,“type”指的是属性名,“text”指的是属性值,这个就会把所有属性名为“type”、属性值为“text”的input标签选中:
3、为被选择的标签设置背景色为红色,这时属性值为“text”的第一个标签和最后一个标签背景色都变成了红色:
1、创建使用css样式表有三种,分别是外部样式表,内部样式表和内联样式。下面通过一个小demo演示它们的用法,首先新建一个html文件,放入3个button按钮,给前两个按钮分别设置class属性为btn1和btn2:
2、接着准备一个css文件,命名为demo.css,在文件内写入按钮A的样式,保存css文件:
3、回到刚才的html文件,在style标签中用link标签引入上一步创建的css文件,这就是外联样式的用法,总结就是创建好的css文件内写好样式,然后在html文件中用link标签引入即可,这也是大部分网站使用的方法,因为其引入方便,管理起来也比较方便:
4、接着是内部样式表的使用,这里直接在head标签里创建style标签,在里面加入btn2的样式。对于内部样式表简单的html文件,内部样式是很方便的,但是结构复杂的html文件使用它就会让文件显得很混乱:
5、最后是内联样式的使用,直接在第三个标签内使用style属性加入样式就可以了:
6、最后保存html文件,打开浏览器可以看到三个按钮的样式都出现了。以上就是css样式表的制作方法:
这是添加css样式用的嵌入式代码。
style
type="text/css"
!--
--
/style
一般格式如上,把css的样式写入中间。
其中type=“text/css”是声名了css样式用文本写成。