Javascript 如何动态更改css值(如整个应用程序中的颜色)等
我有一个问题 如果需要条件样式:必须使用Javascript 如何动态更改css值(如整个应用程序中的颜色)等,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,我有一个问题 如果需要条件样式:必须使用ng类或ng样式构造 但是 例如:我是一名管理员,我想从colorpicker使用自定义颜色更改应用程序的颜色。如何更改css中的一些代码 例如,我在style.css中有这一行: body{ background: #ffffff; } (所有标签,如a、h1等,也会实现某种颜色) 在控制器中,我将此#ffffff更改为#000000 在css中更改此颜色的最佳方法是什么,而不必在每个控制器的每个标记上使用ng class或ng style?您可以
ng类
或ng样式
构造
但是
例如:我是一名管理员,我想从colorpicker
使用自定义颜色更改应用程序的颜色。如何更改css中的一些代码
例如,我在style.css中有这一行:
body{
background: #ffffff;
}
(所有标签,如a、h1等,也会实现某种颜色)
在控制器中,我将此#ffffff
更改为#000000
在css中更改此颜色的最佳方法是什么,而不必在每个控制器的每个标记上使用ng class
或ng style
?您可以用JavaScript编写css规则,并将其动态添加到样式表中。关于如何做到这一点的几篇好文章是和
当然,以一种纯角度的方式,您可以创建一个封装DOM/样式表交互的指令。最好的方法是生成一个类似color.css的文件,其中所有css规则都被覆盖color
,背景色
,边框色
等。但angularjs还不够
颜色默认值.css
body {
background: #fff;
}
body {
background: #f00;
}
color.css
body {
background: #fff;
}
body {
background: #f00;
}
全方位
在要重写的每个元素上添加类。
为每个属性创建类,如下所示:
.skin-color { color: {{color}}; }
.skin-background-color { background-color: {{color}}; }
.skin-border-color { border-color: {{color}}; }
etc..
在您想要的html上应用类:
<h1 class="skin-color">My title</h1>
<p>Hello I'm online!</p>
<p class="skin-background-color">No difference!</p>
<p><a href="#">I'm link</a></p>
我的标题
你好,我在线
没有区别
例如,您可以将颜色变量保存在localStorage中。
Démo:我能想到的最简单的方法是,例如,单击myBox更改其背景色
html:
css:
希望我能帮上忙。另一种选择是SASS或更少,并使用变量处理颜色…hm,如何更好地获得角度样式表?也许你有一些代码?@brabertaser1992在两个链接中都有一些代码。最简单的方法是向样式表中添加一个ID,并使用document.getElementById检索它。
$scope.changeBackgroundColor = function(){
angular.element('.myBox').css('background-color', '#000');
}
.myBox{background-color: #fff;}