Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态更改css值(如整个应用程序中的颜色)等_Javascript_Html_Css_Angularjs - Fatal编程技术网

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;}