【转】如何建立一个样式新颖的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;

}

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

viagbtags

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

时间: 2024-11-25 12:45:20

【转】如何建立一个样式新颖的CSS3搜索框的相关文章

8款好看的纯CSS3搜索框

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>8款纯CSS3搜索框</title> <link href

如何制作一个必应(百度)搜索框?

代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 <meta charset="UTF-8"> <title>Document</title> <style type="text/css">     *{         margin:0

一个按钮引发的css3知识

来源:http://www.html5cn.org/article-5971-1.html 还在用死板的图片做按钮的背景吗,我之前就这么用,但现在不了,也没那么绝对,假如你的老板,非让你把ie6的问题都解决完,那你有两种方法,一继续用图片,二辞职走人,追逐刺激的新技术吧!哦,好像在国外,有一种玩意css3他不叫新技术,人家玩的差不多了. 看看下边的这个按钮,话说,纯css打造,当然,我不敢直面淋漓的ie浏览器,你也算了,来看看火狐,谷歌,以及移动端的表现吧. 看css代码,先后运用了空城计,反间

Jmeter建立一个扩展LDAP测试计划

添加用户 第一步你想做的每一个JMeter测试计划是添加一个线程组元素. 线程组告诉JMeter的用户数量你想模拟,用户应该发送的次数 请求,他们应该发送的请求的数量. 继续添加 线程组 首先选择元素 测试计划 ,点击你的 鼠标右键来获得 添加 菜单,然后选择 添加 一个?? 线程(用户) 一个?? 线程组 . 您现在应该看到 线程组 元素在 测试计划 . 如果您没有看到的元素,然后测试计划树的“扩大” 点击测试计划元素. 图9责任. 线程组的默认值 添加LDAP请求违约 用户首先选择LDAP

jmeter 建立一个扩展LDAP测试计划

添加用户 第一步你想做的每一个JMeter测试计划是添加一个线程组元素. 线程组告诉JMeter的用户数量你想模拟,用户应该发送的次数 请求,他们应该发送的请求的数量. 继续添加 线程组 首先选择元素 测试计划 ,点击你的 鼠标右键来获得 添加 菜单,然后选择 添加 一个?? 线程(用户) 一个?? 线程组 . 您现在应该看到 线程组 元素在 测试计划 . 如果您没有看到的元素,然后测试计划树的“扩大” 点击测试计划元素. 图9责任. 线程组的默认值 添加LDAP请求违约 用户首先选择LDAP

c语言:写一个函数建立一个有3名学生数据的单向动态链表

写一个函数建立一个有3名学生数据的单向动态链表. 解:程序: #include<stdio.h> #include<stdlib.h> #define LEN sizeof(struct Student) struct Student { long num; float score; struct Student *next; }; int n; struct Student *creat(void)//定义函数返回一个指向链表头的指针 { struct Student *head

如何建立一个GPU加速的研究计算集群(一)

世界上某些最快的计算机是集群组成的.集群是有多个计算机通过高速网络连接起来的一个计算系统.集群计算机比单台计算机可以达到更高的可用性,可靠性和伸缩性.随着对基于GPU的高性能计算采用越来越广,英伟达GPU逐渐成为世界上最厉害的超级计算集群的一部分.世界前500的超级计算机中,包括差不多50个采用了英伟达的的GPU,并且目前世界上最快的计算机泰坦,使用了大约18000个英伟达开普勒GPU. 在这个帖子中,我将会一步一步的介绍设计.部署和管理一个小型的GPU集群整个过程.我会介绍GPU集群的组成部分

Hyperledger Fabric 建立一个简单网络

p { margin-bottom: 0.25cm; line-height: 120% } Building you first network 网络结构: 2个Orgnizations(每个Org包含2个peer节点)+1个solo ordering service 打开fabric-sample下的示例first-network p { margin-bottom: 0.25cm; line-height: 120% } 其中byfn.sh为启动这个网络的启动脚本,启动脚本中除建立一个包含

如何建立一个自己的网站,建网站的步骤

引导语:其实建好一个网站,除了把网站设计出来之外,还需要域名空间等,那么,具体建立一个网站的步骤是什么呢?接下来由小编给大家带来收集整理的建网站的步骤,希望看完对你有帮助! 网站建设步骤 1.网站方案策划(主要是网站定位,功能,界面风格等) 2.注册域名 3.网站制作(可自己制作,也可选择专业的网站建设公司) 4.购买虚拟主机(或配置独立主机) 5.配置域名.主机及调整程序开通网站 6.网站内容增加 7.网站推广 (一)域名(Domain Name),是由一串用点分隔的名字组成的Internet