2014-07-17 206 views
0

我有注册表单,但该复选框不会表现明智。输入字段包含占位符,我希望文本显示在复选框的左侧,文本与页面上的所有占位符对齐。MVC 5 Boostrap复选框CSS问题

到目前为止,我要么在复选框(以标签为中心)或以下都有文本。以下是我的注册页面和相关的CSS。我无法弄清楚,请帮忙。

Register.cshtml

<div class="row"> 
    <article class="span7"> 
     <section class="block-indent-1 maxheight"> 
      <h2>@ViewBag.Title.</h2> 
      <p>Please take care when entering your details as they will determine your access and operation of this website.</p> 
      <p>Please note that all fields marked with an asterisk * must be completed in order for you to become a registered user.</p> 
     </section> 
    </article> 
    <article class="span5"> 
     <section class="block-indent-1 divider-left maxheight"> 
      <h2>Sign Up Here</h2> 
      @using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @id = "contact-form", role = "form" })) 
      { 
       @Html.AntiForgeryToken() 
       @Html.ValidationSummary("", new { @class = "text-danger" }) 
       <fieldset> 
        <div class="form-div-5"> 
         <label> 
          @Html.DropDownListFor(model => model.TitleId, TitleModel.TitleList) 
         </label> 
        </div> 
        <div class="form-div-5"> 
         <label> 
          @Html.DropDownListFor(model => model.SexId, SexModel.SexList) 
         </label> 
        </div> 
        <div class="form-div-5"> 
         <label> 
          @Html.TextBoxFor(m => m.Forename, new { @placeholder = "Forename *", @type = "text", required = "required" }) 
         </label> 
        </div> 
        <div class="form-div-5"> 
         <label> 
          @Html.TextBoxFor(m => m.Surname, new { @placeholder = "Surname *", @type = "text", required = "required" }) 
         </label> 
        </div> 
        <div class="form-div-5"> 
         <label> 
          @Html.TextBoxFor(m => m.Email, new { @placeholder = "Email Address *", @type = "email", required = "required" }) 
         </label> 
        </div> 
        <div class="form-div-5"> 
         <label> 
          @Html.TextBoxFor(m => m.UserName, new { @placeholder = "Username *", @type = "text", @pattern = "[a-zA-Z0-9]{6,}", @title = "Your username must have no spaces or special characters and must be at least 6 characters long.", required = "required" }) 
         </label> 
        </div> 
        <div class="form-div-5"> 
         <label> 
          @Html.PasswordFor(m => m.Password, new { @placeholder = "Password *", @type = "password", required = "required" }) 
         </label> 
        </div> 
        <div class="form-div-5"> 
         <label> 
          @Html.PasswordFor(m => m.ConfirmPassword, new { @placeholder = "Confirm Password *", @type = "password", required = "required" }) 
         </label> 
        </div> 
        <div class="form-div-5"> 
         <label class="checkbox-inline"> 
          @Html.CheckBoxFor(m => m.AcceptsTerms) @Html.LabelFor(m => m.AcceptsTerms) 
         </label> 
        </div> 
        <div class="button-wrapper"> 
         <input type="submit" class="button" value="Register" /> <input type="reset" value="Reset" name="MFReset" class="button"><span>* Required Fields</span> 
        </div> 
       </fieldset> 
      } 
     </section> 
    </article> 
</div> 

的site.css

#contact-form { 
    position: relative; 
    z-index: 1; 
    margin: 0 0 20px; 
    padding: 6px 0 0 0; 
    vertical-align: top; 
    font-family: Arial, Helvetica, sans-serif; 
} 
#contact-form .error { 
    display: block; 
    overflow: hidden; 
    position: absolute; 
    height: 0px; 
    font-size: 10px; 
    color: #F00; 
    -webkit-transition: all 0.3s ease-out; 
    -moz-transition: all 0.3s ease-out; 
    -o-transition: all 0.3s ease-out; 
    transition: all 0.3s ease-out; 
} 
.txt-form { 
    display: block; 
    padding-bottom: 6px; 
    color: #ffffff; 
} 
.txt-form span { 
    color: #ffffff; 
} 
.form-div-1, 
.form-div-2, 
.form-div-3 { 
    float: left; 
    width: 183px; 
} 
.form-div-1 { 
    margin-right: 21px; 
} 
.form-div-2 { 
    margin-right: 21px; 
} 
#contact-form div { 
    overflow: hidden; 
} 
#contact-form fieldset { 
    position: relative; 
    z-index: 10; 
    overflow: hidden; 
    padding: 0; 
    width: 100%; 
    border: none; 
} 

