gpt4 book ai didi

html - 是否可以在 Flexbox 中的基线时拉伸(stretch)元素?

转载 作者:行者123 更新时间:2023-11-28 02:28:21 25 4
gpt4 key购买 nike

请看下面我的代码;

<html>
<head>
<style>
.Window__caption {
display: flex;
align-items: baseline;
background-color: #fff;
border: 1px solid black;
}

.Window__title {
margin: auto auto auto 5px;
cursor: move;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

.Window__buttons {
cursor: pointer;
background-color: #fff;
border: 0;
}

.Window__maximize-button:hover {
background-color: #ddd;
}

.Window__minimize-button:hover {
background-color: #ddd;
}

.Window__close-button:hover {
color: #fff;
background-color: #f00;
}

</style>
</head>
<body>
<div class="Window__caption">
<span class="Window__title">My First Window</span>
<button class="Window__buttons Window__minimize-button">−</button>
<button class="Window__buttons Window__maximize-button">☐</button>
<button class="Window__buttons Window__close-button">⨉</button>
</div>
</body>
</html>

这是我的代码截图;

enter image description here

如您所见,我有一个标题和三个不同高度的控制按钮。我想要的是在所有 flexbox 元素处于基线时垂直拉伸(stretch)它们。可以这样做吗?

更新:

下图是align-item为“baseline”时;

enter image description here

下一个是align-item为“stretch”时;

enter image description here

看起来字形是对齐的,但实际上不是。只需在浏览器中播放即可看到差异。

最佳答案

我不知道“拉伸(stretch)”的确切含义,但我试过了;

<html>
<head>
<style>
.Window__caption {
display: flex;
height: 20rem;
align-items: baseline;
background-color: #fff;
border: 1px solid black;
}

.Window__title {
margin: 0 auto auto 5px;
cursor: move;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;

}

.Window__buttons {
cursor: pointer;
background-color: #fff;
border: 0;
}

.Window__maximize-button:hover {
background-color: #ddd;
}

.Window__minimize-button:hover {
background-color: #ddd;
}

.Window__close-button:hover {
color: #fff;
background-color: #f00;
}

</style>
</head>
<body>
<div class="Window__caption">
<span class="Window__title">My First Window</span>
<button class="Window__buttons Window__minimize-button">−</button>
<button class="Window__buttons Window__maximize-button">☐</button>
<button class="Window__buttons Window__close-button">⨉</button>
</div>
</body>
</html>

如果这不是您想要的,请告诉我。

-- 更新--

我认为这才是您真正想要的:>

看起来字形没有居中对齐,但我认为这是字形本身的问题。

如果你想检查字形的对齐,删除 `.btn' 中的 justify-content: center;。你可以看到它会略有变化。

<html>
<head>
<style>
* {
margin: 0;
}
.container {
width: 100%; height: 10rem;
display: flex;
border: 1px solid black;
}
.title, .filter, .button-wrap {
display:flex; flex-flow: column; justify-content: center;
}
.filter {
flex-grow: 1.1;
}
ul, ul li {
list-style: none; list-style-type: none;
display: flex; flex-flow: row;
}
.btn {
display: flex; flex-flow: column; justify-content: center;
}
</style>
</head>
<body>
<div class="container">
<span class="title">My First Window</span>
<div class="filter"></div>
<div class="button-wrap">
<ul>
<li><button class="btn">−</button></li>
<li><button class="btn">☐</button></li>
<li><button class="btn">⨉</button></li>
</ul>
</div>
</div>
</body>
</html>

关于html - 是否可以在 Flexbox 中的基线时拉伸(stretch)元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52521528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com