我有一个HTML标记,我使用伪:before
选择器在每个h1
元素之前注入文本Chapter。我还使用了display:block
属性,以便标签Chapter显示在单独的一行上。但是,当我尝试应用text-indent
样式时,只有通过:before
选择器插入的内容是缩进的。CCD_ 6元素的内容不随文本"0"一起移动;第章">
这是我原始HTML的简化版本
.chapter{
background-color:grey;
height:100px;
width:200px;
text-indent:50px;
}
.chapter:before{
content:"Chapter 1";
display:block;
}
.l2{
background-color:red;
height:100px;
width:200px;
}
.l3{
background-color:orange;
height:100px;
width:200px;
clear:both;
}
.container{
margin:0.3in;
clear:both;
}
<div class="container">
<div class="chapter">
Getting Started
</div>
<div class="l2">
Level 2
</div>
<div class="l3">
Level 3
</div>
</div>
实际结果
只有标签";章节";缩进。
预期结果
h1内容入门应与标签章节一起缩进。
以下是其他提供的答案的替代方案,可能有助于解决评论中提到的一些问题。。。
- 将章节标题("入门"(放入自己的块中
- 将
Chapter 1
前缀附加到.chapter .heading:before
,而不是包含块 - 使用章节标题栏上的
position: relative
,并将其沿所需的任何方向移动。例如:CCD_ 10
.chapter {
background-color: grey;
height: 100px;
width: 200px;
}
.chapter .heading {
position: relative;
left: 50px;
}
.chapter .heading:before {
content: "Chapter 1";
display: block;
}
.l2 {
background-color: red;
height: 100px;
width: 200px;
}
.l3 {
background-color: orange;
height: 100px;
width: 200px;
clear: both;
}
.container {
margin: 0.3in;
clear: both;
}
<div class="container">
<div class="chapter">
<div class="heading">Getting Started</div>
</div>
<div class="l2">
Level 2
</div>
<div class="l3">
Level 3
</div>
</div>
您不能将text-indent
用于您的pseudo,因为它只用于一个文本,而不用于从pseudo和h1
合并而来的文本。因此,为了解决这个问题,您可以在h1
之前留出一个空间来放置Chapter
文本。希望这能帮助
.chapter{
background-color:grey;
height:100px;
width:400px;
text-indent: 50px;
}
.chapter:before{
content:"Chapter 1";
display:block;
}
.l2{
background-color:red;
height:100px;
width:400px;
}
.l3{
background-color:orange;
height:100px;
width:400px;
clear:both;
}
.container{
margin:0.3in;
clear:both;
}
<div class="container">
<div class="chapter">
<h1>Getting Started</h1>
</div>
<div class="l2">
Level 2
</div>
<div class="l3">
Level 3
</div>
</div>