DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> CSS3代碼實例:CSS3制作網頁登陸表單
CSS3代碼實例:CSS3制作網頁登陸表單
編輯:CSS詳解     
文章簡介:這個表單效果是很普通,但其制作采用的方法卻很有創新,其中用到老技術的是@font-face制作icon、box-shadow制作陰影等,最亮點是使用了calc()函數來計算定位的值。

這個表單效果是很普通,但其制作采用的方法卻很有創新,其中用到老技術的是@font-face制作icon、box-shadow制作陰影等,最亮點是使用了calc()函數來計算定位的值。這可是一種新玩法,雖然前面有介紹過這個屬性的使用方法,後期的制作中卻很少使用他,這個案例讓我再次領略了calc()函數的功能。如果你喜歡,也可以嘗試一下,自己動手豐衣足食。

Html結構

表單的結構層出不窮,但我更喜歡Bootstrap中表單的結構,當然這個例子中白牙同學是沒使用那種結構,但也是很清晰,也很簡單:

<form action="" method="post" class="login-form">
<div class="username">
<input type="text" name="username" placeholder="[email protected]" autocomplete="on" />
<span class="user-icon icon">u</span>
</div>
<div class="passWord">
<input type="password" name="passWord" placeholder="*******" />
<span class="passWord-icon icon">p</span>
</div>
<div class="account-control">
<input type="checkbox" name="Remember me" id="Remember me" value="Remember me" checked="checked" />
<label for="Remember me" data-on="c" class="check"></label>
<label for="Remember me" class="info">Remember me</label>
<button type="submit">Login</button>
</div>
<p class="not-registered">Not a registered user yet?<a>Sign up now!</a></p>
</form>

CSS代碼

常用到的樣式代碼就不另外單獨介紹了,具體的可以參考樣式代碼中的注解:

