笔记-CSS3实现3D搜索输入框

题外话

今天拜读了大漠的<<图解CSS3>>发现里面这个按钮的实例挺赞的,稍微完善了一下原来例子.

去掉一些现在不用的前缀,补全了最终版的.clearfix,还有样式稍作修改~~

原版效果图:

预备知识

  • 基础布局知识
  • CSS2.1 && CSS3

制作原理(CSS3特性)

  1. box-shadow – 盒子阴影 -> 使用多层阴影达到立体效果
  2. box-image:linear-gradient -> 渐变效果实现….
  3. box-radius: – 实现圆角效果
  4. text-shadow: – 文本阴影
  5. 其他的都是CSS2.1的属性,就不用多说了..

代码实现

因为代码量不是很多,就木有分离CSS了…

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>制作3D搜索表单</title>
        <style>
            .clearfix:before,
            .clearfix:after {
                content: "";
                display: table;
            }
            .clearfix:after {
                clear: both;
                overflow: hidden;
            }

            #formWrapper {
                margin:0 auto;
                width: 650px;
                /*设置搜索表单的宽度*/
                padding: 8px;
                overflow: hidden;
                /*清除浮动*/
                /*设置表单的边框效果*/
                border-width: 1px;
                border-style: solid;
                border-color: #dedede #bababa #aaa #bababa;

                /*最为关键的代码,设置表单3D立体效果*/
                box-shadow: 0 5px 5px rgba(255, 255, 255, 0.3), 0 3px 0 #bbb, 0 4px 0 #aaa,0 5px 5px #444,0px 0 5px rgba(228,162,50,.3) inset;
                /*设置圆角效果*/
                border-radius: 10px;
                -webkit-border-image: -webkit-linear-gradient(NaNdeg, #5191AC, #5A7BC6);
                -o-border-image: linear-gradient(top 35deg, #5191AC, #5A7BC6);
                border-image: linear-gradient(top 35deg, #5191AC, #5A7BC6);
            }
            /*输入框样式效果*/
            #formWrapper .search {
                width: 530px;
                height: 20px;
                padding: 10px 5px;
                float: left;
                font: bold 16px ‘lucida sans‘,‘trebuchet MS‘,‘Tahoma‘;
                border: 1px solid #ccc;
                border-radius: 3px;
                border-radius: 5px;
                box-shadow: 0 0 5px rgba(78,166,189,.25) inset,1px 0 1px rgba(99,157,179,.79);
            }
            /*输入框得到焦点时样式*/
            #formWrapper .search:focus {
                outline: 0;
                color:rgba(106,105,105,.73);
                border-color: #C7D1D0;
                box-shadow: 0 1px 1px #bbb inset;
            }

            #formWrapper .search:-ms-input-placeholder,
            #formWrapper .search:-moz-placeholder,
            #formWrapper .search::-webkit-input-placeholder {
                color: #2DAF2B;
                font-weight: 700;
            }

            /*搜索按钮效果*/
            #formWrapper .btn {
                float: right;
                border: 1px solid #00748f;
                height: 42px;
                width: 100px;
                padding: 0;
                cursor: pointer;
                font: bold 15px Arial,Helvetica;
                color: #fafafa;
                text-transform: uppercase;
                color: #fafafa;
                background-color: #0483a0;
                -webkit-border-image: -webkit-linear-gradient(top, #31b2c3, #0483a0);
                -o-border-image: linear-gradient(top,#31b2c3,#0483a0);
                border-image: linear-gradient(top,#31b2c3,#0483a0);
                border-radius: 5px;
                text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3) ;
                box-shadow: 0 1px 0 rgba(255, 0, 0, 0.3) inset,1px 1px 1px #0483a0;
            }

            /*按钮悬浮状态和焦点状态下效果*/
            #formWrapper .btn:hover,
            #formWrapper .btn:focus {
                background-color: #31b2c3;
                box-shadow: 1 1 3px #31b2c3;
                border-radius: 5px;
                background-image: -webkit-linear-gradient(top, #0483a0, #31b2c3);
                background-image: linear-gradient(top,#0483a0,#31b2c3);
            }

            /*按钮点击时效果*/
            #formWrapper .btn:active {
                outline: 0;
                box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset;
            }
            /*firefox下按钮去除焦点线*/
            #formWrapper::-moz-focus-inner {
                border: 0;
            }
        </style>
    </head>
    <body>
        <form action="#" id="formWrapper">
            <div class="formFiled clearfix">
                <input class="search" placeholder="Search for CSS3,HTML5,JQuery..." required="" type="text">
                <input class="btn submit" type="submit" value="go >>">
            </div>
        </form>
    </body>
