创建 HTML
- 创建一个具有“容器”类的 <div> 元素。
- 在“容器”中创建两个具有“small-box”和“big-box”类的 <span> 元素。
<div class="container"> <span class="small-box"></span> <span class="big-box"></span> </div>
添加 CSS
- 设置“容器”的边框、高度和宽度。
- 将显示设置为“inline-block”并指定“container”和<span>的边框和宽度
- 设置“小盒子”和“大盒子”的高度和背景。
.container {
border: 1px solid #666666;
width: 350px;
height: 150px;
}
.container span {
display: inline-block;
border: 1px solid #666666;
width: 40%;
}
.small-box {
height: 30%;
background: #1c87c9;
}
.big-box {
height: 50%;
background: #8ebf42;
}
这是最终的结果。
创建两个内联块元素的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
.container {
border: 1px solid #666666;
width: 350px;
height: 150px;
}
.container span {
display: inline-block;
border: 1px solid #666666;
width: 40%;
}
.small-box {
height: 30%;
background: #1c87c9;
}
.big-box {
height: 50%;
background: #8ebf42;
}
</style>
</head>
<body>
<div class="container">
<span class="small-box"></span>
<span class="big-box"></span>
</div>
</body>
</html>
我们的问题是将“小盒子”与容器顶部对齐。
Vertical-align 属性的“top”值可以帮助我们解决这个问题。
vertical-align 属性定义了内联元素的垂直对齐方式。
“top”值将对齐的子树的顶部与行框的顶部对齐。
我们必须将 vertical-align 属性应用到“small-box”,才能让它从容器的顶部开始。
.small-box {
vertical-align: top;
}
所以,现在我们的问题只用一个 CSS 属性就解决了。
让我们看看完整的代码。
使用 vertical-align 属性将内联块元素与容器顶部对齐的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
.container {
border: 1px solid #666666;
width: 350px;
height: 150px;
}
.container span {
display: inline-block;
border: 1px solid #666666;
width: 40%;
}
.small-box {
height: 30%;
background: #1c87c9;
vertical-align: top;
}
.big-box {
height: 50%;
background: #8ebf42;
}
</style>
</head>
<body>
<div class="container">
<span class="small-box"></span>
<span class="big-box"></span>
</div>
</body>
</html>
让我们看另一个示例,其中一个 <span> 元素的高度大于其余 <li> 元素的高度。
这是发生错误的示例。
将内联块元素与容器顶部对齐并出现错误的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
#box-one {
background-color: #1c87c9;
}
#box-two {
background-color: #8ebf42;
}
#box-three {
background-color: #cccccc;
}
#box-four {
background-color: #666666;
}
.normal {
height: 100px;
width: 100px;
display: inline-block;
}
.big {
height: 200px;
width: 200px;
display: inline-block;
}
ul li {
display: inline-block;
}
</style>
</head>
<body>
<ul>
<li>
<span id="box-one" class="normal">Blue</span>
</li>
<li>
<span id="box-two" class="normal">Green</span>
</li>
<li>
<span id="box-three" class="normal">Grey</span>
</li>
<li>
<span id="box-four" class="big">
今天很残酷,明天很残酷,后天很美好。很多人死在了明天的夜里。
</span>
</li>
</ul>
</body>
</html>
我们只需要用 float 属性替换 display 属性。
将浮动属性设置为“左”。
因此,在我们的示例中,我们使用 float 属性,它在大多数情况下与元素的 clear 属性一起使用。
它指定哪些元素可以漂浮在清除元素旁边以及在哪一侧。
其中我们将clear设置为“both”,这意味着左右两边都不允许浮动元素。
使用 float 属性将内联块元素与容器顶部对齐的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
#box-one {
background-color: #1c87c9;
}
#box-two {
background-color: #8ebf42;
}
#box-three {
background-color: #cccccc;
}
#box-four {
background-color: #666666;
}
.normal {
height: 100px;
width: 100px;
display: inline-block;
}
.big {
height: 200px;
width: 200px;
display: inline-block;
}
ul {
clear: both;
content: "";
display: table;
}
ul li {
float: left;
list-style-type: none;
}
</style>
</head>
<body>
<ul>
<li>
<span id="box-one" class="normal">Blue</span>
</li>
<li>
<span id="box-two" class="normal">Green</span>
</li>
<li>
<span id="box-three" class="normal">Grey</span>
</li>
<li>
<span id="box-four" class="big">
今天很残酷,明天很残酷,后天很美好。很多人死在了明天的夜里。
</span>
</li>
</ul>
</body>
</html>
在以下示例中,我们使用 display 属性的“flex”值对齐内联块级元素,该值与 -Webkitextension 一起使用。
使用 display 属性的“flex”值将内联块元素与容器顶部对齐的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
div {
color: #ffffff;
display: flex;
display: -webkit-flex;
align-items: flex-start;
-webkit-align-items: flex-start;
}
#box-one {
background-color: #1c87c9;
}
#box-two {
background-color: #8ebf42;
}
#box-three {
background-color: #cccccc;
}
#box-four {
background-color: #666666;
}
.normal {
height: 100px;
width: 100px;
display: inline-block;
}
.big {
height: 200px;
width: 200px;
display: inline-block;
padding: 10px;
}
</style>
</head>
<body>
<div>
<span id="box-one" class="normal">Blue</span>
<strong id="box-two" class="normal">Green
<span id="box-three" class="normal">Grey</span>
<span id="box-four" class="big">
今天很残酷,明天很残酷,后天很美好。很多人死在了明天的夜里。
</span>
</div>
</body>
</html>
许多开发人员在对齐行内块元素方面存在问题。
问题是当一些内联块元素具有不同的高度时,为什么它们中较短的元素没有与容器的顶部对齐?
我们将在 CSS 属性的帮助下展示这个问题的解决方案。
让我们在下面讨论一个例子。
日期:2020-06-02 22:14:56 来源:oir作者:oir
