<div class="test-wrapper">
<ifx-progress-bar value="50" show-label="true"></ifx-progress-bar>
</div>
test-wrapper有:
.test-wrapper {
display: flex;
}
进度条具有:
.progress-bar {
display: flex;
height: 16px;
border-radius: 1px;
//width: 100%;
overflow: hidden;
有或没有宽度:100%在.progress-bar上,组件不显示,除非我添加:
:host {
width: 100%
}
怎么了?.progress-bar
上的Display:flex
应该有一个默认的width
,即100%
,因此它也应该将组件 Package 器(host
)推送到width 100%
,对吗?为什么需要显式地将其设置为width 100%
?它的默认值是什么?
1条答案
按热度按时间91zkwejq1#
显示:进度条上的flex应该有一个默认的宽度100%
事实并非如此。大多数元素的默认值
width
是auto
,这意味着元素决定它自己的大小(根据它自己的CSS属性和/或内容)。因此,宽度将由元素本身和布局上下文确定。将display属性设置为flex
不会影响元素的大小。将元素放在flexbox布局中确实可以控制元素的大小,除非您使用justify-content: stretch
并使元素大小为auto
。其他与flexbox相关的属性,如flex
,flex-grow
,flex-shrink
也会影响大小。你所需要做的就是使用flexbox将你的组件拉伸到100%:参见https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content。