• 【转】如何建立一个样式新颖的CSS3搜索框


    如何建立一个样式新颖的CSS3搜索框

    在线演示

    搜索框大概是web开发中最常用的UI元素之一,我想基本没有必要去介绍如何使用它。无论是网站还是web应用,都会为了增强用户体验而添加它,那么你是不是也想过设计一个别致的搜索框?

    在今天的文章中,大家将会学到如何使用伪元素来创建一个超酷的CSS3搜索框。当然在开始介绍前你也可以下载源代码或者查看在线演示。

    HTML举例:

    正如接下来你所看到的,标记很少,并且很容易理解:

    <form class=“cf form-wrapper”>

    <input type=“text” placeholder=“Search here.。.” required>

    <button type=“submit”>Search</button>

    </form>

    你可能注意到了HTML5的特殊属性,像placeholder和required,简介如下:

    .placeholder-基本上,这个属性的作用在于当文本框获得焦点之前,先在文本框里显示一个域的信息,直到获得焦点后,域的信息被隐藏。

    .required-这个属性说明了当前元素是表单提交中的一个必需属性。

    HTML5也给我们带来了一个新的type属性:type="search"。

    小贴士:HTML 元素像img 和input 都没有内容,所以,像before这样的伪元素不会为我们的搜索框呈现任何箭头。我的解决方案是使用button type=“submit” 元素代替普通的input type=“submit”。这样,我们就可以用ENTER键来提交表单。

    CSS举例

    接下来,你将会看到demo里必要的样式:

    清除浮动

    .cf:before, .cf:after{

    content:“”;

    display:table;

    }

    .cf:after{

    clear:both;

    }

    .cf{

    zoom:1;

    }

    表单元素

    有前缀的属性像-moz、-box、-shadow 不包括在内,我只想让下面的代码保持干净。

    /* Form wrapper styling */

    .form-wrapper {

    width: 450px;

    padding: 15px;

    margin: 150px auto 50px auto;

    background: #444;

    background: rgba(0,0,0,.2);

    border-radius: 10px;

    box-shadow: 0 1px 1px rgba(0,0,0,.4) inset, 0 1px 0 rgba(255,255,255,.2);

    }

    /* Form text input */

    .form-wrapper input {

    width: 330px;

    height: 20px;

    padding: 10px 5px;

    float: left;

    font: bold 15px ‘lucida sans’, ‘trebuchet MS’, ‘Tahoma’;

    border: 0;

    background: #eee;

    border-radius: 3px 0 0 3px;

    }

    .form-wrapper input:focus {

    outline: 0;

    background: #fff;

    box-shadow: 0 0 2px rgba(0,0,0,.8) inset;

    }

    .form-wrapper input::-webkit-input-placeholder {

    color: #999;

    font-weight: normal;

    font-style: italic;

    }

    .form-wrapper input:-moz-placeholder {

    color: #999;

    font-weight: normal;

    font-style: italic;

    }

    .form-wrapper input:-ms-input-placeholder {

    color: #999;

    font-weight: normal;

    font-style: italic;

    }

    /* Form submit button */

    .form-wrapper button {

    overflow: visible;

    position: relative;

    float: right;

    border: 0;

    padding: 0;

    cursor: pointer;

    height: 40px;

    width: 110px;

    font: bold 15px/40px ‘lucida sans’, ‘trebuchet MS’, ‘Tahoma’;

    color: #fff;

    text-transform: uppercase;

    background: #d83c3c;

    border-radius: 0 3px 3px 0;

    text-shadow: 0 -1px 0 rgba(0, 0 ,0, .3);

    }

    .form-wrapper button:hover{

    background: #e54040;

    }

    .form-wrapper button:active,

    .form-wrapper button:focus{

    background: #c42f2f;

    outline: 0;

    }

    .form-wrapper button:before { /* left arrow */

    content: ‘’;

    position: absolute;

    border-width: 8px 8px 8px 0;

    border-style: solid solid solid none;

    border-color: transparent #d83c3c transparent;

    top: 12px;

    left: -6px;

    }

    .form-wrapper button:hover:before{

    border-right-color: #e54040;

    }

    .form-wrapper button:focus:before,

    .form-wrapper button:active:before{

    border-right-color: #c42f2f;

    }

    .form-wrapper button::-moz-focus-inner { /* remove extra button spacing for Mozilla Firefox */

    border: 0;

    padding: 0;

    }

    希望大家能喜欢这个教程,并且期待你们的反馈。谢谢阅读!

    via gbtags

    来源:如何建立一个样式新颖的CSS3搜索框

  • 相关阅读:
    Token_使用JWT生成token
    JSON Web Tokens(JWT)
    Hadoop 2.0 中的资源管理框架
    Hadoop 1.0 和 2.0 中的数据处理框架
    Hadoop 概述
    探索 OpenStack 之(17):计量模块 Ceilometer 中的数据收集机制
    探索 OpenStack 之(16):计量模块 Ceilometer 介绍及优化
    VMware + OpenStack: 从 Plugin 到 VIO (VMware Integrated OpenStack)的演进
    探索 OpenStack 之(15):oslo.messaging 和 Cinder 中 MessageQueue 消息的发送和接收
    探索 OpenStack 之(14):OpenStack 中 RabbitMQ 的使用
  • 原文地址:https://www.cnblogs.com/dirgo/p/4967677.html
Copyright © 2020-2023  润新知