Skip to content

Component with Scoped Styles

js
app.component("user-profile", (props) => {
  return {
    template: `
      <div class="profile">
        <img src="${props.avatar}" class="avatar">
        <h3>${props.name}</h3>
      </div>
    `,
    styles: `
      .profile {
        text-align: center;
      }
      .avatar {
        border-radius: 50%;
        width: 100px;
      }
    `,
  };
});

Style Features

Automatic scoping CSS encapsulation Media queries support Nested selectors Dynamic styles

Best Practices

Keep components focused and small Use scoped styles for component isolation Pass data through props Follow naming conventions Keep styles close to their components