禁用特定页面片段的CSS样式
我在搜索并找到一些类似的帖子,但没有一个回答我的“特殊”问题。禁用特定页面片段的CSS样式
我有什么是页眉和页脚静态风格的页面。在中间(内容)可以是来自用户的一些HTML + CSS。
我不希望有什么是他们定义一些CSS规则,这将陷入困境的页眉,页脚或全身。
使用iframe并不是真正的解决方案。
感谢
的YUI3 CSS Reset代码上下文工作。
就包括代码:
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/3.3.0/build/cssreset/reset-context-min.css">
,并添加CSS 后用户的CSS,让你的最后评估。然后,给他们这样的类属性重置元素上的CSS:
class="yui3-cssreset"
只要确保你的声明是尽可能具体,而且他们都是!important
。
但是,为什么你允许用户提供自己的CSS?你知道IE可以从一个CSS文件解释JavaScript和一些黑魔法CSS属性吗?
这样做并不安全。
涉及消毒他们的意见最简单的解决方法是让所有的样式属性的重要标志 - !然后搜索和替换的是,用户可以在他们的自定义CSS已输入的任何重要标志!
下面是有关国旗一些更多的信息:http://www.smashingmagazine.com/2010/11/02/the-important-css-declaration-how-and-when-to-use-it/
一个更简单的解决方法是删除用户输入的所有标签 - 只允许CSS将应用于特定元素的样式属性。
这些解决方案要么远离防弹,但是。用户可以简单地创建绝对定位的元素来掩盖他们希望的网站的任何部分。如果你想停止这一点,你将别无选择,只能智能地解析他们指定的每个样式属性,并删除可能会损害网站布局的样式属性。这是一个非常微妙的操作 - 假设你可以正确地做到这一点,任何你不相信的属性都会降低让他们首先编写自己的样式的实用性。
我认为你必须问自己:你真的相信这些用户自己写CSS和HTML?或者这可能是一个更好的选择来调查textile或降价*?如果你信任这些用户,那么这不应该是一个非问题?我想更多关于这个内容的性质的信息会帮助我给你更合适的解决方案。
*我不能发布一个直接链接到首页,由于*的垃圾邮件预防措施。谷歌搜索“降价”的第一个链接是您可以了解更多信息的地方。抱歉。
你想用这个做什么?你可以提供*一些*属性,但不是全部。或者也许使用GUI界面来调整CSS? – Blender 2011-04-27 22:21:53