【发布时间】:2015-07-31 15:37:17
【问题描述】:
我一直在学习普通版的 Web 组件,但遇到了障碍。当尝试在模板标签(特别是容器类)中使用引导程序中的网格时,它不会对其应用任何引导程序样式。
//Template File
<template>
<top-bar>
<div class="container">
<h1>Hello World</h1>
</div>
</top-bar>
</template>
<script>
var el = document.querySelectorAll('top-bar');
if(el != null) {
//Custom Elements
document.registerElement('top-bar');
//Import Elements
for(var i = 0; i < el.length; i++) {
var shadow = el[i].createShadowRoot();
var template = document.querySelector('#topbar').import.querySelector('template');
var clone = document.importNode(template.content, true);
shadow.appendChild(clone);
}
}
</script>
常规 Bootstrap 样式(字体、样式重置等)已正确应用,并且没有出现控制台错误。
//Index File
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Web Components</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="import" href="topbar.html" id="topbar">
</head>
<body>
<top-bar></top-bar>
</body>
<script src="http://code.jquery.com/jquery-2.1.4.min.js">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</html>
我尝试将引导程序的链接和脚本文件放在模板文件中(但在模板标签之外,因为链接标签不会在模板标签中呈现)。 Bootstrap 会像在索引页面上调用它一样加载,但容器仍然不会从 Bootstrap 继承任何样式。
非常感谢您提供的任何帮助!
【问题讨论】:
标签: twitter-bootstrap web-component html5-template html-imports