Newer Version Available
Using External CSS
ltng:require enables you to load external CSS and JavaScript libraries for your component or app.
Here’s an example of using ltng:require:
1<ltng:require styles="{!$Resource.resourceName}" />resourceName is the Name of the static resource. In a managed package, the resource name must include the package namespace prefix, such as $Resource.yourNamespace__resourceName. For a stand-alone static resource, such as an individual graphic or script, you only need the name of the resource. For example, if you uploaded myScript.js and set the Name to myScript, reference it as $Resource.myScript. To reference an item within an archive static resource, add the rest of the path to the item using string concatenation.
Here are some considerations for loading styles:
- Loading Sets of CSS
- Specify a comma-separated list of resources in the styles attribute to load a set of CSS.
- Loading Order
- The styles are loaded in the order that they are listed.
- One-Time Loading
- The styles load only once, even if they’re specified in multiple <ltng:require> tags in the same component or across different components.
- Encapsulation
- To ensure encapsulation and reusability, add the <ltng:require> tag to every .cmp or .app resource that uses the CSS resource.
ltng:require also has a scripts attribute to load a list of JavaScript libraries. The afterScriptsLoaded event enables you to call a controller action after the scripts are loaded. It's only triggered by loading of the scripts and is never triggered when the CSS in styles is loaded.
Styling Components for Lightning Experience or Salesforce for Android, iOS, and mobile web
1<ltng:require styles="{!$Resource.bootstrap}"/>
2<div class="myBootstrap">
3 <c:myComponent />
4 <!-- Other component markup -->
5</div>