[英]Preserving CSS styles with Javascript
我有一个Web服务,人们可以在其中编辑他们的页面CSS,但是在该页面的页脚上有一个栏,我想在每个页面上进行编结...
人们现在可以使用CSS“删除”它,而我真的不想去解析CSS以删除与该栏有关的规则...有没有办法保留样式或重新使用样式加载后保持钢筋始终可见?
jQuery css方法可让您设置css属性。 如果设置了要在窗口加载时强制执行的任何属性,则它们应覆盖在css文件中设置的属性。
$(window).load(function () { $("#footer").css("visibility", "visible"); });
您可能还会考虑使用!important规则在用户可编辑样式表中胜过样式。
您可以将条形图加载到iframe中。
如果您在保存时修改了用户创建的CSS, 将后代选择器添加到其所有规则中,您可以将其样式的效果限制为您选择的元素。 如果您使用以下HTML:
<html>
<body>
<div id="userEditableArea">
<h2>Stylable</h2>
<p>Users can style this section.</p>
</div>
<div id="footerBar">
Users can't style this section.
</div>
</body>
</html>
用户创建以下样式表,尝试隐藏页脚:
h2 {font-size:2em;}
p {font-color:#333;}
#footerBar {display:none;}
当用户保存其样式时,您可以解析#userEditableArea
其所有规则中添加#userEditableArea
,因此它们仅适用于<div id="userEditableArea">
内的元素。 使用一两个正则表达式可以很容易地做到这一点。
#userEditableArea h2 {font-size:2em;}
#userEditableArea p {font-color:#333;}
#userEditableArea #footerBar {display:none;}
您不希望它们惹的任何麻烦,请放在#userEditableArea之外。
这应该非常健壮-比使用!important规则或高特定性选择器要强得多,并且不需要任何JS。
您可以尝试两种方法:
!important
标志
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.