我的 div class:"title" 似乎没有居中,即使 div 是 margin:auto。我该如何解决?
My div class:"title" doesn't appear to be centered even though div is margin:auto. How do I fix this?
我将 div
设置为 margin:auto
,里面的 h1
应该居中,但事实并非如此。我不知道如何纠正它,我尝试了不同的方法,但其中 none 行得通。请帮忙。它似乎没有居中。
body {
background: #5D6D7E;
color: white;
font-family: "Varela Round", sans-serif;
margin: 0;
padding: 0;
}
header {
background: white;
color: #3498DB;
}
ul {
list-style-type: none;
}
li {
display: inline-block;
margin-right: 20px;
}
a {
color: #D7DBDD;
font-weight: bold;
}
a:hover {
color: white;
}
section {
display: flex;
flex-direction: row;
}
div {
width: 100px;
margin: auto;
}
.title {
/* Isn't centered */
font-size: 50px;
}
header,
section {
background: #2E86C1;
}
header,
section,
footer {
padding: 20px;
}
<section>
<div class="title">
Brainstorm
</div>
</section>
问题是您创建了规则 div { width: 100px; }
,它将有问题的元素限制为仅 100px
width
。您的元素确实居中,只是太大而无法适应 100 像素的限制。
删除此规则显示元素按预期居中:
body {
background: #5D6D7E;
color: white;
font-family: "Varela Round", sans-serif;
margin: 0;
padding: 0;
}
header {
background: white;
color: #3498DB;
}
ul {
list-style-type: none;
}
li {
display: inline-block;
margin-right: 20px;
}
a {
color: #D7DBDD;
font-weight: bold;
}
a:hover {
color: white;
}
section {
display: flex;
flex-direction: row;
}
div {
/*width: 100px;*/
margin: auto;
}
.title {
/* Doesn't appear to be center */
font-size: 50px;
}
header,
section {
background: #2E86C1;
}
header,
section,
footer {
padding: 20px;
}
<section>
<div class="title">
Brainstorm
</div>
</section>
如果您不想为所有 <div>
元素删除此规则(我建议这样做),您也可以简单地在 .title
.[=19 上设置 width: auto
=]
另请注意,您的问题中有一些无效的 HTML,以及 CSS 中的额外前导 }
- 我已在上面更正了这两个问题片段。
添加以下内容CSS。它应该工作
h1{
text-align:center;
}
这有效!
HTML
<section>
<div class="title">
Brainstorm
</div>
</section>
CSS
.title{
text-align:center;
}
目前每个答案都向您展示了如何在 div 中居中放置文本,但 none 指出您的标记中没有任何标题。
divs没有任何语义,如果你真的想要一个标题那么你也应该使用适当的标题标签:
<section>
<h1 class="title"> Brainstorm </h1>
</section>
CSS 与 div 相同:
.title {text-align: center}
我将 div
设置为 margin:auto
,里面的 h1
应该居中,但事实并非如此。我不知道如何纠正它,我尝试了不同的方法,但其中 none 行得通。请帮忙。它似乎没有居中。
body {
background: #5D6D7E;
color: white;
font-family: "Varela Round", sans-serif;
margin: 0;
padding: 0;
}
header {
background: white;
color: #3498DB;
}
ul {
list-style-type: none;
}
li {
display: inline-block;
margin-right: 20px;
}
a {
color: #D7DBDD;
font-weight: bold;
}
a:hover {
color: white;
}
section {
display: flex;
flex-direction: row;
}
div {
width: 100px;
margin: auto;
}
.title {
/* Isn't centered */
font-size: 50px;
}
header,
section {
background: #2E86C1;
}
header,
section,
footer {
padding: 20px;
}
<section>
<div class="title">
Brainstorm
</div>
</section>
问题是您创建了规则 div { width: 100px; }
,它将有问题的元素限制为仅 100px
width
。您的元素确实居中,只是太大而无法适应 100 像素的限制。
删除此规则显示元素按预期居中:
body {
background: #5D6D7E;
color: white;
font-family: "Varela Round", sans-serif;
margin: 0;
padding: 0;
}
header {
background: white;
color: #3498DB;
}
ul {
list-style-type: none;
}
li {
display: inline-block;
margin-right: 20px;
}
a {
color: #D7DBDD;
font-weight: bold;
}
a:hover {
color: white;
}
section {
display: flex;
flex-direction: row;
}
div {
/*width: 100px;*/
margin: auto;
}
.title {
/* Doesn't appear to be center */
font-size: 50px;
}
header,
section {
background: #2E86C1;
}
header,
section,
footer {
padding: 20px;
}
<section>
<div class="title">
Brainstorm
</div>
</section>
如果您不想为所有 <div>
元素删除此规则(我建议这样做),您也可以简单地在 .title
.[=19 上设置 width: auto
=]
另请注意,您的问题中有一些无效的 HTML,以及 CSS 中的额外前导 }
- 我已在上面更正了这两个问题片段。
添加以下内容CSS。它应该工作
h1{
text-align:center;
}
这有效!
HTML
<section>
<div class="title">
Brainstorm
</div>
</section>
CSS
.title{
text-align:center;
}
目前每个答案都向您展示了如何在 div 中居中放置文本,但 none 指出您的标记中没有任何标题。
divs没有任何语义,如果你真的想要一个标题那么你也应该使用适当的标题标签:
<section>
<h1 class="title"> Brainstorm </h1>
</section>
CSS 与 div 相同:
.title {text-align: center}