# label与input对齐

2 min read
Table of Contents

在默认情况下,label 跟 input 是自适应的,经常会出现不对齐的情况。

默认情况

label 的长度不一致的时候,input 会出现不对齐的情况,显得页面杂乱无章。

<div>
<div>
<label>Label</label><input type="text" />
</div>
<div>
<label>Long Label</label><input type="text" />
</div>
</div>

利用inline-block

设置 label display: inline-block,固定宽度,文字向右对齐。 PS:这个方法会固定宽度。

<div>
<div class="align-inline-block"><label>Label</label><input type="text" /></div>
<div class="align-inline-block"><label>Long Label</label><input type="text" /></div>
</div>
<style>
.align-inline-block > label {
display: inline-block;
width: 140px;
text-align: right;
}
</style>

利用Flexbox

Flex 布局,label 和 input 可以灵活调整。以下是一个样例:

<div>
<div class="flex"><label>Label</label><input type="text" /></div>
<div class="flex"><label>Long Label</label><input type="text" /></div>
</div>
<style>
.flex {
display: flex;
}
.flex > label {
text-align: right;
flex-basis: 100px;
}
.flex > input {
flex-basis: 180px;
}
</style>

利用Grid

利用强大的 grid 布局。

<div>
<div class="grid"><label>Label</label><input type="text" /></div>
<div class="grid"><label>Long Label</label><input type="text" /></div>
</div>
<style>
.grid {
display: grid;
grid-template-columns: 120px 200px;
grid-gap: 5px;
}
.grid > label {
text-align: right;
}
</style>

参考链接


More Posts

# TSConfig参考

3 min read

TSConfig 文件位于项目的根目录下,TSConfig 文件可以是 tsconfig.json 或 jsconfig.json。

# JS迭代器

2 min read

迭代协议是 ES6 新增的,迭代协议不是内置的实现或者语法,而是一个协议。