#contact-form label .checkbox { 
color:#15221E; 
height:40px; 
text-align:left; 
width:324px 
} 

#contact-form select { 
    display: block !important; 
    margin-bottom: 2px; 
    width: 100%; 
    border: 1px solid #000; 
    background: #e1e3e2; 
    color: #acacac; 
    font-size: 13px; 
    line-height: 20px !important; 
    font-family: Arial, Helvetica, sans-serif; 
    cursor: pointer; 
} 

#contact-form select option { 
    padding-bottom: 3px; 
} 

#contact-form label { 
    position: relative; 
    display: block; 
    float: left; 
    margin: 0; 
    padding: 0; 
    min-height: 60px; 
    width: 100%; 
} 
#contact-form .message { 
    display: block !important; 
    min-height: 251px; 
    width: 100%; 
} 
#contact-form input, 
#contact-form textarea { 
    -webkit-box-shadow: inset 1px 0 3px rgba(0, 0, 0, 0.32); 
    -moz-box-shadow: inset 1px 0 3px rgba(0, 0, 0, 0.32); 
    box-shadow: inset 1px 0 3px rgba(0, 0, 0, 0.32); 
    -webkit-border-radius: 5px; 
    -moz-border-radius: 5px; 
    border-radius: 5px; 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
    float: left; 
    margin: 0; 
    padding: 10px 10px 7px; 
    width: 100%; 
    outline: none; 
    border: none; 
    background: #e1e3e2; 
    color: #acacac; 
    font-size: 13px; 
    line-height: 20px !important; 
    font-family: Arial, Helvetica, sans-serif; 
} 
#contact-form input { 
    height: 37px; 
} 
#contact-form input:focus, 
#contact-form textarea:focus { 
    -webkit-box-shadow: none; 
    -moz-box-shadow: none; 
    box-shadow: none; 
} 
#contact-form .area .error { 
    float: none; 
} 
#contact-form textarea { 
    overflow: auto; 
    width: 100%; 
    height: 287px; 
    resize: none; 
} 
#contact-form .success { 
    position: absolute; 
    top: 4px; 
    left: 0; 
    z-index: 20; 
    -webkit-border-radius: 5px; 
    -moz-border-radius: 5px; 
    border-radius: 5px; 
    display: none; 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
    padding: 14px 10px; 
    width: 100%; 
    border: 1px solid #000; 
    background: #e5412a; 
    color: #ffffff; 
    text-align: center; 
    text-transform: none; 
    font-size: 18px; 
    font-family: Arial, Helvetica, sans-serif; 
    line-height: 22px; 
} 
#contact-form .error, 
#contact-form .empty { 
    position: absolute; 
    bottom: 1px; 
    left: 2px; 
    display: none; 
    overflow: hidden; 
    padding: 5px 4px 0px 0; 
    width: 100%; 
    color: #f00; 
    text-transform: none; 
    font-size: 11px; 
    line-height: 1.27em; 
    font-family: Arial, Helvetica, sans-serif; 
} 
#contact-form .message .error, 
#contact-form .message .empty { 
    bottom: 5px; 
} 

.checkbox { 
    display: inline-block; 
    cursor: pointer; 
    font-size: 13px; 
    margin-right:40px; line-height:37px; 
} 
input[type=checkbox] { 
    /*display:none;*/ 
} 
.checkbox:before { 
    content: ""; 
    display: inline-block; 
    width: 37px; 
    height: 37px; 
    vertical-align:middle; 
    background: #e1e3e2; 
    color: #acacac; 
    text-align: center; 
    box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 1px 0px 0px rgba(255, 255, 255, .8); 
    border-radius: 3px; 
} 
input[type=checkbox]:checked + .checkbox:before { 
    content: "\2713"; 
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .2); 
    font-size: 15px; 
} 

任何帮助,将不胜感激:-)

回答

0

尝试使用DisplayNameFor代替LabelFor既然你有一个包装标签已经。

<label class="checkbox-inline"> 
    @Html.CheckBoxFor(m => m.AcceptsTerms) @Html.DisplayNameFor(m => m.AcceptsTerms) 
</label> 

谢谢!