我有一个元素,其:before
样式必须根据计算进行修改。
export class Content extends React.Component {
render() {
return (
<div className="ring-base">
<div className="ring-left" style={{/* Change here */}}></div>
<div className="ring-right" style={{/* Change here */}}></div>
<div className="ring-cover">
<div className="ring-text">10%</div>
</div>
</div>
);
}
}
CSS代码:
.ring-base {
position: absolute;
height: 200px;
width: 200px;
border-radius: 50%;
background: red;
transform: rotate(90deg);
overflow:hidden;
}
.ring-cover {
position: absolute;
height: 180px;
width: 180px;
background: #fff;
border-radius: 50%;
top: 5%;
left: 5%;
}
.ring-cover .ring-text {
position: absolute;
width: 100%;
height: 100%;
text-align: center;
font-size: 2em;
display: flex;
justify-content:center;
align-content:center;
flex-direction:column;
transform: rotate(-90deg);
}
.ring-right, .ring-left {
height: 100px;
width: 200px;
overflow: hidden;
position: absolute;
}
.ring-right:before, .ring-left:before {
height: inherit;
width: inherit;
position: absolute;
content: "";
border-radius: 100px 100px 0 0;
background-color: grey;
transform: rotate(0deg);
}
.ring-right {
-webkit-transform-origin: 50% 0%;
-moz-transform-origin: 50% 0%;
-ms-transform-origin: 50% 0%;
transform-origin: 50% 0%;
transform: rotateZ(0deg);
}
.ring-left {
transform: rotate(180deg);
-webkit-transform-origin: 50% 100%;
-moz-transform-origin: 50% 100%;
-ms-transform-origin: 50% 100%;
transform-origin: 50% 100%;
}
.ring-right:before {
-webkit-transform-origin: 50% 100%;
-moz-transform-origin: 50% 100%;
-ms-transform-origin: 50% 100%;
transform-origin: 50% 100%;
transform: rotate(0deg);
}
.ring-left:before {
-webkit-transform-origin: 50% 100%;
-moz-transform-origin: 50% 100%;
-ms-transform-origin: 50% 100%;
transform-origin: 50% 100%;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
要求是能够通过ReactJS .ring-left:before
和.ring-right:before
通过ReactJS
更新transform属性。
如果有一种方法可以不更新:before
类,也可以完全不使用CSS :before
,则也建议这样做。
您可以重复document.styleSheets
设置.style
的.cssRules
地方.selectorText
比赛伪选择
let sheets = document.styleSheets;
let selector = "div::before";
let replacementContent = '"after"';
for (let sheet of sheets) {
for (let rule of sheet.cssRules) {
if (rule.selectorText === selector) {
rule.style["content"] = replacementContent;
}
}
}
div:before {
content: "before";
color: red;
font-weight: bold;
text-align: center;
text-shadow: 2px 2px 2px #000;
background: green;
width: 50px;
height: 50px;
display: block;
}
<div></div>
任何关于这个或者如何使用drools api修改drools规则的想法都将是有用的。 注意:我不想为修改规则做字符串替换。
问题内容: 有什么办法(强劲)重置任何可能和CSS规则,新创建的元素? 通常,您可以直接在元素上设置要重置的样式规则(如果需要确定的话),但是我不知道有什么方法可以更改仅在元素上定义的规则。 (如果可能,仅需与Chrome配合使用。) 加上/ 规则的内容会影响传回的值。 问题答案: 有一个DOM2 API可以解决此问题。正确的方法是
我正在使用一个DMN来评估我的输入,但需求是这样的规则将被添加在未来,规则将被添加由正常的用户。因此,我关心的是如何提供一个逻辑来动态更新/添加DMN中的规则,并在camunda Tomcat中更新它。我经历了部署、创建和重新部署rest api,但无法解决我的问题。
问题内容: 我有这个样式表: 现在,我想根据一些参数修改1620px的值。像这样: 我希望能够使用JavaScript和jQuery,尽管可以使用纯CSS解决方案。 这是针对在其移动Apple Safari浏览器中运行的iPhone游戏。 问题答案: 如果要修改已包含的样式表中的关键帧规则,请执行以下操作: 如果您不知道顺序,但是知道CSS文件的URL,请替换为。
问题内容: 我想知道是否有可能在不进行内联样式的情况下修改Css样式表声明。 这是一个简单的例子: 这给出了一个蓝色的书写框,在悬停时变为绿色。 如果我为颜色提供内联样式,则悬停行为将丢失: 无论如何,这都会显示一个红色的书写框。 所以我的问题是,如何能访问和修改css声明对象,而不是用内联样式覆盖样式。 谢谢, 问题答案: 您可以使用与原始样式表相对应的DOM样式表对象上的来修改规则。 请注意,
我想添加/删除/修改测试元素(如HTTPsamplers,Post处理器,可视化工具等)的JMeter测试计划在运行时(而不是加载测试时)使用JMeter API。它将如何在JMeter实现? 有人知道JMeter API添加/删除/修改测试元素吗? 我已经谷歌了我的问题,没有找到任何好的解决方案,并找到了一个使用xml解析器API修改jmx文件(JMeter测试计划文件)的解决方案,但它不会影响