0

私は現在ウェブサイトを作成しており、サインアップ ページでは以下が必要です: -

- 姓
- ユーザー名
- 電子メール
- パスワード
- パスワードの再入力
幅の約2倍。このような:

 Name
+-----------+    +-----------+
| first     |    | last      |
+-----------+    +-----------+

 Email
+----------------------------+
|                            |
+----------------------------+

私は使用に非常に反対しており、幅にはpx絶対に使用する必要があります。2 つの小さな入力の間のスペースが考慮されてい ないため、小さな入力と大きな入力を作成できません。 私はこの空間について話している:%
50%100%

 Name
+-----------+    +-----------+
| first     |<-->| last      |
+-----------+    +-----------+

だから50%小さい100%のも大きいのも使えない!
どんな助けでも大歓迎です!

4

3 に答える 3

1

簡単にこれを行います:

小さいものを呼ぶ:半分

.first {margin-left: 0 !important; clear: left;}
.full {width:100%}
.half {width: 48%;}
.half {float: left; margin-left: 2%;}

<div class="first half">First Name</div>
<div class="half">Last Name input</div>
<div class="full">Email Input</div>

ご覧のとおり、margin % を使用して間隔を設定しました...これが、48% -2% を作成した方法です (等しい限り、好きなことを行うことができます..)。見栄えを良くするために、.firstというクラスを作成しました (jquery を使用して、これを自動クラスにできます)。

ここにフィドルがあります:

フィドル・ザット

これがお役に立てば幸いです。

于 2013-09-18T03:37:45.263 に答える
1

ここにフィドルがあります

<form>
  <input name="firstname" type="text" placeholder="First Name" class="small left"/>
  <input name="lastname" type="text" placeholder="Last Name" class="small"/>
  <input name="username" type="text" placeholder="User Name" class="big"/>
  <input name="email" type="text" placeholder="E-mail" class="big"/>
  <input name="password" type="password" placeholder="Password" class="big"/>
  <input name="rpassword" type="password" placeholder="Repeat Password" class="big"/>
  <button name="submit" type="">Sign Up</button>
</form>


form {
  background: #555;
  width: 350px;
  height: 300px;
  text-align: center;
  padding: 30px 15px;
  border-radius: 10px;
}
button {
  background: #04a9e8;
  position: relative;    
  margin: 25% auto;
  width: 140px;
  height: 24px;
  border: 1px solid #444;
  letter-spacing: 1px;
  font-weight: bold;
  color: #fff;
  border-radius: 4px;
}
button:hover {
  background: #02b9fc;
}
.small,
.big {
  background: #f5f5f5;
  height: 22px;
  padding-left: 4px;
  margin-bottom: 12px;
  border: 1px solid #444;    
}
.small:focus,
.big:focus {
  background: #fff;
  outline: none;
  border: 1px solid #0296cc;
  box-shadow: 0 0 2px 0 #0296cc;
}
.small {
  width: 45.5%;
}
.big {
  width: 98.1%;    
}
.left {
  margin-right: 15px;
}
于 2013-09-18T04:01:57.893 に答える
0

入力要素に100%を適用すると、入力要素にデフォルトのパディングがあるため、divボックスがオーバーフローします。完璧なソリューションを得るには、これを使用する必要があります。

あなたのCSS:

input{
    box-sizing:border-box;
    -moz-box-sizing:border-box; /* Firefox */
}
.clearfix { clear: both; }
.first, .last{ width: 48%; }
.first{ float: left; }
.last{ float: right; }
.email{ width: 100%;}

あなたの HTML:

<div class="clearfix">
    <label>Name</label><br>
    <input type="text" class="first">
    <input type="text" class="last">
</div>
<div class="clearfix">
    <label>Email</label><br>
    <input type="text" class="email">
</div>

このページをチェックアウトして、レイアウトをフロートに揃える方法を知ることができます - http://www.tutorialrepublic.com/css-tutorial/css-alignment.php

于 2013-09-18T05:24:49.057 に答える