2015-12-23 33 views
2

在下面的代码,柔性框大小没有增加

<style type="text/css"> 
      #header{ 
       height: 20px; 
       background-color: #2A646C; 
       width: 50%; 
       margin: auto; 
      } 
      #container{ 
       display:flex; 
       flex-wrap: wrap; 
       border: 2px solid red; 
       width: 50%; 
       margin: auto; 
       padding: 10px; 
       background-color: #C4D8E2; 
      } 
      #container1{ 
       border: 2px solid yellow; 
       width: 100%; 
       background-color: #C4D8E2; 
      } 
      #container1 p span{ 
       background-color: #C4D8E2; 
       color: #5D8AA8; 
       font-family: sans-serif; 
       font-size: 12px; 
      } 
      #container1 h3{ 
       background-color: #C4D8E2; 
      } 
      #container2{ 
       border: 2px solid blue; 
       width: 45%; 
       background-color: #C4D8E2; 
       margin-right: 8%; 
       display:flex; 
       flex-wrap: wrap; 
      } 
      #container2 form{ 
       width: 100%; 
       height: 100%; 
      } 
      #container2 p{ 
       width:100%; 
      } 
      #container2 span{ 
       font-weight: bold; 
       font-family: "Times New Roman"; 
       font-size: 16px; 
      } 
      #container2 #span1{ 
       color: #5D8AA8; 
       margin-right: 5px; 
      } 
      #container2 #span2{ 
       color: #5072A7; 
      } 
      #container2 input[type=submit]{ 
       border: 1px solid black; 
       width: 25%; 
       height: 40%; 
       margin-left: 68%; 
       background-color: #C4D8E2; 
      } 
      #container3{ 
       border: 2px solid green; 
       width: 45%; 
       background-color: #5072A7; 
       color: white; 
      } 
      #container3 form{ 
       width: 100%; 
       height: 100%; 
      } 
      #container3 input[type=submit]{ 
       border: 2px solid orange; 
       background-color: #5072A7; 
       width: 25%; 
       height: 10%; 
       margin-left: 68%; 
      } 
      #container3:nth-child(10){ 
       font-size: 14px; 

      } 
      #container3:nth-child(16){ 
       display: inline-block; 
       font-size: 10px; 
       font-style: underline; 
       margin-left: 68%; 
      } 
     </style> 

<div id="header"></div><br><br> 
     <div id="container"> 
      <div id="container1"> 
       <h3>Enter the system</h3> 
       <p><span>It is necessary to login in Your account in order to sign up for a course.</span></p> 
      </div> 

      <div id="container2"> 
       <p><span id="span1">ARE YOU NEW?</span><span id="span2">REGISTER</span></p> 
       <form method="POST" action="javascript:void(0)" enctype="multipart/form-data"> 
        <input type="text" name="username" required placeholder="User name" autocomplete="off" 
           pattern="^[A-Za-z0-9._-]{6,10}$" size="40" maxlength="10"> 
       <br><br> 
       <input type="email" name="emailid" required placeholder="Email" autocomplete="off" 
            pattern="^[A-Za-z0-9 _.-][email protected][A-Za-z.-]+\.[A-Za-z]{3,4}$" size="40" maxlength="30"> 
       <br><br> 
       <input type="password" name="password" required placeholder="Password" autocomplete="off" 
            pattern="^[A-Za-z0-9 _.-]{8,15}$" size="40" maxlength="15"> 
       <br><br> 
       <input type="password" name="confirmpassword" required placeholder="Confirm Password" 
            pattern="^[A-Za-z0-9 _.-]{8,15}$" size="40" maxlength="15" autocomplete="off"> 
       <br><br> 
       <input type="submit" name="register" value="Register"> 
       </form> 
      </div> 

      <div id="container3"> 
       <form method="POST" action="javascript:void(0)" enctype="multipart/form-data"> 
        <p><span class="span3">ALREADY A STUDENT?</span><span class="span4">LOGIN</span></p> 
        <br><br> 
        <input type="text" name="loginname" required placeholder="User name" autocompleter="off" 
            pattern="^[A-Za-z0-9._-]{6,10}$" size="40" maxlength="10"> 
        <br><br> 
        <input type="password" name="loginpassword" required placeholder="Password" autocompleter="off" 
             pattern="^[A-Za-z0-9 _.-]{8,15}$" size="40" maxlength="15"> 
        <br><br> 
        <input type="checkbox" name="remember" value="yes" id="remember"><label for="remember">Remember me?</label> 
        <br><br> 
        <input type="submit" name="login" value="Login" id="loginbutton"> 
        <br> 
        <label>Forgotpassword?</label> 

       </form> 
      </div> 

     </div> 

