在路上
Lorem Ipsum 只是印刷和排版行业的虚拟文本。
底部内容分区
在以下示例中, <div> 的内容与右侧的底部对齐。
将内容对齐到右下角的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
.main {
border: 1px solid #4287f5;
float: left;
height: 180px;
width: 500px;
position: relative;
}
.column1 {
color: #4287f5;
text-align: center;
}
.column2 {
text-align: center;
}
#bottom {
position: absolute;
bottom: 0;
right: 0;
}
</style>
</head>
<body>
<div class="main">
<div class="column1">
<h2>onitroad</h2>
</div>
<div class="column2">
经历过风雨,才懂得阳光的温暖。
</div>
<div id="bottom">Bottom Content Div</div>
</div>
</body>
</html>
在我们的下一个示例中, <div> 的内容在中心与底部对齐。
我们将底部 <div> 的宽度设置为“100%”。
将内容与中心底部对齐的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
.main {
border: 1px solid #4287f5;
float: left;
height: 180px;
width: 500px;
position: relative;
text-align: center;
}
.column1 {
color: #4287f5;
}
#bottom {
position: absolute;
bottom: 0;
width: 100%;
color: #ffffff;
background-color: blue;
padding: 15px 0;
}
</style>
</head>
<body>
<div class="main">
<div class="column1">
<h2>onitroad</h2>
</div>
<div class="column2">
经历过风雨,才懂得阳光的温暖。
</div>
<div id="bottom">Bottom Content Div</div>
</div>
</body>
</html>
让我们看另一个例子,其中 <div> 的内容与 flexbox 中心对齐。
Flexbox 是一种单维布局,这意味着它一次将项目放置在一维中,可以是一行,也可以是列,但不能同时放置。
在以下示例中,我们将 flex-direction 属性与“column”值一起使用。
flex-direction 属性定义了 flex 容器的主轴并设置了 flex 项目出现的顺序。
当项目未水平使用所有可用空间时, justify-content 属性会对齐项目。
当项目的行之间有空格时,“space-between”值与 justify-content 属性一起使用。
justify-content 属性必须与设置为“flex”的显示属性一起使用。
要垂直对齐项目,请使用 align-items 属性。
使用 Flexbox 将内容底部对齐的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
main {
border: 1px solid blue;
height: 150px;
display: flex;/* defines flexbox */
flex-direction: column;/* top to bottom */
justify-content: space-between;/* first item at start, last at end */
}
h2 {
margin: 0;
}
</style>
</head>
<body>
<main>
<h2>Header title</h2> Some text aligns to the bottom
</main>
</body>
</html>
下面,我们可以看到另一个带有 CSS align-items 属性的示例。
它定义了弹性项目的默认对齐方式。
它就像 justify-content 属性,但是是垂直版本。
某些浏览器不支持 display: flex。
使用下面列出的前缀。
display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex;
我们必须使用带有 align-items 属性的 -Webkit- 和 -Moz- 扩展,以便所有浏览器都支持它。
使用 align-items 属性将内容对齐到底部的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
main {
border: 1px solid green;
background-color: green;
color: #ffffff;
padding: 20px;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 150px;
flex-direction: column;
}
h2 {
margin: 0;
}
p {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
height: 150px;
-webkit-box-align: end;
-webkit-align-items: flex-end;
-ms-flex-align: end;
align-items: flex-end;
margin: 0;
}
</style>
</head>
<body>
<main>
<h2>Header title</h2>
<p>Some text aligns to the bottom</p>
</main>
</body>
</html>
让我们再看一个带有 position 属性的例子。
在我们的第一个示例中,我们使用带有 HTML <main> 标记的“relative”值和 <div> 的“fixed”值的位置属性。
z-index 属性指定元素及其后代或者弹性项目的 z 顺序。
z-index 属性只对定位的元素有影响。
将内容与位置属性的“固定”值对齐到底部的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
* {
margin: 0;
padding: 0;
}
main {
position: relative;
}
div {
background-color: yellow;
height: 200px;
width: 100%;
position: fixed;
bottom: 0;
z-index: 1;
border-top: 2px solid gold;
}
</style>
</head>
<body>
<main>
<h2>This is the header</h2>
<div>有些文字底部对齐</div>
</main>
</body>
</html>
创建 HTML
- 创建一个带有“main”类的 <div>。它包括另外三个 <div> 元素。
- 在第一个 <div> 中放置一个 <h2> 标签,它的类名为“column1”,其中写入一些内容。
- 第二个 <div> 具有名称为“column2”的类。
- 第三个 <div> 有一个名为“bottom”的 id。
<body>
<div class="main">
<div class="column1">
<h2>onitroad</h2>
</div>
<div class="column2">
经历过风雨,才懂得阳光的温暖。
</div>
<div id="bottom">Bottom Content Div</div>
</div>
</body>
CSS 允许我们使用特殊技术将 <div> 元素的内容与底部对齐。
此外,我们可以将内容对齐到 <div> 的顶部、左侧或者右侧的底部。
我们将讨论所有可能的变体。
如果我们按照下面描述的步骤操作,这将非常容易。
让我们看一个例子,并尝试一起讨论代码的每个部分。
添加 CSS
- 使用边框、高度、宽度和位置属性来设置“主”类的样式。
float 属性定义元素应该放置在容器的哪一侧。 position 属性指定元素在文档中的位置。
- 为第一个 <div> 的文本设置颜色。
在本例中,我们为颜色使用“十六进制”值。
- 使用 text-align 属性对齐块元素的内部内容。
- 使用底部和左侧属性。
底部属性与位置属性一起指定元素的底部位置。 left 属性与 position 属性一起指定元素的左侧位置。
如果元素绝对定位(位置:绝对),则忽略 float 属性。
.main {
border: 1px solid #4287f5;
height: 180px;
width: 500px;
position: relative;
}
.column1 {
color: #4287f5;
text-align: center;
}
.column2 {
text-align: center;
}
#bottom {
position: absolute;
bottom: 0;
left: 0;
}
让我们把代码的各个部分放在一起,看看它是如何工作的!
将内容对齐到左下角的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
.main {
border: 1px solid #4287f5;
height: 180px;
width: 500px;
position: relative;
}
.column1 {
color: #4287f5;
text-align: center;
}
.column2 {
text-align: center;
}
#bottom {
position: absolute;
bottom: 0;
left: 0;
}
</style>
</head>
<body>
<div class="main">
<div class="column1">
<h2>onitroad</h2>
</div>
<div class="column2">
经历过风雨,才懂得阳光的温暖。
</div>
<div id="bottom">Bottom Content Div</div>
</div>
</body>
</html>
