藤藤每日一练——CSS3制作3D表单

发布于 藤藤

藤藤今天给大家带来一款使用CSS3制作的3D立体表单效果。在这个案例中主要使用了CSS3的渐变制作了body的背景;使用box-shadow制作的3D立体input框和3D立体按钮;使用@font-face制作的icon图标。

demodownload

HTML 结构

<div class="box">
  <form>
    <div>secure login</div>
    <div class="input_control">
        <input type="text" id="inputName"  placeholder="Your Name">
        <label for="inputName"></label>
    </div>
    <div class="input_control">
        <input type="text" id="inputEmail"  placeholder="Your Email">
        <label for="inputName"></label>
    </div>
    <div class="input_control">
        <input type="password" id="inputPassword"  placeholder="******">
        <label for="inputName"></label>
    </div>
    <div>
      <button type="submit" class="btn">LOGIN</button>
    </div>
    <p><a href="#">Lost Your Password?</a></p>
  </form>
</div>

CSS代码

body{
  background-color:#f7f0da;
  background-image: -webkit-linear-gradient(180deg,transparent 90%,#eae4cf 10%);
  background-image: -moz-linear-gradient(180deg,transparent 90%,#eae4cf 10%);
  background-image: -o-linear-gradient(180deg,transparent 90%,#eae4cf 10%);
  background-image: -ms-linear-gradient(180deg,transparent 90%,#eae4cf 10%);
  background-image: linear-gradient(180deg,transparent 90%,#eae4cf 10%);
  background-size: 5px 50px;
}
.box{ 
  margin:20px auto; 
  width:560px;
  text-align:center;
  font-weight:bold;
}
.box div:first-child{ 
  font-size:60px;
  margin-bottom:20px;
  text-shadow:0 2px 0 #c0c0c0,0 3px #979385;
}
.box .input_control{	
  position:relative;
  height:100px;
}
.box input{ 
  position:relative;
  font-size:18px;
  height:56px;
  width:100%;
  padding-left:10px;
  border:12px solid #fff;
  border-radius:3px;
  box-shadow:inset 0 0 0 1px #c0c0c0,inset 1px 2px 0 #e6e6e6,1px 2px 0 #c0c0c0,-1px 2px 0 #c0c0c0,2px 3px 0 #c0c0c0,-2px 3px 0 #c0c0c0,2px 12px 0 #c0c0c0,-2px 12px 0 #c0c0c0,0 2px 0 3px #979797,0 10px 0 3px #979797,-2px 15px 10px rgba(0,0,0,.6);
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  -o-box-sizing:border-box;
  -ms-box-sizing:border-box;
  box-sizing:border-box;
  -webkit-transition: all 0.1s ease-in;
  -moz-transition: all 0.1s ease-in;
  -ms-transition: all 0.1s ease-in;
  -o-transition: all 0.1s ease-in;
  transition: all 0.1s ease-in;
}
.box label{ 
  position:absolute;
  top:-2px; 
  right:50px; 
  width:74px; 
  height: 56px;
  color:#f3f2f1;
  text-shadow:0 3px 1px #9e2719;
  border:1px solid #dd684f;
  background:-webkit-linear-gradient(top,#e78d7b 0,#dd684f 72px);
  background:-moz-linear-gradient(top,#e78d7b 0,#dd684f 72px);
  background:-o-linear-gradient(top,#e78d7b 0,#dd684f 72px);
  background:-ms-linear-gradient(top,#e78d7b 0,#dd684f 72px);
  background:linear-gradient(top,#e78d7b 0,#dd684f 72px);
  box-shadow:0 14px 0 #9c2912,0 0 5px rgba(0,0,0,.3);
  -webkit-transition: all 0.1s ease-in;
  -moz-transition: all 0.1s ease-in;
  -o-transition: all 0.1s ease-in;
  -ms-transition: all 0.1s ease-in;
  transition: all 0.1s ease-in;
}
.box label:after{
  position:absolute;
  display:block;
  width: 74px;
  text-align: center;
  font: normal normal 30px/56px  'icomoon';
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
.input_control:nth-of-type(2) label:after{
  content:"\21";
}
.input_control:nth-of-type(3) label:after{
  content:"\22";
}
.input_control:nth-of-type(4) label:after{
  content:"\23";
}
.box input:focus{
  outline: 0 none;
  top:2px; 
  box-shadow:inset 0 0 0 1px #c0c0c0,inset 1px 2px 0 #e6e6e6,1px 2px 0 #c0c0c0,-1px 2px 0 #c0c0c0,1px 3px 0 #c0c0c0,-2px 3px 0 #c0c0c0,2px 12px 0 #c0c0c0,-2px 12px 0 #c0c0c0,0 2px 0 3px #979797,0 10px 0 3px #979797,-2px 15px 10px rgba(0,0,0,.6);
}
.box input:focus + label{
  top:0; 
}
::-webkit-input-placeholder {
  color:#d94a2d;
  font-style:italic;
}
.box .btn{
  position:relative; 
  width:210px; 
  height:60px;
  color:#4c6e03;
  font:bold 35px  "Impact";
  text-indent:10px;
  letter-spacing:3px;
  text-align:left;
  margin-bottom:20px;
  border:none;
  border-radius:6px;
  text-shadow:-1px 2px 0 #c4e184;
  box-shadow:1px 2px 0 #5f8214,-1px 2px 0 #5f8214,2px 3px 0 #5f8214,-2px 3px 0 #5f8214,2px 12px 0 #5f8214,-2px 12px 0 #5f8214,0 2px 0 3px #304601,0 10px 0 3px #304601,-2px 15px 10px rgba(0,0,0,.6);
  background:-webkit-linear-gradient(top,#c5e185,#a5c65c);
  -webkit-transition: all 0.1s ease-in;
  -moz-transition: all 0.1s ease-in;
  -o-transition: all 0.1s ease-in;
  -ms-transition: all 0.1s ease-in;
  transition: all 0.1s ease-in;
}
.box .btn:after{ 
  position:absolute;
  display:block; 
  content:"\25"; 
  width:36px; 
  height:36px; 
  border-radius:18px; 
  background:#5f8214; 
  top:10px; 
  right:20px;
  text-indent:5px;
  text-align:center; 
  color:#b3d36e;
  text-shadow:0 3px 0 #325207;
  box-shadow:inset 0 6px 0 #325207;
  font: normal normal 18px/40px  'icomoon';
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
.box .btn:hover{ 
  background:-webkit-linear-gradient(top,#a2c452,#a5c65c);
  background:-moz-linear-gradient(top,#a2c452,#a5c65c);
  background:-ms-linear-gradient(top,#a2c452,#a5c65c);
  background:-o-linear-gradient(top,#a2c452,#a5c65c);
  background:linear-gradient(top,#a2c452,#a5c65c);
}
.box .btn:active{
  top:2px; 
  box-shadow:1px 2px 0 #a5c65c,-1px 2px 0 #a5c65c,1px 3px 0 #a5c65c,-2px 3px 0 #5f8214,2px 12px 0 #5f8214,-2px 12px 0 #5f8214,0 2px 0 3px #5f8214,0 10px 0 3px #304601,-2px 15px 10px rgba(0,0,0,.6);
}
.box p a{
  color:#d94a2d; 
  line-height:30px;
  font-size:14px;
}
@font-face {
  font-family: 'icomoon';
  src:url('fonts/icomoon.eot');
  src:url('fonts/icomoon.eot?#iefix') format('embedded-opentype'),
      url('fonts/icomoon.svg#icomoon') format('svg'),
      url('fonts/icomoon.woff') format('woff'),
      url('fonts/icomoon.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

demodownload

如需转载,烦请注明出处:https://www.fedev.cn/demo/css3-3d-form.html

Air Jordan V Low Supreme