</html>

修改版效果图

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-29 19:10:52

笔记-CSS3实现3D搜索输入框的相关文章

css3 jQuery实现3d搜索框+为空判断

<!DOCTYPE html> <html> <head> <title>css3实现3d搜索框</title> <style> body{background: #eee; font: 12px 'Lucida sans', Arial, Helvetica; color: #333; text-align: center;} a{color: #2A679F;} .form-wrapper{width: 450px; paddin

css3 jQuery实现3d搜索框+为空推断

<!DOCTYPE html> <html> <head> <title>css3实现3d搜索框</title> <style> body{background: #eee; font: 12px 'Lucida sans', Arial, Helvetica; color: #333; text-align: center;} a{color: #2A679F;} .form-wrapper{width: 450px; paddin

CSS自学笔记(13):CSS3 2D/3D转换

CSS3中新增了对元素进行2D和3D的转换效果,这样可以是开发人员很方便的做出视觉效果更好的网页来. 通过CSS3中属性的定义,我们可以对元素进行移动.缩放.拉伸.旋转等等,可以通过定义transform属性来实现转换效果. 浏览器支持 属性 浏览器支持 2D transform IE Firefox Chrome(-webkit-) Safari(-webkit-) Opera 3D transform IE Firefox Chrome(-webkit-) Safari(-webkit-)

css3实现3D动画轮播图

这个感觉有点水,只是一个很简单的css3的3D动画,不过对于不会的人来说,应该还是蛮能唬人的吧,哈. 原理很简单,老规矩,都在注释里面,可以直接复制走代码,粘贴 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> * { padding: 0; marg

CSS3 《3D骰子 压大小》

游戏在线预览地址:http://dtdxrk.github.io/game/3d-dice/index.html js判断一个随机数大小的游戏. 本来想用canvas做的,平面的生产一个点数,感觉没啥意思. 结合CSS3来吧,正好温习一下css3的3d属性. CSS具体实现过程[CSS3练习]3D盒子制作

基于CSS3的3D旋转效果

自从有了html5和css3,好多以前只能想想的华丽效果都可以上手实现了.3D 转换(个人认为3D变换更贴切^)就是其中之一.关于3D转换,可以阅读CSS3 3D transform变换,不过如此,文中对3D转换进行了形象.生动.详细的阐述.在这里,只和大家讨论怎么利用3D转换来实现立体及其旋转效果,例如: 好吧,废话不多说,上代码! 1.页面代码 1 <div class="translate3D_test"> 2 <ul class="cube"

CSS3的3D转换效果详解介绍

CSS3的3D转换效果详解介绍:本章介绍一下CSS3的3D转换效果,此效果的实现依靠的是transform属性,3D转换只是此属性的部分应用,更多相关内容可以参阅CSS3的transform属性总略介绍一章节.掌握3D转换效果,可以从三个方法作为突破口,分别是rotateX, rotateY, rotateZ,在2D变换过程中rotate()函数的应用,它表示旋转的意思,由于是2D变换,所以它只是在一个平面进行旋转,所以无需细分,具体可以参阅CSS3的2D转换效果详细介绍一章节. 下面分别介绍一

CSS3的3D转换translate3d(x,y,z)函数

CSS3的3D转换translate3d(x,y,z)函数:translate3d(x,y,z)只是规定3D转换的一种形式,更多相关内容可以参阅CSS3的3D转换效果详解介绍一章节.此函数用来规定指定元素在三维空间中的位移.语法结构: translate3d(x,y,z) 参数解析:1.x:表示在x轴方向的位移.2.y:表示在y轴方向的位移.3.z:表示在z轴方向的位移.代码实例:1.x轴方向的位移: <!DOCTYPE html> <html> <head> <

初步学习css3之3D动画

本人是一名前端菜鸟,在css3如此火爆的时代,今天才来接触这个神秘的东西,第一次接触到的就是使用css3制作3d动画,特来写此文章,高手勿喷. 以下是body部分 <body> <div id="my3d"> <div id="pagegroup"> <div class="page" id="page1">1</div> <div class="pa