技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運營

贊助商

分類目錄

贊助商

最新文章

搜索

純css3實現(xiàn)漂亮的用戶注冊表單

作者:admin    時間:2021-4-18 9:43:37    瀏覽:

這個用戶注冊表單令人眼前一亮,它充分利用Placeholder的特點,當(dāng)點擊輸入框的時候,提示文字移到輸入框左上角,用戶體驗非常友好,值得推薦使用,這個漂亮的用戶注冊表單是用純CSS3實現(xiàn)的。

純css3實現(xiàn)漂亮的用戶注冊表單
純css3實現(xiàn)漂亮的用戶注冊表單

demodownload

CSS代碼

body {
  align-items: center;
  background-color: #000;
  display: flex;
  justify-content: center;
  height: 100vh;
}

.form {
  background-color: #15172b;
  border-radius: 20px;
  box-sizing: border-box;
  height: 500px;
  padding: 20px;
  width: 320px;
}

.title {
  color: #eee;
  font-family: sans-serif;
  font-size: 36px;
  font-weight: 600;
  margin-top: 30px;
}

.subtitle {
  color: #eee;
  font-family: sans-serif;
  font-size: 16px;
  font-weight: 600;
  margin-top: 10px;
}

.input-container {
  height: 50px;
  position: relative;
  width: 100%;
}

.ic1 {
  margin-top: 40px;
}

.ic2 {
  margin-top: 30px;
}

.input {
  background-color: #303245;
  border-radius: 12px;
  border: 0;
  box-sizing: border-box;
  color: #eee;
  font-size: 18px;
  height: 100%;
  outline: 0;
  padding: 4px 20px 0;
  width: 100%;
}

.cut {
  background-color: #15172b;
  border-radius: 10px;
  height: 20px;
  left: 20px;
  position: absolute;
  top: -20px;
  transform: translateY(0);
  transition: transform 200ms;
  width: 76px;
}

.cut-short {
  width: 50px;
}

.input:focus ~ .cut,
.input:not(:placeholder-shown) ~ .cut {
  transform: translateY(8px);
}

.placeholder {
  color: #65657b;
  font-family: sans-serif;
  left: 20px;
  line-height: 14px;
  pointer-events: none;
  position: absolute;
  transform-origin: 0 50%;
  transition: transform 200ms, color 200ms;
  top: 20px;
}

.input:focus ~ .placeholder,
.input:not(:placeholder-shown) ~ .placeholder {
  transform: translateY(-30px) translateX(10px) scale(0.75);
}

.input:not(:placeholder-shown) ~ .placeholder {
  color: #808097;
}

.input:focus ~ .placeholder {
  color: #dc2f55;
}

.submit {
  background-color: #08d;
  border-radius: 12px;
  border: 0;
  box-sizing: border-box;
  color: #eee;
  cursor: pointer;
  font-size: 18px;
  height: 50px;
  margin-top: 38px;
  // outline: 0;
  text-align: center;
  width: 100%;
}

.submit:active {
  background-color: #06b;
}

HTML代碼

<div class="form">

      <div class="title">歡迎光臨</div>
  
      <div class="subtitle">讓我們創(chuàng)建您的帳戶!</div>
  
      <div class="input-container ic1">
        <input id="firstname" class="input" type="text" placeholder=" " />
        <div class="cut"></div>
        <label for="用戶名" class="placeholder">用戶名</label>
      </div>
  
      <div class="input-container ic2">
        <input id="lastname" class="input" type="text" placeholder=" " />
        <div class="cut"></div>
        <label for="名稱" class="placeholder">名稱</label>
      </div>
  
      <div class="input-container ic2">
        <input id="email" class="input" type="text" placeholder=" " />
        <div class="cut cut-short"></div>
        <label for="郵箱" class="placeholder">郵箱</label>
      </div>
  
      <button type="text" class="submit">提交</button>
  
</div>

execcodegetcode

代碼解釋

1、如下CSS代碼比較不多見,是本表單的關(guān)鍵代碼。

.input:focus ~ .cut,
.input:not(:placeholder-shown) ~ .cut {
  transform: translateY(8px);
}

.input:focus 表示獲得焦點的輸入字段。

兄弟選擇器('~')表示在某元素之后的所有兄弟元素,不一定要緊跟在后面,但必須得是相同父元素,即必須是同一級元素。

.input:not(:placeholder-shown) ~ 表示標(biāo)簽選擇器不適用于自動填充。

transform: translateY() Transform字面上就是變形,改變的意思。translateY(Y)僅垂直方向移動(Y軸移動)。

2、pointer-events: none; 屬性

在CSS代碼里,看到.placeholder的屬性包含pointer-events: none; ,這里說說這個屬性。

.placeholder {
  color: #65657b;
  font-family: sans-serif;
  left: 20px;
  line-height: 14px;
  pointer-events: none;
  position: absolute;
  transform-origin: 0 50%;
  transition: transform 200ms, color 200ms;
  top: 20px;
}

這個pointer-events屬性none值能阻止點擊、狀態(tài)變化和鼠標(biāo)指針變化。

一些需要注意的關(guān)于pointer-events的事項:

  • 子元素可以聲明pointer-events來解禁父元素的阻止鼠標(biāo)事件限制。
  • 如果你對一個元素設(shè)置了click事件監(jiān)聽器,然后你移除了pointer-events樣式聲明,或把它的值改變?yōu)?code>auto,監(jiān)聽器會重新生效?;旧希O(jiān)聽器會遵守pointer-events的設(shè)定。

pointer-events屬性是用來禁止某元素的點擊,這樣的好處是樣式上也得到了控制。當(dāng)然,不要使用pointer-events來屏蔽一些十分關(guān)鍵的觸發(fā)動作,因為這個樣式可以通過瀏覽器控制臺刪除掉。

您可能對以下文章也感興趣

標(biāo)簽: Placeholder  注冊表單  
x
  • 站長推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */