gpt4 book ai didi

javascript - 在没有 css 冲突的情况下将小部件集成到现有的 html 中

转载 作者:行者123 更新时间:2023-11-28 05:11:35 27 4
gpt4 key购买 nike

我必须将小部件 html 文件集成到现有的 html 页面中,但此后我遇到了很多 css 问题。有什么方法可以限制主 html 的 css 文件不应用于小部件 html 文件。

**Sample html :**
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" class="csstransforms" lang="ru" >
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link href="abc.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="abc.js" type="text/javascript"></script>
</head>
<body>


<!-- WIDGET CODE-->
<!DOCTYPE html>
<html lang="en" ng-app="adidas" bb-api-url="https://adidas-dev.bookingbug.com">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link href="def.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="defjs" type="text/javascript"></script>
</head>

<body>
.......widget html code
</body>
</html>



<body>
</html>

最佳答案

对于 HTML,您不允许在一个文件中包含两个 HTML 文档。

解决此问题的一种方法是在您的主 HTML 中使用 iframe:

<iframe src="widget.html"></iframe>

因此,您使用自己的样式和 javascript 脚本在自己的 HTML 文件中创建小部件,并使用 iframe 将其嵌入到主 HTML 文件中(然后您的小部件与主 HTML 脚本和样式完全隔离,不会受到影响由他们)。

另一种方法是为您的小部件创建一个单独的 CSS 并将其包含在您的主 HTML 中,然后仅将您的小部件的标记(没有 html 和 body 标签)插入到您的主 HTML 正文中。

在你的小部件 CSS 文件中,你应该为你的小部件样式创建一个“命名空间”,它不会与你的其余 CSS 冲突,方法如下:

.my-widget-name {
// your widget styles
}
.my-widget-name span.name {
// your widget style
}
.my-widget-name .box {
// your widget style
}
.......
.......

(我通常喜欢使用 LESS 之类的东西,但上面显示的是传统的 CSS 示例)

"my-widget-name" 应该是只有您的小部件使用的唯一类名,并且通过将所有小部件样式子类化到该类名下,您基本上将它隔离来自其余的 CSS。

希望能帮到你

关于javascript - 在没有 css 冲突的情况下将小部件集成到现有的 html 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39524351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com