动态写css
来源:互联网 发布:深圳网络诈骗被骗5万 编辑:程序博客网 时间:2024/06/06 04:42
- 第一种添加方式:document.getElementById("elementId").style.background="#ff0000";
这种方式采用内联是插入css.优先级高。容易引起页面回流性能不好 也不能进行多个样式的添加
第二种方式:
document.getElementsByTagName("a")[0].style.cssText = "background:#ff0000;border:1px #dfdfdf solid;";- 第三种是:直接在style标签中写,这种方法要考虑不同浏览器的兼容性问题。(声明:下面代码引用”司徒正美“的一段代码)var addSheet = function () {
var doc, cssCode;
if (arguments.length == 1) {
doc = document;
cssCode = arguments[0]
} else if (arguments.length == 2) {
doc = arguments[0];
cssCode = arguments[1];
} else {
alert("addSheet函数最多接受两个参数!");
}
if (! +"\v1") {//增加自动转换透明度功能,用户只需输入W3C的透明样式,它会自动转换成IE的透明滤镜
var t = cssCode.match(/opacity:(\d?\.\d+);/);
if (t != null) {
cssCode = cssCode.replace(t[0], "filter:alpha(opacity=" + parseFloat(t[1]) * 100 + ")")
}
}
cssCode = cssCode + "\n"; //增加末尾的换行符,方便在firebug下的查看。
var headElement = doc.getElementsByTagName("head")[0];
var styleElements = headElement.getElementsByTagName("style");
if (styleElements.length == 0) {//如果不存在style元素则创建
if (doc.createStyleSheet) { //ie
doc.createStyleSheet();
} else {
var tempStyleElement = doc.createElement('style'); //w3c
tempStyleElement.setAttribute("type", "text/css");
headElement.appendChild(tempStyleElement);
}
}
var styleElement = styleElements[0];
var media = styleElement.getAttribute("media");
if (media != null && !/screen/.test(media.toLowerCase())) {
styleElement.setAttribute("media", "screen");
}
if (styleElement.styleSheet) { //ie
styleElement.styleSheet.cssText += cssCode;
} else if (doc.getBoxObjectFor) {
styleElement.innerHTML += cssCode; //火狐支持直接innerHTML添加样式表字串
} else {
styleElement.appendChild(doc.createTextNode(cssCode))
}
}
4.动态加载css文件,这个就简单了
function addStyle(stylePath) {
var container = document.getElementsByTagName("head")[0];
var addStyle = document.createElement("link");
addStyle.rel = "stylesheet";
addStyle.type = "text/css";
addStyle.media = "screen";
addStyle.href = stylePath;
container.appendChild(addStyle);
}
addStyle('css/add.css');
var container = document.getElementsByTagName("head")[0];
var addStyle = document.createElement("link");
addStyle.rel = "stylesheet";
addStyle.type = "text/css";
addStyle.media = "screen";
addStyle.href = stylePath;
container.appendChild(addStyle);
}
addStyle('css/add.css');
0 0
- 动态写css
- css实现高度动态变化自如 新手写着娱乐
- 动态CSS
- css里写javascript
- css写JS
- 用css 写html
- CSS写省略号
- jsp写css
- 用css写三角形
- CSS写表格
- CSS属性合写
- 第一次写CSS+HTML
- div+css写首页
- css怎么写
- CSS写箭头
- css写三角形按钮
- 写HTML+CSS,经验之谈
- css写箭头
- java设计模式(四)
- JAVA进阶学习-java基本类型
- 关于进程与线程的区别
- 面试笔试中的排序问题
- 指针类型强制转换
- 动态写css
- 来看看个
- background-position百分比的问题
- PLSQL collection 示例 之 Nested Tables
- VS2008配置opencv
- android camera(四):camera 驱动 GT2005
- java【工具类】汉字转拼音,
- android 常见问题
- python笔记8--python网络编程