说说display:flex和display:inline-flex有什么区别?
"display:flex和display:inline-flex的区别主要在于它们在父容器中的布局方式不同。下面是它们的区别:
-
display:flex:将父容器设置为flex布局,子元素默认以块级元素的形式排列,即每个子元素占据一行,且每个子元素占据父容器的整个宽度。子元素可以通过flex属性来控制它们在主轴上的尺寸比例、对齐方式等。
-
display:inline-flex:将父容器设置为inline-flex布局,子元素默认以行内元素的形式排列,即每个子元素在同一行内显示,且根据内容自动调整宽度。子元素同样可以通过flex属性来控制它们在主轴上的尺寸比例、对齐方式等。
下面是一个示例代码,展示了display:flex和display:inline-flex的区别:
<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
display: flex;
background-color: lightgray;
}
.flex-item {
background-color: gray;
padding: 20px;
margin: 10px;
color: white;
text-align: center;
}
.inline-flex-container {
display: inline-flex;
background-color: lightgray;
}
</style>
</head>
<body>
<h2>display:flex</h2>
<div class=\"flex-container\">
<div class=\"flex-item\">Item 1</div>
<div class=\"flex-item\">Item 2</div>
<div class=\"flex-item\">Item 3</div>
</div>
<h2>display:inline-flex</h2>
<div class=\"inline-flex-container\">
<div class=\"flex-item\">Item 1</div>
<div class=\"flex-item\">Item 2</div>
<div class=\"flex-item\">Item 3</div>
</div>
</body>
</html>
在上述代码中,我们创建了一个父容器,并将其分别设置为flex布局和inline-flex布局。然后,在父容器中放置了三个子元素,每个子元素都有相同的样式。在浏览器中运行该代码,我们可以看到以下效果:
- display:flex:子元素以块级元素的形式排列,在不同的行显示。
- display:inline-flex:子元素以行内元素的形式排列,在同一行内显示,且根据内容自动调整宽度。
通过这个示例,我们可以清楚地看到display:flex和display:inline-flex的区别。"
转载自:https://juejin.cn/post/7294520297981018122