如何以固定宽度将 div 中的文本居中?
How do I center text in div with fixed width?
我正在尝试将具有设置宽度的 div 中的文本居中。如果我不这样做,我不会设置文本中心的宽度。我需要设置宽度,因为它会影响较大容器的大小,我希望容器大小相同。
我试过在上面放一个包装纸并将左右边距设置为自动。我已经直接在上面试过了。我试过 text-align: center on it and on a wrapper.
HTML
<div class = "br2 flex flex-row flex-wrap">
<div class="u-all-out">
<a class = " flex br5 bg-yellow shadow-1 center flex-col hover-bblue grow hover-ul u-all-in" href="">
<div class = "flex">
<img class="xbig-icon br5 mb2" id = "train_img_1">
</div>
<h4 class =" dark-gray items-center hover-bblue w-train-desc" id = "train_title_1"> Here is something</h4>
<h6 class ="flex bright-blue items-center hover-bblue rm-mb rm-mt italic hover-ul">Start here</h6>
</a>
</div>
<div class="u-all-out">
<a class = " flex br5 bg-yellow shadow-1 center flex-col hover-bblue grow hover-ul u-all-in" href="">
<div class = "flex">
<img class="xbig-icon br5 mb2" id = "train_img_2">
</div>
<h4 class ="dark-gray items-center hover-bblue w-train-desc" id = "train_title_2"> Here is another</h4>
<h6 class ="flex bright-blue items-center hover-bblue rm-mb rm-mt italic hover-ul">Start here</h6>
</a>
</div>
</div>
CSS
.bg-yellow {
background-color: yellow;
}
.u-all-in {
padding: 4rem;
}
.u-all-out {
padding: 3%
}
.flex {
display: flex;
}
.flex-col {
flex-direction: column;
}
.flex-row {
flex-direction: row;
}
.flex-wrap {
flex-wrap: wrap;
}
.items-center {
align-items: center;
}
.grow {
transition: all .8s ease;
}
.br5 {
border-radius: .5em;
}
.br2 {
border-radius: .2em;
}
.xbig-icon {
width: 10rem;
height: 10rem;
}
.center {
justify-content: center;
align-items: center;
}
.dark-gray, h1, h2, h3 {
color: #383A42;/*#2B2C34;*/
}
.bright-blue {
color: #1ABFD8;
}
.hover-ul:hover > .hover-ul {
border-bottom: 1px solid;
}
.hover-bblue:hover > .hover-bblue {
color: #1ABFD8;
}
.w-train-desc {
margin-right: auto;
margin-left: auto;
width: 220px;
display: inline-block;
}
由于悬停效果的编码方式,我宁愿不需要包装器。但这让我发疯。我想要的只是设置 div/h4 的宽度并将文本居中 div/h4.
提前致谢!
这是你想要的吗?
.bg-yellow {
background-color: yellow;
}
.u-all-in {
padding: 4rem;
}
.u-all-out {
padding: 3%
}
.flex {
display: flex;
}
.flex-col {
flex-direction: column;
}
.flex-row {
flex-direction: row;
}
.flex-wrap {
flex-wrap: wrap;
}
.items-center {
align-items: center;
}
.grow {
transition: all .8s ease;
}
.br5 {
border-radius: .5em;
}
.br2 {
border-radius: .2em;
}
.xbig-icon {
width: 10rem;
height: 10rem;
}
.center {
justify-content: center;
align-items: center;
}
.dark-gray,
h1,
h2,
h3 {
color: #383A42;
/*#2B2C34;*/
}
.bright-blue {
color: #1ABFD8;
}
.hover-ul:hover>.hover-ul {
border-bottom: 1px solid;
}
.hover-bblue:hover>.hover-bblue {
color: #1ABFD8;
}
.w-train-desc {
margin-right: auto;
margin-left: auto;
width: 220px;
display: inline-block;
}
#train_title_1, #train_title_2 {
text-align: center;
}
<div class="br2 flex flex-row flex-wrap">
<div class="u-all-out">
<a class=" flex br5 bg-yellow shadow-1 center flex-col hover-bblue grow hover-ul u-all-in" href="">
<div class="flex">
<img class="xbig-icon br5 mb2" id="train_img_1">
</div>
<h4 class=" dark-gray items-center hover-bblue w-train-desc" id="train_title_1"> Here is something</h4>
<h6 class="flex bright-blue items-center hover-bblue rm-mb rm-mt italic hover-ul">Start here</h6>
</a>
</div>
<div class="u-all-out">
<a class=" flex br5 bg-yellow shadow-1 center flex-col hover-bblue grow hover-ul u-all-in" href="">
<div class="flex">
<img class="xbig-icon br5 mb2" id="train_img_2">
</div>
<h4 class="dark-gray items-center hover-bblue w-train-desc" id="train_title_2"> Here is another</h4>
<h6 class="flex bright-blue items-center hover-bblue rm-mb rm-mt italic hover-ul">Start here</h6>
</a>
</div>
</div>
text-align: center; 到 .w-train-desc class 完成了工作...或者我没听懂你的意思?
我错过了什么吗? - 当我将文本居中对齐时,它起作用了。
.w-train-desc {
width: 220px;
text-align:center;
}
我在 codepen 中似乎没有 运行 按钮,但如果我检查它,它可以工作
我正在尝试将具有设置宽度的 div 中的文本居中。如果我不这样做,我不会设置文本中心的宽度。我需要设置宽度,因为它会影响较大容器的大小,我希望容器大小相同。
我试过在上面放一个包装纸并将左右边距设置为自动。我已经直接在上面试过了。我试过 text-align: center on it and on a wrapper.
HTML
<div class = "br2 flex flex-row flex-wrap">
<div class="u-all-out">
<a class = " flex br5 bg-yellow shadow-1 center flex-col hover-bblue grow hover-ul u-all-in" href="">
<div class = "flex">
<img class="xbig-icon br5 mb2" id = "train_img_1">
</div>
<h4 class =" dark-gray items-center hover-bblue w-train-desc" id = "train_title_1"> Here is something</h4>
<h6 class ="flex bright-blue items-center hover-bblue rm-mb rm-mt italic hover-ul">Start here</h6>
</a>
</div>
<div class="u-all-out">
<a class = " flex br5 bg-yellow shadow-1 center flex-col hover-bblue grow hover-ul u-all-in" href="">
<div class = "flex">
<img class="xbig-icon br5 mb2" id = "train_img_2">
</div>
<h4 class ="dark-gray items-center hover-bblue w-train-desc" id = "train_title_2"> Here is another</h4>
<h6 class ="flex bright-blue items-center hover-bblue rm-mb rm-mt italic hover-ul">Start here</h6>
</a>
</div>
</div>
CSS
.bg-yellow {
background-color: yellow;
}
.u-all-in {
padding: 4rem;
}
.u-all-out {
padding: 3%
}
.flex {
display: flex;
}
.flex-col {
flex-direction: column;
}
.flex-row {
flex-direction: row;
}
.flex-wrap {
flex-wrap: wrap;
}
.items-center {
align-items: center;
}
.grow {
transition: all .8s ease;
}
.br5 {
border-radius: .5em;
}
.br2 {
border-radius: .2em;
}
.xbig-icon {
width: 10rem;
height: 10rem;
}
.center {
justify-content: center;
align-items: center;
}
.dark-gray, h1, h2, h3 {
color: #383A42;/*#2B2C34;*/
}
.bright-blue {
color: #1ABFD8;
}
.hover-ul:hover > .hover-ul {
border-bottom: 1px solid;
}
.hover-bblue:hover > .hover-bblue {
color: #1ABFD8;
}
.w-train-desc {
margin-right: auto;
margin-left: auto;
width: 220px;
display: inline-block;
}
由于悬停效果的编码方式,我宁愿不需要包装器。但这让我发疯。我想要的只是设置 div/h4 的宽度并将文本居中 div/h4.
提前致谢!
这是你想要的吗?
.bg-yellow {
background-color: yellow;
}
.u-all-in {
padding: 4rem;
}
.u-all-out {
padding: 3%
}
.flex {
display: flex;
}
.flex-col {
flex-direction: column;
}
.flex-row {
flex-direction: row;
}
.flex-wrap {
flex-wrap: wrap;
}
.items-center {
align-items: center;
}
.grow {
transition: all .8s ease;
}
.br5 {
border-radius: .5em;
}
.br2 {
border-radius: .2em;
}
.xbig-icon {
width: 10rem;
height: 10rem;
}
.center {
justify-content: center;
align-items: center;
}
.dark-gray,
h1,
h2,
h3 {
color: #383A42;
/*#2B2C34;*/
}
.bright-blue {
color: #1ABFD8;
}
.hover-ul:hover>.hover-ul {
border-bottom: 1px solid;
}
.hover-bblue:hover>.hover-bblue {
color: #1ABFD8;
}
.w-train-desc {
margin-right: auto;
margin-left: auto;
width: 220px;
display: inline-block;
}
#train_title_1, #train_title_2 {
text-align: center;
}
<div class="br2 flex flex-row flex-wrap">
<div class="u-all-out">
<a class=" flex br5 bg-yellow shadow-1 center flex-col hover-bblue grow hover-ul u-all-in" href="">
<div class="flex">
<img class="xbig-icon br5 mb2" id="train_img_1">
</div>
<h4 class=" dark-gray items-center hover-bblue w-train-desc" id="train_title_1"> Here is something</h4>
<h6 class="flex bright-blue items-center hover-bblue rm-mb rm-mt italic hover-ul">Start here</h6>
</a>
</div>
<div class="u-all-out">
<a class=" flex br5 bg-yellow shadow-1 center flex-col hover-bblue grow hover-ul u-all-in" href="">
<div class="flex">
<img class="xbig-icon br5 mb2" id="train_img_2">
</div>
<h4 class="dark-gray items-center hover-bblue w-train-desc" id="train_title_2"> Here is another</h4>
<h6 class="flex bright-blue items-center hover-bblue rm-mb rm-mt italic hover-ul">Start here</h6>
</a>
</div>
</div>
text-align: center; 到 .w-train-desc class 完成了工作...或者我没听懂你的意思?
我错过了什么吗? - 当我将文本居中对齐时,它起作用了。
.w-train-desc {
width: 220px;
text-align:center;
}
我在 codepen 中似乎没有 运行 按钮,但如果我检查它,它可以工作