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

贊助商

分類目錄

贊助商

最新文章

搜索

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

作者:admin    時(shí)間:2021-4-18 9:43:37    瀏覽:

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

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

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 表示獲得焦點(diǎn)的輸入字段。

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

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

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

2、pointer-events: none; 屬性

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

.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;
}

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

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

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

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

您可能對(duì)以下文章也感興趣

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