如何将分组输入与对齐形式相结合?

时间:2016-06-08 13:45:46

标签: html css forms yui-pure-css

来自Pure CSS我希望合并aligned forms



<link href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/forms-min.css" rel="stylesheet" />
<form class="pure-form pure-form-aligned">
  <fieldset>
    <div class="pure-control-group">
      <label for="name">Username</label>
      <input id="name" type="text" placeholder="Username">
    </div>

    <div class="pure-control-group">
      <label for="password">Password</label>
      <input id="password" type="password" placeholder="Password">
    </div>

    <div class="pure-control-group">
      <label for="email">Email</label>
      <input id="email" type="email" placeholder="Email">
    </div>
  </fieldset>
</form>
&#13;
&#13;
&#13;

grouped inputs

&#13;
&#13;
<link href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/forms-min.css" rel="stylesheet" />
<form class="pure-form">
  <fieldset class="pure-group">
    <input type="text" placeholder="Username">
    <input type="text" placeholder="Password">
    <input type="email" placeholder="Email">
  </fieldset>
</form>
&#13;
&#13;
&#13;

使输入堆叠,同时仍然允许水平对齐的标签放在左侧。我怎样才能达到这个效果?

2 个答案:

答案 0 :(得分:2)

我通过将分组的输入样式应用于修改后的对齐表单布局来找到解决方案:

<link href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/forms-min.css" rel="stylesheet" />
<form class="pure-form pure-form-aligned">
  <fieldset class="pure-group">
    <div class="pure-control-group">
      <label for="name">Username</label>
      <input id="name" type="text" placeholder="Username">
    </div>

    <div class="pure-control-group">
      <label for="password">Password</label>
      <input id="password" type="password" placeholder="Password">
    </div>

    <div class="pure-control-group">
      <label for="email">Email</label>
      <input id="email" type="email" placeholder="Email">
    </div>
  </fieldset>
</form>
 "impairments":[  
  {  
     "type":"SUCKOUT",
     "lowBin":132000000,
     "highBin":210000000,
     "severity":57
  }

答案 1 :(得分:1)

您可以将<label>包裹在div中,并将该div放在<fieldset>的左侧。像这样: -

div.labels{
  display : inline-block;
  height : 100px;
}
div.labels div{
  display : flex;
  align-items : center;
  justify-content : right;
  height : 33.33%;
}
fieldset.pure-group{
  height : 100px;
  display : inline-block;
}
fieldset.pure-group input{
  height : 33.33%;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/pure/0.6.0/forms-min.css" rel="stylesheet" />
<form class="pure-form">
  <div class="labels">
    <div>
      <label>Name</label>
    </div>
    <div>
      <label>Password</label>
    </div>
    <div>
      <label>Email</label>
    </div>
  </div>
  <fieldset class="pure-group">
    <input type="text" id="name" placeholder="Username">
    <input type="text" placeholder="Password">
    <input type="email" placeholder="Email">
  </fieldset>
</form>