垂直居中对齐
Vertical middle alignment
#page-header {
display: table;
font-size: 26px;
margin-bottom: 30px;
}
#page-header div {
display: table-cell;
vertical-align: middle;
}
.fontHelvetica {
font-family: "Trebuchet MS",Helvetica,sans-serif;
}
<div id="page-header">
<div class="fontHelvetica">Social<span class="fontLightMaroon">Network</span></div>
<div><input type="submit" value="Upload" name="upload"></div>
</div>
我想将中间的按钮与文本对齐 "SocialNetwork"。字体大小可能会改变,因此按钮应该居中对齐。
我正在使用上面的代码。
删除 input
按钮的 div
包装,并为 input
赋予如下样式。无论 font-size
.
是什么,按钮都将保持与中间垂直对齐
#page-header {
display: table;
font-size: 26px;
margin-bottom: 30px;
}
#page-header div {
display: table-cell;
vertical-align: middle;
}
#page-header input {
vertical-align: middle;
display: table-cell;
margin: -5px 0 0 5px;
}
.fontHelvetica {
font-family: "Trebuchet MS", Helvetica, sans-serif;
}
<div id="page-header">
<div class="fontHelvetica">Social<span class="fontLightMaroon">Network</span></div>
<input type="submit" value="Upload" name="upload" />
</div>
示例不同 font-size
:
#page-header {
display: table;
font-size: 36px;
margin-bottom: 30px;
}
#page-header div {
display: table-cell;
vertical-align: middle;
}
#page-header input {
vertical-align: middle;
display: table-cell;
margin: -5px 0 0 5px;
}
.fontHelvetica {
font-family: "Trebuchet MS", Helvetica, sans-serif;
}
<div id="page-header">
<div class="fontHelvetica">Social<span class="fontLightMaroon">Network</span>
</div>
<input type="submit" value="Upload" name="upload" />
</div>
问题在于显示:table-cell,它不允许在第一个 div.
之后换行
我在这里创建了一个 fiddle 来打破这条线,使按钮被视为 "text" 块(显示:内联块),并将其与
居中对齐
text-align: center;
我有插入 css 属性 display:inline-block;font-size:2em;在 fontHelvetica class
#page-header {
display: table;
font-size: 26px;
margin-bottom: 30px;
}
#page-header div {
display: inline-block;
vertical-align: middle;
}
.fontHelvetica {
font-family: "Trebuchet MS",Helvetica,sans-serif;
display:inline-block;
font-size:2em;
}
<div id="page-header">
<div class="fontHelvetica">Social<span class="fontLightMaroon">Network</span></div>
<input type="submit" value="Upload" name="upload" />
</div>
问题是 <input>
没有正确接收继承字体 size/line 高度,这取决于浏览器和 OS。您可以做的是仅在 "SocialNetwork" 上设置大字体,即
#page-header {font-size: 26px;} /*remove this*/
.fontHelvetica {font-size:26px;} /*add this*/
#page-header {
display: table;
font-size: 26px;
margin-bottom: 30px;
}
#page-header div {
display: table-cell;
vertical-align: middle;
}
.fontHelvetica {
font-family: "Trebuchet MS",Helvetica,sans-serif;
}
<div id="page-header">
<div class="fontHelvetica">Social<span class="fontLightMaroon">Network</span></div>
<div><input type="submit" value="Upload" name="upload"></div>
</div>
我想将中间的按钮与文本对齐 "SocialNetwork"。字体大小可能会改变,因此按钮应该居中对齐。 我正在使用上面的代码。
删除 input
按钮的 div
包装,并为 input
赋予如下样式。无论 font-size
.
#page-header {
display: table;
font-size: 26px;
margin-bottom: 30px;
}
#page-header div {
display: table-cell;
vertical-align: middle;
}
#page-header input {
vertical-align: middle;
display: table-cell;
margin: -5px 0 0 5px;
}
.fontHelvetica {
font-family: "Trebuchet MS", Helvetica, sans-serif;
}
<div id="page-header">
<div class="fontHelvetica">Social<span class="fontLightMaroon">Network</span></div>
<input type="submit" value="Upload" name="upload" />
</div>
示例不同 font-size
:
#page-header {
display: table;
font-size: 36px;
margin-bottom: 30px;
}
#page-header div {
display: table-cell;
vertical-align: middle;
}
#page-header input {
vertical-align: middle;
display: table-cell;
margin: -5px 0 0 5px;
}
.fontHelvetica {
font-family: "Trebuchet MS", Helvetica, sans-serif;
}
<div id="page-header">
<div class="fontHelvetica">Social<span class="fontLightMaroon">Network</span>
</div>
<input type="submit" value="Upload" name="upload" />
</div>
问题在于显示:table-cell,它不允许在第一个 div.
之后换行我在这里创建了一个 fiddle 来打破这条线,使按钮被视为 "text" 块(显示:内联块),并将其与
居中对齐text-align: center;
我有插入 css 属性 display:inline-block;font-size:2em;在 fontHelvetica class
#page-header {
display: table;
font-size: 26px;
margin-bottom: 30px;
}
#page-header div {
display: inline-block;
vertical-align: middle;
}
.fontHelvetica {
font-family: "Trebuchet MS",Helvetica,sans-serif;
display:inline-block;
font-size:2em;
}
<div id="page-header">
<div class="fontHelvetica">Social<span class="fontLightMaroon">Network</span></div>
<input type="submit" value="Upload" name="upload" />
</div>
问题是 <input>
没有正确接收继承字体 size/line 高度,这取决于浏览器和 OS。您可以做的是仅在 "SocialNetwork" 上设置大字体,即
#page-header {font-size: 26px;} /*remove this*/
.fontHelvetica {font-size:26px;} /*add this*/