在行中定位表单元素及其标签

Positioning form elements and their labels in row

如何在不使用 table 的情况下使用标签定位输入表单元素?标签应在输入元素上方居中,行中的块应在外部块中居中。

+----------------------------------------------+
|       label1       label2       label3       |
|    [..........] [..........] [..........]    |
+----------------------------------------------+

同一行中可以有 1、2、3 个或更多元素。

我试过这个:

    .outer{text-align:center;}
    .inner{float:left;}
    <form>
      <div class="outer">
        <div class="inner">
          <label for="l1">label1</label><br><input id="l1" name="label1">
        </div>
        <div class="inner">
          <label for="l2">label2</label><br><input id="l2" name="label2">
        </div>
        <div class="inner">
          <label for="l3">label3</label><br><input id="l3" name="label3">
        </div>
      </div>
    </form>  

将它们放在同一个 div 中,并将文本居中 div:

.wrapper {
  text-align:center;
}

.wrapper * {
  text-align:left;
}

.okay {
  display:inline-block;
}

.okay p {
  text-align:center;
}
<div class="wrapper">
 <div class="okay">
  <p>text</p>
  <input type='text'>
 </div>
 <div class="okay">
  <p>text</p>
  <input type='text'>
 </div>
 <div class="okay">
  <p>text</p>
  <input type='text'>
 </div>
</div>

它也可以通过 bootstrap 框架也..这使得响应

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    <style>

    </style>
</head>
<body>
    <form>
    <div class="col-md-4 text-center">
          <div class="form-group">
            <label for="label1">label</label>
            <input type="text" class="form-control" id="label1" placeholder="labeltext">
        </div>
    </div>
    <div class="col-md-4 text-center">
        <div class="form-group">
            <label for="label2">label</label>
            <input type="text" class="form-control" id="label2" placeholder="labeltext">
        </div>
    </div>
    <div class="col-md-4 text-center">
        <div class="form-group">
            <label for="label2">label</label>
            <input type="password" class="form-control" id="label2" placeholder="labeltext">
        </div>
    </div>
</form>
</body>
</html>