自制样式美观的input组件(以search输入框为例,含源码)

阅读本文前,读者需要有一定的html + css的技术功底。

不说废话,先附上search输入框的成果截图:

分析:

1. 组件分解:分解为如下几个部分:

1)外层:增加一个容器,如div

2)内层:

一个input输入框

一个按钮

2. 设置样式:

1)容器样式

增加border属性,样式代码:

border: solid 1px #ddd;

增加border圆角边框,样式代码:

border-radius: 5px

2)输入框样式

去除border样式:

border: none

去除轮廓样式:

outline: 0 none;

3)按钮样式

同样,去除border样式

border: none

给按钮增加搜索背景图片样式:

background-image: url("images/ico_sear.gif");

background-repeat: no-repeat;

设置display样式为:inline

这样分解完,相信大家就很容易理解了。

并附上完整实现代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> 自制search搜索框组件 </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <style>
	.searchBlock{
		width: 110px;
		border:solid 1px #ddd;
		border-radius: 5px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-khtml-border-radius: 5px;
	}

	.searchBlock span{
		float: left;
	}
	.searchText{
		border: none;
		width: 80px;
		margin: 2px 5px;
		outline: 0 none;
	}
	.searchBtn{
		border: none;
		width: 16px;
		height: 16px;
		cursor: pointer;
		background-image: url("images/ico_sear.gif");
		background-repeat: no-repeat;
		display: inline;
		margin: 2px 0px;
	}
  </style>
 </head>

 <body>
  <div class="searchBlock">
	<span>
		<input type="text" id="search" name="search" class="searchText">
	</span>

	<input type="button" class="searchBtn">
  </div>
 </body>
</html>

搜索图片如下:

通过这样的一个实例,我们也可以做出很多类似的组件了。

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

时间: 2024-11-13 10:44:02

自制样式美观的input组件(以search输入框为例,含源码)的相关文章

微信小程序开发-地图map组件上使用input组件

微信小程序开发-地图map组件上使用input组件 标签: 微信小程序 uni-app 原生组件层级关系 微信小程序在最高层级 在微信小程序中原生组件包括camera canvas input(仅在focus时表现为原生组件) live-player live-pusher map textarea video 在微信小程序开发中原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上. 后插入的原生组件可以覆盖之前的原生组件. 原生组件还无法在 pic

input的value文本输入框文字提示样式

一.value="请输入你要搜索的关键词" onfocus="if (this.value=='请输入你要搜索的关键词') this.value='';" 二.value="请输入你要搜索的关键词" onblur="if(this.value==''){this.value='请输入你要搜索的关键词'}" onfocus="this.value=''" value="请输入你要搜索的关键词&quo

input组件中数字转成千分位的策略

在Web前端开发中input组件若只限制数字输入,并且希望将这些数字按照千分位隔开的话,那么我们可以通过一个js方法来实现,如下所示: toThousandsFormat(number) { if (number) { return '' } if (num.toString().trim() == '') { return '' } if (isNaN(number)) { return '' } number = parseFloat(number.toString().replace(/[

【原创】.NET平台机器学习组件-Infer.NET连载(二)简单贝叶斯分类器的例子—【附源码和自制帮助文档】

Infer.NET机器学习翻译系列文章将进行连载,感兴趣的朋友请收藏或关注 你还可以参考本博客其他.NET开源项目的相关文章: [原创]彩票预测算法:离散型马尔可夫链模型          Newlife XCode组件资源目录汇总[2013年版] [原创]开源.NET下的XML数据库介绍及入门          [原创].NET开源压缩组件介绍与入门 [开源].NET开源表达式计算组件介绍与使用          [原创]开源Word读写组件DocX介绍与入门 [原创]Matlab.NET混编

修改elementUI源码新增组件/修改组件

前言 经常我们会遇到elementUI组件库期间有5%达不到我们想要的需求,第一我们重新写组件,第二我们改源码 安装element https://github.com/ElemeFE/element.git 新建组件 1.packages文件夹中新建alertText/src/main.vue <template> <div> <div>新增alertText组件测试</div> <input :type="typeInput"

【React源码分析】组件通信、refs、key和ReactDOM

React源码系列文章,请多支持:React源码分析1 - 组件和对象的创建(createClass,createElement)React源码分析2 - React组件插入DOM流程React源码分析3 - React生命周期详解React源码分析4 - setState机制React源码分析5 -- 组件通信,refs,key,ReactDOMReact源码分析6 - React合成事件系统 1 组件间通信 父组件向子组件通信 React规定了明确的单向数据流,利用props将数据从父组件传

android四大组件之Activity - (1)从源码中理解并巧用onWindowFocusChanged(boolean hasFocus)

这里开始到后面,想趁着有时间,将Android四大组件和一些系统组件做一些总结和记录.由于网上已经有很多写的很好并且总结也全面的文章.小弟我也囊中羞涩不敢献丑,就记录一些自己觉得重要的有用的知识点,顺便大家一起学习讨论啥的也好 Activity作为四大组件之一,对于整个Android开发有多重要就无需赘言了.关于它的生命周期,这里借用下官网的图,便一目了然: 那么它的生命周期和我们所说的onWindowFocusChanged(boolean hasFocus)方法有何关系? Activity生

【原创】Newlife.XCode的常见功能使用(一)附X组件2015最新源码

你还可以参考本博客其他的XCode以及.NET开源项目的相关文章: Newlife XCode组件资源目录汇总[2013年版] 拥有自己的代码生成器—Newlife.Xcode模板编写教程 [原创]开源.NET下的XML数据库介绍及入门                      Newlife.XCode对象容器与接口操作实例 [转载总结]关于泛型基类的相关知识                              利用Xcode 20行代码搞定任何数据库的迁移 使用Xcode自动向数据库插

****CI框架源码阅读笔记7 配置管理组件 Config.php

http://blog.csdn.net/ohmygirl/article/details/41041597 一个灵活可控的应用程序中,必然会存在大量的可控参数(我们称为配置),例如在CI的主配置文件中(这里指Application/Config/Config.php文件),有如下多项配置: $config['base_url'] = 'http://test.xq.com'; $config['index_page'] = ''; $config['uri_protocol'] = 'AUTO