gpt4 book ai didi

html - flexbox 中的 align-self 属性不起作用?

转载 作者:技术小花猫 更新时间:2023-10-29 12:15:04 39 4
gpt4 key购买 nike

我试图理解 flexbox :我想让“第一个” block 拉伸(stretch)以匹配浏览器的整个宽度,并使“第二个” block 具有固定大小并向左对齐。

所以我用了align-items: flex-end在父级( <html> )中并尝试使用 align-self: stretch 拉伸(stretch)第一个 block 在“第一个” block 中。

这是行不通的。它们都左对齐。

<html>
<head>
<style>
html {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-end;
}

#first {
align-self:stretch;
background-color: red;
border: 3px solid black;
}

#second {
background-color:green;
width: 300px;
height: 400px;
border: 3px solid yellow;
}
</style>
</head>
<body>
<div id="first">This is first</div>
<div id="second">This is second</div>
</body>
</html>

最佳答案

所以问题是你有 <html>节点作为 flex 容器,<body>节点(它的子节点)是唯一的 flex 元素。

目前,align-self:stretch#first被忽略,因为该属性仅适用于 flex 元素,并且 #first 不是 flex 元素(您现在设置事物的方式)。

要得到你想要的,你需要制作<body>节点一个 flex 容器,不是 <html>节点。所以,只需更改您的第一个样式规则以应用于 body{而不是 html{

(此外,如果您希望 #second 左对齐,您需要 flex-start ,而不是 flex-end 。左边缘通常是 flex-start 水平边缘。)

关于html - flexbox 中的 align-self 属性不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20053156/

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