Поскольку промежутки имеют разные значения, ваши .grade-input
деления становятся различной ширины, и это нарушает ваше выравнивание.
РЕДАКТИРОВАНИЕ, чтобы выровнять входы точно по центру:
Если вы сделаете интервалы position: absolute;
, тогда вы сможете просто выровнять входы.
Попробуйте ниже HTML:
<div className="grade-card">
<div className="grade-card-header">
<span className="title">{this.props.title}</span>
</div>
<div className="grade-card-body">
<div className="grade-input">
<span className="left-absolute">I</span>
<input type="text"/>
<span className="right-absolute oneX">1x</span>
</div>
<div className="grade-input">
<span className="left-absolute">I</span>
<input type="text"/>
<span className="right-absolute min">Min</span>
</div>
<div className="grade-input">
<span className="left-absolute">I</span>
<input type="text"/>
<span className="right-absolute oneX">1x</span>
</div>
<div className="grade-input">
<span className="left-absolute">I</span>
<input type="text"/>
</div>
<div className="grade-input">
<span className="left-absolute">I</span>
<input type="text"/>
</div>
<div className="grade-input">
<input type="text"/>
</div>
</div>
</div>
Добавьте ниже к вашему файлу css:
.grade-input {
position: relative;
}
.left-absolute {
position: absolute;
left: -7px;
top: 20px;
}
.right-absolute.oneX {
position: absolute;
right: -15px;
top: 20px;
}
.right-absolute.min {
position: absolute;
right: -27px;
top: 20px;
}