【发布时间】:2017-04-28 08:20:47
【问题描述】:
我在表格中显示了许多带有页脚文本的圆圈。在所有浏览器上,圆形图像的大小相同,IE11 和边缘除外。
这是我目前拥有的(对于大型 css 转储感到抱歉 - 我真的不知道是什么导致了问题):
.circle-container {
display: table;
}
.circle {
display: table-cell;
table-layout: fixed;
padding: 40px 20px;
vertical-align: top;
-webkit-transform: translateZ(0);
transform: translateZ(0);
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-moz-osx-font-smoothing: grayscale;
cursor: pointer;
}
.circle>p {
display: block;
width: 100%;
text-align: center;
margin: 40px 0 0;
}
.circle>div {
position: relative;
}
.circle>div:before {
content: '';
position: absolute;
border: #54314E solid 4px;
top: 0;
right: 0;
bottom: 0;
left: 0;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-property: top, right, bottom, left;
transition-property: top, right, bottom, left;
border-radius: 50%;
z-index: 1;
}
.circle>div>img {
border-radius: 50%;
width: 100%;
height: auto;
}
.circle:hover>div:before,
.circle:focus>div:before,
.circle:active>div:before,
.circle.active>div:before {
top: -15px;
right: -15px;
bottom: -15px;
left: -15px;
}
<div class="circle-container">
<div class="circle">
<div>
<img src="http://placehold.it/350x350">
</div>
<p><b>Corporate & <br>Institutional <br>Banking</b></p>
</div>
<div class="circle">
<div>
<img src="http://placehold.it/350x350">
</div>
<p><b>Global <br>Transactional <br>Solutions & <br>Client Experience</b></p>
</div>
<div class="circle">
<div>
<img src="http://placehold.it/350x350">
</div>
<p><b>Financial Markets</b></p>
</div>
<div class="circle">
<div>
<img src="http://placehold.it/350x350">
</div>
<p><b>International</b></p>
</div>
</div>
我注意到,当我删除圆圈下的文字时,问题并不明显:
.circle-container {
display: table;
}
.circle {
display: table-cell;
table-layout: fixed;
padding: 40px 20px;
vertical-align: top;
-webkit-transform: translateZ(0);
transform: translateZ(0);
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-moz-osx-font-smoothing: grayscale;
cursor: pointer;
}
.circle>p {
display: block;
width: 100%;
text-align: center;
margin: 40px 0 0;
}
.circle>div {
position: relative;
}
.circle>div:before {
content: '';
position: absolute;
border: #54314E solid 4px;
top: 0;
right: 0;
bottom: 0;
left: 0;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-property: top, right, bottom, left;
transition-property: top, right, bottom, left;
border-radius: 50%;
z-index: 1;
}
.circle>div>img {
border-radius: 50%;
width: 100%;
height: auto;
}
.circle:hover>div:before,
.circle:focus>div:before,
.circle:active>div:before,
.circle.active>div:before {
top: -15px;
right: -15px;
bottom: -15px;
left: -15px;
}
<div class="circle-container">
<div class="circle">
<div>
<img src="http://placehold.it/350x350">
</div>
</div>
<div class="circle">
<div>
<img src="http://placehold.it/350x350">
</div>
</div>
<div class="circle">
<div>
<img src="http://placehold.it/350x350">
</div>
</div>
<div class="circle">
<div>
<img src="http://placehold.it/350x350">
</div>
</div>
</div>
我需要保留当前的功能和布局。
注意:我确实不知道生成这个时会有多少个带文字的圆圈,但是p.length == .circle.length。这就是为什么我首先选择使用table-cell,因为我认为它可以减轻在“运行时”手动设置宽度。
【问题讨论】:
标签: html css internet-explorer internet-explorer-11