我有这个框,它有三个内嵌块文本元素,左右文本正在工作,但中间的文本没有正确居中。 View here
div.row #banner {
padding-top: 0;
margin-bottom: 0.8em;
background-color: #FF9935;
border: 1px solid #ccc;
color: #000;
}
div.row #banner p {
margin-bottom: 0;
}
div.row #banner .shordy {
font-family: lato, serif;
font-size: 1.1em;
font-weight: 900;
margin-top: 0.5em;
line-height: 1.1em;
}
div.row #banner #hero {
font-family: lato, serif;
font-size: 1.3em;
font-weight: 900;
}
.inline-block {
display: inline-block;
}
#inline1 {
float: left;
}
#inline3 {
float: right;
}
.banner {
display: inline-block;
}

<body>
<div class="container-fluid text-center" id="banner">
<p class="text-left inline-block shordy" id="inline1">We're On Your Side...</p>
<span class="text-center" id="hero" style="text-align: center;">Welcome To Property Snagging Direct...</span>
<p class="inline-block text-right shordy" id="inline3"><i>Your Independent, Specialist Property Inspectors</i></p>
</div>
<!-- text-center -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</body>
&#13;
请展开结果框,以便了解我正在谈论的内容。
*它是&#34;欢迎物业窃取直接......&#34;没有居中*
答案 0 :(得分:0)
如果要将其内容居中,则需要将跨度设置为其父级的100%宽度。现在,跨度只是文本本身的宽度 - 因此它无法以实际父对象为中心。
只需添加类似
的内容span{
width:100%;
}
答案 1 :(得分:0)
您可能还想在英雄范围内添加内联块。
#hero {
display: inline-block;
}
.three {
width: 33.33%;
background-color: gray;
border: 1px solid #000;
在这里小提琴:https://jsfiddle.net/cagvhpe5/2/ 我只添加了背景颜色和边框,因此您可以在展开时看到宽度发生变化。不仅如此,您可能还想使用表格显示。
答案 2 :(得分:0)
它以两个浮动元素之间的自由空间为中心,你可以看到,如果你缩短了正确的文本。
https://jsfiddle.net/ovv1utt4/1/
要避免这种情况,您可以使用此CSS中心该元素:
#hero {
position: absolute;
left: 50%;
transform: translateX(-50%);
}
答案 3 :(得分:0)
您尝试设置为text-align
元素的<span class="text-center" id="hero">
属性仅适用于块元素(带有display: block
的元素),并影响其文本和inline-*
的内容。因此,您应该将其设置为此span
的父级(即<div id="banner">
),以使span
居中。
此外,您的inline-block
类对#inline
和#inline3
元素没有任何作用,因为它们是float
的元素,并且float
属性会覆盖{{ 1}}设置(使其有效display
,但有特殊的放置规则)。