将两个并排 divs 与每个 div 的中心的可变长度 link 对齐
Align two side by side divs with a variable-length link in the center of each div
我试图并排放置两个 div(红色框),每个红色框内应该有一个边框 link。
一个 link 在两行,而第二个 link 在一行。
link 应该位于每个框的中心(水平和垂直),并且两个框也应该完全对齐。
我的代码如下。我必须将 link 设置为 "display: table-cell;" 以保持两个框对齐。如果您有其他解决方案,我在听^^。
* {
margin: 0;
padding: 0;
}
#marketing-button, #prints-button {
background-color: red;
text-align: center;
width: 10em;
height: 10em;
display: inline-block;
}
#marketing-link, #prints-link {
color: white;
vertical-align: middle;
display: table-cell;
float: none;
font-size: 1em;
border: yellow solid 2px;
text-align: center;
margin-left: auto;
margin-right: auto;
padding: .2em;
}
<body>
<div id="container">
<div id="marketing-button">
<a id="marketing-link" href="#">Digital <br />marketing</a>
</div>
<div id="prints-button">
<a id="prints-link" href="#">Prints</a>
</div>
</div>
</body>
谢谢大家!
好的,我找到了解决方案。
每个 link 都应设置为显示为行内块,并且应包含在显示为 table 单元格的 div 中。
这允许 link 垂直居中。
table 单元格本身应包含在显示为行内块的 div 中。这允许红色框对齐并在它们之间有一个 space。
这是最终代码:
* {
margin: 0;
padding: 0;
}
.container {
display: inline-block;
}
#marketing-button, #prints-button {
background-color: red;
text-align: center;
width: 10em;
height: 10em;
display: table-cell;
vertical-align: middle;
margin-right: 20px;
}
#marketing-link, #prints-link {
color: white;
display: inline-block;
float: none;
font-size: 1em;
border: yellow solid 2px;
text-align: center;
padding: .2em;
}
<body>
<div class="container">
<div id="marketing-button">
<a id="marketing-link" href="#">Digital <br />marketing</a>
</div>
</div>
<div class="container">
<div id="prints-button">
<a id="prints-link" href="#">Prints</a>
</div>
</div>
</body>
我试图并排放置两个 div(红色框),每个红色框内应该有一个边框 link。 一个 link 在两行,而第二个 link 在一行。 link 应该位于每个框的中心(水平和垂直),并且两个框也应该完全对齐。
我的代码如下。我必须将 link 设置为 "display: table-cell;" 以保持两个框对齐。如果您有其他解决方案,我在听^^。
* {
margin: 0;
padding: 0;
}
#marketing-button, #prints-button {
background-color: red;
text-align: center;
width: 10em;
height: 10em;
display: inline-block;
}
#marketing-link, #prints-link {
color: white;
vertical-align: middle;
display: table-cell;
float: none;
font-size: 1em;
border: yellow solid 2px;
text-align: center;
margin-left: auto;
margin-right: auto;
padding: .2em;
}
<body>
<div id="container">
<div id="marketing-button">
<a id="marketing-link" href="#">Digital <br />marketing</a>
</div>
<div id="prints-button">
<a id="prints-link" href="#">Prints</a>
</div>
</div>
</body>
谢谢大家!
好的,我找到了解决方案。 每个 link 都应设置为显示为行内块,并且应包含在显示为 table 单元格的 div 中。 这允许 link 垂直居中。
table 单元格本身应包含在显示为行内块的 div 中。这允许红色框对齐并在它们之间有一个 space。
这是最终代码:
* {
margin: 0;
padding: 0;
}
.container {
display: inline-block;
}
#marketing-button, #prints-button {
background-color: red;
text-align: center;
width: 10em;
height: 10em;
display: table-cell;
vertical-align: middle;
margin-right: 20px;
}
#marketing-link, #prints-link {
color: white;
display: inline-block;
float: none;
font-size: 1em;
border: yellow solid 2px;
text-align: center;
padding: .2em;
}
<body>
<div class="container">
<div id="marketing-button">
<a id="marketing-link" href="#">Digital <br />marketing</a>
</div>
</div>
<div class="container">
<div id="prints-button">
<a id="prints-link" href="#">Prints</a>
</div>
</div>
</body>