學習重點
- flex。
- backdrop-filter: blur。
- group 命名的使用。
HTML 架構
- 主要架構有兩個 input,兩個按鈕。
- 因為頁面有重複性的元素,可以使用群組的方式命名。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <div class="login"> <form class="form"> <h2>金魚系列 XVII - 登入表單</h2> <div class="loginGroup"> <label> 帳號 <input type="email" id="userID" placeholder="請輸入電子信箱"> </label> </div> <div class="loginGroup"> <label>密碼 <input type="password" placeholder="請輸入密碼"> </label> </div> <div class="btnGroup"> <button class="btn btnAccess">確認</button> <button class="btn btnCancel">取消</button> </div> </div> </form> </div>
|
CSS 樣式
- 為了使登入欄位在畫面中間,在 body 使用 flex 使其置中對齊畫面中間。
1 2 3 4 5 6 7 8 9
| body { box-sizing: border-box; font-family: "Noto Sans TC", sans-serif; background: url("https://images.unsplash.com/photo-1578683010236-d716f9a3f461?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80") no-repeat center center / cover; display: flex; justify-content: center; align-items: center; }
|
設定 login 區塊
- 要給予背景寬度與高度才會跑出背景色。
- CSS3 新的支援效果 backdrop-filter:blur。
1 2 3 4 5 6 7 8 9 10 11 12 13
| .login { width: 300px; height: 300px; padding: 20px; background-color: rgba(#000, 0.6); border-radius: 20px; border: 5px solid #fff; box-shadow: 0 0 30px #000; backdrop-filter: blur(5px); display: flex; justify-content: center; align-items: center; }
|
欄位與按鈕
- form 區塊寬度給予 100%,使之填滿區塊。
- 按鈕部分針對共同樣式與個別樣式處理。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| .form { width: 100%; .loginGroup { margin-bottom: 10px; } label { color: #fff; line-height: 2.5; font-weight: 300; input { outline: none; padding: 10px 0; padding-left: 12px; width: 95%; border: 2px solid #aaa; border-radius: 6px; &:focus { border: 2px solid #72a8f0; } } } .btnGroup { display: flex; justify-content: space-between; margin-top: 20px; .btn { padding: 10px 50px; border-radius: 6px; outline: none; border: none; font-weight: 300; font-size: 16px; color: #fff; cursor: pointer; } .btnAccess { background-color: #2bc42b; &:hover { background-color: darken(#2bc42b, 10%); } } .btnCancel { background-color: #f08282; &:hover { background-color: darken(#f08282, 10%); } } } }
|
CodePen https://codepen.io/hnzxewqw/full/BajgOwy
參考資料