微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 如何封装CSS,特别是对于弹出窗口而不涉及iframe?

刚刚从设计团队获得了一个带有css的新网页,用于制作精美的盒子弹出窗口;

他们不知道或不关心寻找现有的课程和ID;

我需要一个没有任何IFRAME的工作解决方

问题是主css文件中已经有超过20,000个css行,并且在某些时候某些东西会被覆盖,整个网站将会发生大爆炸!

这个新的网页有很常见的类和id名称,我说的是几乎100个带有css属性标签;

我想知道是否有一种方法来封装这个新的css属性和未来的属性;

如果有办法做到这一点,怎么办呢?

有了这个网页,我很幸运,我用内容粘贴了标签,就在此之前,我使用了样式类型“text / css”标签;但我不会总是很幸运;

仅仅因为我们得到了由不同人编写的css代码的网页,如果某些属性名称或id彼此相交,创建新的css类对我来说是不公平的.

我现在有大约10个类的标签,而且大多数情况下,属性是相同的;

解决方法

使用目标规则,让级联为您处理.将弹出窗口放在一个包装器中,并附上您喜欢的名称详细信息.

<div id="myPopupDivWithCommonIds">
    <!-- rest of popup -->
</div>

并将你的css规则定位到该div.

#myPopupDivWithCommonIds .error { color: bright-pink; }
#myPopupDivWithCommonIds #main { width: 93.21%; }

等等.这会处理css规则并防止你的新东西溢出.你必须小心确保没有其他规则涓涓细流;最好的方法是明智地覆盖任何定义的属性(Pekka说的).你也可以对它进行核处理并包含一个自定义的’reboot’或’bootstrap’样式表,并再次将所有规则重新定位到你的新弹出div(就像你说的那样,对于20k行的css很难;但是包括一个文件通过附加#id选择器如上所述的重置规则以你的div为目标有点帮助.

哦,这仍然没有解决重复ID在技术上是无效标记的问题,并且很可能会干扰您尝试在该页面上运行的任何JavaScript.

如果这听起来像一团糟,那就好了.你的开发人员和设计人员已经达到了这一点,并且缺乏严肃的重构,你不会回到一个干净的解决方案.对于你的用例来说,iFrame可能看起来像是一个黑客或者不可能,但它确实会清理你正确预见到的许多问题.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