【发布时间】:2019-04-02 04:01:08
【问题描述】:
如下所示,我有三个盒子。您可以看到框 1 和框 3 中一切正常,但框 2 中的文本内容重叠。
这是因为类 .vertical_center.grade_info 的 <div> 具有仅适用于 100px 的 margin-left 选项。我不想要这些十字路口。
如何单独更改所有框的margin-left 以避免此问题?
到目前为止,这是我的代码:
.three_separation {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 60px;
}
.grades_dashboard_box {
height: 130px;
width: 320px;
background-color: #0d0d0d;
color: #ffffff;
margin: 0 auto;
position: relative;
}
.grade_display {
float: left;
font-size: 60px;
}
.vertical_center {
margin: 0;
position: absolute;
top: 50%;
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
<div class="three_separation">
<div class='grades_dashboard_box'>
<div class="vertical_center">
<h1 class="grade_display" id="grade_display_best">2.3</h1>
<div class="vertical_center grade_info" style="margin-left: 100px;">
<p style="font-size: 15px;">Beste Durchschnittsnote</p>
<p id="grade_display_best_sub" style="font-size: 20px;">Biologie</p>
</div>
</div>
</div>
<div class='grades_dashboard_box'>
<div class="vertical_center">
<h1 class="grade_display" id="grade_display_average">13.70</h1>
<div class="vertical_center grade_info" style="margin-left: 100px;">
<p style="font-size: 15px;">Durchschnittsnote</p>
</div>
</div>
</div>
<div class='grades_dashboard_box'>
<div class="vertical_center">
<h1 class="grade_display" id="grade_display_worst">3.4</h1>
<div class="vertical_center grade_info" style="margin-left: 100px;">
<p style="font-size: 15px;">Schlechteste Durchschnittsnote</p>
<p id="grade_display_worst_sub" style="font-size: 20px;">Deutsch</p>
</div>
</div>
</div>
</div>
【问题讨论】:
-
也许您正在寻找
box-sizing: border-box? -
@Ivan Rubinson 如何在我的示例中使用它?只需将
box-sizing: border-box添加到vertical_center grade_info?? -
阅读一下
box-sizing: border-box的作用,并将其应用到您认为相关的地方。您描述了margins 的一个问题,box-sizing: border-box来解决这个问题。
标签: html css user-interface