【发布时间】:2016-03-22 07:42:32
【问题描述】:
我正在创建一个 Angular Kendo 应用程序。
我打算创建一个单页应用程序。
我想把所有的业务登录分成多个页面。
每个页面都有不同的 JavaScript、CSS 和 HTML 文件。
我根据用户交互动态加载这些 html 文件。
根据单页架构,我们需要将所有 JavaScript 和 CSS 文件包含在我们动态加载所有页面的主页中。
所以我的问题是,如何为每个屏幕划分 CSS 样式。
我是否需要为每个屏幕设置不同的类/ID 名称?
我可以执行以下操作吗?
// Page1.html
<div id="myPage1">
<div class="something">Page</div>
</div>
// Page1.css
#myPage1 .something { color: black; }
// Page2.html
<div id="myPage2">
<div class="something">Page</div>
</div>
// Page2.css
#myPage2 .something { color: blue; }
所以Page1.css 和Page2.css 将在主布局中一次加载。
当我加载Page2.html 时,将应用样式Page2.css。
哪种方法是正确的?
【问题讨论】:
-
因为它们是不同的选择器,所以它们是否在同一个文件中并不重要。通常,您会在部署之前组合您的 css 并缩小它,因此只需加载一次较小的 css 文件。在开发过程中,没有什么能阻止你单独加载它们 :)
-
除非您使用 Angular 1.5,否则没有好办法。 (因此您可以在 css 中使用组件名称作为 id)我更喜欢使用类(class="page1"),但您可以使用 ids 来确定页面。或者你可以让所有元素类都不同,比如'page1-input'。没关系。
标签: javascript html css angularjs single-page-application