为什么我无法在作为WebComponent的元素上设置大小

Hen*_*mas 3 html css web-component native-web-component

我试图使用选择器设置widthheight在WebComponent中:host,但大小不会改变.以下是组件的模板:

<template>
  <style>
    :host {
      width: 100px;
      height: 100px;
      background-color: rebeccapurple;
    }
  </style>

  <h1>Content</h1>
</template>
Run Code Online (Sandbox Code Playgroud)

我需要做的是添加div一个容器并设置它的大小

<template>
  <style>
    div {
       width: 100px;
       height: 100px;
       background-color: rebeccapurple;
    }
  </style>

  <div>
    <h1>Content</h1>
  </div>
</template>
Run Code Online (Sandbox Code Playgroud)

我想明白为什么这是不可能的以及它的原因.或者,如果有更好的方法来解决这个问题.

这是它的一个JSBin:http://jsbin.com/gesovagapi/edit?html,css,js,output

Tsv*_*nev 6

默认情况下,使用创建自定义组件display: inline;.如果希望组件采用指定的宽度/高度,请将其display属性设置为blockinline-block.例如:

  <style>
    :host {
      display: inline-block;
      width: 100px;
      height: 100px;
      background-color: rebeccapurple;
    }
  </style>
Run Code Online (Sandbox Code Playgroud)