/*基本樣式*/
body {
background: url(bg.jpg) no-repeat center fixed;
background-size: 100% 100%;/*讓背景圖全屏顯示,常用來制作全屏背景*/
}
.content {
width:600px;
height:420px;
margin:50px auto;
}
/*登錄表單form樣式*/
.login-form {
width:400px;
height:177px;
margin:70px auto 0;
padding-top:73px;
position:relative;/*為用戶頭像定位做一個參照點*/
background-image:-*-linear-gradIEnt(top,rgb(255,255,255),rgb(242,242,242));/*漸變效果制作*/
box-shadow:0 3px 3px rgba(21,62,78,0.8);/*陰影效果實現*/
}
/*使用偽類制作用戶頭像效果*/
.login-form:before {
content:"";
position:absolute;
top:-50px;
left:150px;
width:102px;
height:102px;
padding:2px;
border:1px solid rgb(216,216,219);
background:#fff url("profilepicture.jpg") no-repeat 2px 2px;/*加載用戶頭像*/
}
/*注冊提示信息*/
.not-registered {
position:absolute;
color:rgb(153,153,153);
font-weight:bold;
top:calc(100% + 20px);/*相當於bottom:-66px(div.not-registered自身的高度46px加上向下移動的20px)*/
background-color:rgb(255,255,255);
width:400px;
height:46px;
margin:0 auto;
line-height:46px;
text-align: center;
box-shadow:0 3px 3px rgba(21,62,78,0.8);
}
.not-registered a {
margin-left:5px;
text-decoration: none;
color:rgb(52,119,182);
cursor: pointer;
}
/*表單內部元素樣式設置*/
.login-form div {
width:216px;
height:28px;
margin:20px auto;
position:relative;
line-height:28px;
border:none;
}
/*用戶和密碼的icon制作*/
.login-form .user-icon,
.login-form .passWord-icon {
display:inline-block;
font-family: 'loginform-icon';
font-size:15px;
text-align:center;
line-height:28px;
color:rgb(153,153,153);
position:absolute;
left:1px;
top:1px;
background-color:rgb(255,255,255);
border:none;
border-right:1px solid rgb(229,229,232);
width:30px;
height:28px;
transition: all 300ms linear;
}
/*表單input的樣式*/
.login-form .username input, .login-form .passWord input {
height:100%;
width:calc(100% - 40px);/*使用calc計算表單的寬度(其中40px是用來放icon的空間)*/
padding-left:40px;
border-radius:2px;
border:1px solid;
border-color:rgb(229,229,232) rgb(220,220,221) rgb(213,213,213) rgb(220,220,221);
display:block;
transition: all 300ms linear;
}
/*使用偽類制作三角效果*/
.login-form .icon:before, .login-form .icon:after {
content:"";
position:absolute;
top:10px;
left:30px;
width:0;
height:0;
border:4px solid transparent;
border-left-color:rgb(255,255,255);
}
.login-form .icon:before {
top:9px;
border:5px solid transparent;
border-left-color:rgb(229,229,232);
}
/*表單焦點狀態下效果*/
.login-form .username input:focus, .login-form .passWord input:focus {
border-color:rgb(69,153,228);
box-shadow:0 0 2px 1px rgb(200,223,244);
}
.login-form .username input:focus + span, .login-form .passWord input:focus + span {
background:-*-linear-gradIEnt(top,rgb(255,255,255),rgb(245,245,245));
color:rgb(51,51,51);
}
.login-form .username input:focus + span:after, .login-form .passWord input:focus + span:after {
border-left-color:rgb(250,250,250);
}
.login-form .account-control label {
margin-left:24px;
font-size:12px;
font-family: Arial, Helvetica, sans-serif;
cursor:pointer;
}
/*按鈕效果*/
.login-form button[type="submit"] {
color:#fff;
font-weight:bold;
float:right;
width:68px;
height:30px;
position:relative;
background:-*-linear-gradIEnt(top,rgb(74,162,241),rgb(52,119,182)) 1px 0 no-repeat,
-*-linear-gradIEnt(top,rgb(52,118,181),rgb(36,90,141)) left top no-repeat;
background-size:66px 28px,68px 29px;
border:none;
border-top:1px solid rgb(52,118,181);
border-radius:2px;
box-shadow:inset 0 1px 0 rgb(86,174,251);
text-shadow:0 1px 1px rgb(51,113,173);
transition: all 200ms linear;
}
.login-form button[type="submit"]:hover {
text-shadow:0 0 2px rgb(255,255,255);
box-shadow:inset 0 1px 0 rgb(86,174,251),0 0 10px 3px rgba(74,162,241,0.5);
}
.login-form button[type="submit"]:active {
background:-*-linear-gradIEnt(top,rgb(52,119,182),rgb(74,162,241)) 1px 0 no-repeat,
-*-linear-gradIEnt(top,rgb(52,118,181),rgb(36,90,141)) left top no-repeat;
}
/*自定義復選框效果*/
.login-form .account-control input {
width:0px;
height:0px;
}
.login-form label.check {
position:absolute;
left:0;
top:50%;
margin:-8px 0;
display:inline-block;
width:16px;
height:16px;
line-height: 16px;
text-align:center;
border-radius:2px;
background:-*-linear-gradIEnt(top,rgb(255,255,255),rgb(246,246,246)) 1px 1px no-repeat,
-*-linear-gradIEnt(top,rgb(227,227,230),rgb(165,165,165)) left top no-repeat;
background-size:14px 14px,16px 16px;
}
.login-form .account-control input:checked + label.check:before {
content:attr(data-on);
font-family:loginform-icon;
}
/*調用服務器字體*/
@font-face {
font-family: 'loginform-icon';
src: url("font/loginform-icon.eot");
src: url("font/loginform-icon.eot?#IEfix") format('embedded-opentype'),
url("font/loginform-icon.woff") format('woff'),
url("font/loginform-icon.ttf") format('truetype'),
url("font/loginform-icon.svg#loginform-icon") format('svg');
font-weight: normal;
font-style: normal;
}
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved