在问题中显示内联块文本
Display inline block text inside issue
我一直在尝试显示内联块,如果我没有在 div 中添加任何东西,一切都很好,但是当我这样做时 div 崩溃了,我没有确切知道为什么。
有什么想法吗?
https://jsfiddle.net/giancorzo/ebqoptbd/
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>8 cajas</title>
<link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
<div class="caja"></div>
<div class="caja-grande">
<div class="caja inline-block">
<span>Hola mundo</span>
</div>
<div class="caja inline-block">
</div>
<div class="caja inline-block">
CSS: </div>
</div>
<div class="caja inline-block"></div>
<div class="caja inline-block"></div>
<div class="caja"></div>
</body>
</html>
CSS:
.caja{
background-color: gray;
width: 100px;
height: 100px;
border: 1px solid black;
margin: 5px;
}
.inline-block{
display: inline-block;
}
.caja-grande{
background-color: gray;
border: 1px solid black;
padding: 5px;
width: 350px;
margin: 5px;
}
这个问题是由于内联元素的默认垂直对齐 - baseline
,元素内的文本影响它并将 div 推到底部。例如,使用 vertical-align: top
来抑制这种行为。
display:inline-block
会产生一个小间隙,因此将 font-size:0
添加到父级。加上 vertical-align:top
因为默认情况下 inline-block
是 baseline
通过所有这些你已经解决了你的问题。
这是片段:
.caja {
background-color: gray;
width: 100px;
height: 100px;
border: 1px solid black;
margin: 5px;
}
.caja-grande {
background-color: gray;
border: 1px solid black;
padding: 5px;
width: 350px;
margin: 5px;
font-size: 0
}
.inline-block {
display: inline-block;
vertical-align: top;
font-size: 16px;
}
<div class="caja"></div>
<div class="caja-grande">
<div class="caja inline-block">
<span>Hola mundo</span>
</div>
<div class="caja inline-block">
</div>
<div class="caja inline-block">
</div>
</div>
<div class="caja inline-block"></div>
<div class="caja inline-block"></div>
<div class="caja"></div>
您可以在这篇文章中找到更多信息(以及有关如何以其他方式解决此问题的选项)Fighting the Space Between Inline Block Elements
在 .inline-block
使用 overflow: hidden
来完成这项工作。
.inline-block{
display: inline-block;
overflow: hidden;
}
我一直在尝试显示内联块,如果我没有在 div 中添加任何东西,一切都很好,但是当我这样做时 div 崩溃了,我没有确切知道为什么。
有什么想法吗?
https://jsfiddle.net/giancorzo/ebqoptbd/
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>8 cajas</title>
<link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
<div class="caja"></div>
<div class="caja-grande">
<div class="caja inline-block">
<span>Hola mundo</span>
</div>
<div class="caja inline-block">
</div>
<div class="caja inline-block">
CSS: </div>
</div>
<div class="caja inline-block"></div>
<div class="caja inline-block"></div>
<div class="caja"></div>
</body>
</html>
CSS:
.caja{
background-color: gray;
width: 100px;
height: 100px;
border: 1px solid black;
margin: 5px;
}
.inline-block{
display: inline-block;
}
.caja-grande{
background-color: gray;
border: 1px solid black;
padding: 5px;
width: 350px;
margin: 5px;
}
这个问题是由于内联元素的默认垂直对齐 - baseline
,元素内的文本影响它并将 div 推到底部。例如,使用 vertical-align: top
来抑制这种行为。
display:inline-block
会产生一个小间隙,因此将 font-size:0
添加到父级。加上 vertical-align:top
因为默认情况下 inline-block
是 baseline
通过所有这些你已经解决了你的问题。
这是片段:
.caja {
background-color: gray;
width: 100px;
height: 100px;
border: 1px solid black;
margin: 5px;
}
.caja-grande {
background-color: gray;
border: 1px solid black;
padding: 5px;
width: 350px;
margin: 5px;
font-size: 0
}
.inline-block {
display: inline-block;
vertical-align: top;
font-size: 16px;
}
<div class="caja"></div>
<div class="caja-grande">
<div class="caja inline-block">
<span>Hola mundo</span>
</div>
<div class="caja inline-block">
</div>
<div class="caja inline-block">
</div>
</div>
<div class="caja inline-block"></div>
<div class="caja inline-block"></div>
<div class="caja"></div>
您可以在这篇文章中找到更多信息(以及有关如何以其他方式解决此问题的选项)Fighting the Space Between Inline Block Elements
在 .inline-block
使用 overflow: hidden
来完成这项工作。
.inline-block{
display: inline-block;
overflow: hidden;
}