我有一个标题栏,上面有通常的内容.应用程序-徽标,导航,一些控制.
导航栏的高度不是设置的,而是由其内容决定的.它是一个弹性容器.
现在我希望App-Logo延伸到垂直可用空间,并保持其纵横比.
下面是它应该是什么样子:
下面是实现上图的代码:
.headerbar {
display: flex;
align-items: stretch;
gap: 1rem;
padding: .5rem;
background: #f0f0f0;
border-bottom: 1px solid gray;
}
.logo {
aspect-ratio: 1 / 1; /* Not working */
border-radius: 5px;
background: radial-gradient(circle, rgba(63, 94, 251, 1) 0%, rgba(252, 70, 107, 1) 100%);
}
<div class="headerbar">
<div class="logo"></div>
<p>Link 1</p>
<p>Link 2</p>
<p>Link 3</p>
</div>
代码链接:https://jsfiddle.net/v2ta54eg/19/
如您所见,徽标是不可见的.正如预期的那样,它似乎只是拉伸自身,但aspect-ratio
属性对宽度没有任何影响.宽度保持为0.
try 使用的是aspect-ratio: 1 / 1
,我希望它将宽度设置为与高度相同的量.这是因为高度设置为aling-self: stretch
.
所以问题是:
如何才能使div具有与高度相同的宽度,从flex父元素align-items: stretch
/align-self: stretch
中获取高度?