1)container2container3大小包括附加的元件,为什么后不增加高度?

2)如何使用nth-child挑选最后两个标签container3

回答

0

你的第一点...

把BTN高度PX将解决您的问题

  #container2 input[type=submit]{ 
      border: 1px solid black; 
      width: 25%; 
      height: 40px; 
      margin-left: 68%; 
      background-color: #C4D8E2; 
     } 

看到这个小提琴 https://jsfiddle.net/b4mdz048/ 加上最好的做法是填充添加到按钮它更好

我会建议你使用引导程序或其他CSS框架

3

1)container2container3包含其他元素后大小不会增加,为什么?

因为您的整体容器宽度限制为width: 50%

DEMO 1(原密码不变)

试试这个调整:

#container{ 
    display:flex; 
    flex-wrap: wrap; 
    border: 2px solid red; 
    min-width: 50%; /* adjusted */ 
    margin: auto; 
    padding: 10px; 
    background-color: #C4D8E2; 
} 

DEMO 2

2)如何使用第n个孩子挑选最后两个标签容器3的?

#container3 > form > label:nth-last-of-type(1) { font-weight: bold; color: red; } 
#container3 > form > label:nth-last-of-type(2) { font-weight: bold; color: aqua; } 

DEMO 3

更多信息参见:http://www.w3.org/TR/css3-selectors/#selectors


的替代方法演示2 ...

在你不喜欢改变事件宽度整个柔性容器的约束,你可以使表单flex容器,它将表单元素限制在容器的边界。

所以不是这样(如上文所述):

#container{ 
    display:flex; 
    flex-wrap: wrap; 
    border: 2px solid red; 
    min-width: 50%; /* adjusted */ 
    margin: auto; 
    padding: 10px; 
    background-color: #C4D8E2; 
} 

试试这个:

#container2 form{ 
    width: 100%; 
    height: 100%; 
    display: flex;   /* new */ 
    flex-direction: column; /* new */ 
} 

#container3 form{ 
    width: 100%; 
    height: 100%; 
    display: flex;   /* new */ 
    flex-direction: column; /* new */ 
} 

DEMO 4


更新(根据意见和修订后的问题)

使用DEMO 4,我们可以改善的提交按钮与此显示:它总

#container2 input[type=submit]{ 
     border: 1px solid black; 
     /* width: 25%; */ 
     height: 40%; 
     /* margin-left: 68%; */ 
     background-color: #C4D8E2; 

     /* new */ 
     margin-left: auto; 
     margin-right: 5%; 
     width: 75px; 
} 

#container3 input[type=submit]{ 
     border: 2px solid orange; 
     background-color: #5072A7; 
     /* width: 25%; */ 
     height: 10%; 
     /* margin-left: 68%; */ 

     /* new */ 
     margin-left: auto; 
     margin-right: 5%; 
     width: 75px; 
} 

DEMO 5

+0

我说的是'container2'的高度不是宽度。你看到'container2'外的注册按钮了吗? – overexchange

+0

嘿,你的demo4和demo5仍然显示'container2'外面的注册按钮。 – overexchange

+0

你使用什么浏览器?这些都在我的测试容器中。 –

1

关于你的第二点...

你有2个标签 所以你可以使用“nth-type-type” 查看我为标签给出颜色的代码。

#container3 label { 
    background: #f0f none repeat scroll 0 0; 
} 
#container3 label:nth-of-type(1) { 
    background: #ff0 none repeat scroll 0 0; 
} 
#container3 label:nth-of-type(2) { 
    background: #f00 none repeat scroll 0 0; 
}