【问题标题】:Input forms not aligning correctly in Safari输入表单在 Safari 中未正确对齐
【发布时间】:2014-05-02 21:37:11
【问题描述】:

我目前正在处理一个页面Here

我正在尝试设置要对齐的表单样式,因为它以 chrome 显示。

我确信我这样做的方式是错误的,但我的造型在除 safari 之外的所有方面都有效,我不知道为什么

这是我正在使用的当前代码....

  <div>
     <div>
         <br />
            <div class="required-notice">          
                 <span class="required-star">*</span><span> = Required Field</span>
            </div>
            <div class="loan-form-body">
                <div>
                    <span>First Name:</span><span class="required-star">*</span>
                </div>
                <div>
                    <input type="text" name="FirstName" id="firstname" class="validate required" style="width: 200px;" />
                </div>
                <div>
                    <span>Email Address:</span><span class="required-star">*</span>
                </div>
                <div>
                    <input type="text" name="EmailAddress" id="emailaddress" class="validate required"  style="width: 200px;" />
                </div>
                <div>
                   <span>Address:</span><span class="required-star">*</span>
                </div>
                <div>
                    <input type="text" name="HomeAddress" id="HomeAddress" class="validate required" style="width: 430px;" />
                </div>
                <div>
                   <div>
                      <span style="text-align: left; position: absolute; margin-left: 40%; margin-top:-21%;">
                         Last Name:
                         <span class="required-star">*</span>
                      </span>
                   </div>
                   <div>
                       <input type="text" name="LastName" id="lastname" style="width: 200px; position:  absolute; margin-left: 40%; margin-top: -18%;" />
                   </div>
                   <div style="position: absolute; margin-left: 40%; margin-top: -14%;">
                       Work Phone:
                   </div>
                   <div>
                      <input type="text" name="DaytimePhone" id="daytimephone" style="width: 200px;  position: absolute; margin-left: 40%; margin-top: -10.7%;" />
                    </div>
                </div>
                <div class="submit">
                      <input type="submit" style="width: auto; outline: none; -webkit-appearance: none;"  onclick="return validate();" class="button" data-form-type="submit" value="Get An Instant Report" />
                 </div>

请原谅凌乱的代码。

【问题讨论】:

  • 在我看来,它在 Chrome 和 Safari 中看起来是一样的。问题是什么?此外,与其为混乱的代码道歉,也许您可​​以将其格式化得更好一些?使用所有内联 css 很难阅读
  • 这么多 div、span 而不是标签和内联样式。

标签: html css forms input safari


【解决方案1】:

我稍微修正了你的代码并制作了一些 CSS,这是 FIDDLE

<form name="loan-form" class="loan-form" action="#">
  <div class="required-notice">          
    <span class="required-star">*</span>= Required Field
  </div>
  <div class="loan-form-body">
    <label>First Name:<span class="required-star">*</span></label>
    <input type="text" name="FirstName" id="firstname" class="validate required" />
    <label>Email Address:<span class="required-star">*</span></label>
    <input type="text" name="EmailAddress" id="emailaddress" class="validate required" />
    <label>Address:<span class="required-star">*</span></label>
    <input type="text" name="HomeAddress" id="HomeAddress" class="validate required" />
    <label>Last Name:<span class="required-star">*</span></label>
    <input type="text" name="LastName" id="lastname" />
    <label>Work Phone:</label>
    <input type="text" name="DaytimePhone" id="daytimephone" />
    <input type="submit" onclick="return validate();" class="button" data-form-type="submit" value="Get An Instant Report" />
  </div>
</form>

.loan-form {
  width: 400px;
  padding: 10px;
  font-family: Sans-serif;
  font-size: 16px;
  border: 1px solid #ddd;
}
.loan-form label {
  float: left;
  clear: left;
  width: 150px;
}
.loan-form input[type="text"] {
  float: left;
  width: 200px;
  margin: 0 0 12px;
  padding: 2px 4px;
  border: 1px solid #ddd;
  outline: none;
  transition: box-shadow 0.2s ease-in-out;
  -moz-transition: box-shadow 0.2s ease-in-out;
  -webkit-transition: box-shadow 0.2s ease-in-out;
}
.loan-form input[type="text"]:focus {
  box-shadow: 0 0 3px 0 #333;
  -moz-box-shadow: 0 0 3px 0 #333;
  -webkit-box-shadow: 0 0 3px 0 #333;
}
.loan-form input[type="submit"] {
  display: block;
  width: 160px;
  height: 26px;
  margin: 0 auto;
}
.required-notice {
  padding: 7px;
  margin: 0 0 15px;
}
.required-star {
  vertical-align: top;
  margin: 0 3px;
  font-size: 12px;
  color: red;
}

按照你的意愿完成造型。

【讨论】:

  • 第一个和最后一个对齐的最佳方式是什么?与电子邮件和电话相同,地址栏位于下方并展开。
猜你喜欢
  • 1970-01-01
  • 2018-12-17
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多