论坛首页 Web前端技术论坛

css 圆角 输入框

浏览 16268 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (17) :: 隐藏帖 (5)
作者 正文
   发表时间:2009-12-21  

前一段时间,项目主要集中于前端页面的开发,对于Css样式也学习了很多,其中有一项就是制作一个圆角输入框:

对应的代码:

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
		<style type="text/css">
			input {
				border:0px;
				background-image:url(images/long-input.png);
				background-repeat:no-repeat;
				background-position-x:right;
				padding-left:3px;
				padding-right:3px;
				height:18px;
				font-size:11px;
				width:70px;
			}
		</style>
    </head>
    <body>
        <form>
            <input value="Hellokitty"/>
        </form>
    </body>
</html>
 

实现思路如下:

1.使用border:0px;去掉input框默认的边框

2.制作一个圆角的输入框,并设定为input的背景图片并且设定background-repeat:no-repeat;以不让背景图片重复

3.由于是使用固定的背景制作圆角,因此需要设定固定的height:18px;font-size:11px;font-size:11px;

此时的效果图:



 4.发现输入框中的内容压在了左边的背景图片上,因此使用padding-left:3px;使内容有一定的左边距padding-right:3px;同理

此时基本完成整个制作,但在IE下输入字符多的情况下出现:



 也就是说当输入文字过多的时候,背景图片随着左移了,此时设置一个关键字属性background-position-x:right;就可已完成预期的效果了

 

总结:

使用背景图片制作圆角框实现机理简单,但是灵活性不大,因此对于那些需要改变宽高的圆角输入框来说只能制作多张图片,灵活性较差,但是对于不需要改变宽高,大小一致的圆角输入框来说,是一种简单有效的方式。大家也可以分享一下其他的实现方式,比较一下~

 

  • 大小: 2.9 KB
  • 大小: 781 Bytes
  • 大小: 816 Bytes
  • 大小: 869 Bytes
   发表时间:2009-12-23  
实际应用中真的会这样去实现吗(提供一个定长的背景图)? 就这个输入框的长度问题已经是一个很致命的地方。实际应用中是不是应该由几张背景图去实现会好一点?譬如有圆角的背景图,和直线的背景图
0 请登录后投票
   发表时间:2009-12-23   最后修改:2009-12-23
ff,chrome,safari下面可以用圆角边框来实现,IE下面还是用背景比较好

input {  
                height:18px;  
		inline-height:18px;
                font-size:11px;  
                width:70px; 
		text-align:center;
		border:#ccc 1px solid;
		border-radius: 5px; /* css 3标准 */
  		-moz-border-radius: 5px;  /* mozilla */
  		-webkit-border-radius: 5px;  /* webkit */
 }  


0 请登录后投票
   发表时间:2009-12-23   最后修改:2009-12-23
引用
实际应用中是不是应该由几张背景图去实现会好一点?譬如有圆角的背景图,和直线的背景图

确实应该如此,这样更灵活,适用的场景更广泛。但一个最现实的问题是,背景图片该如何制作?或者说是不是还要另外再去掌握一种图片制作的技能?感觉这不是个简单的问题。
0 请登录后投票
   发表时间:2009-12-23  
还有比这更吃饱了撑的事吗?
0 请登录后投票
   发表时间:2009-12-23  
为什么要圆角框呢? 是国内的项目吗?客户要求的吗?
0 请登录后投票
   发表时间:2009-12-24  
感觉还是比较好实现的吧,有很多方法啊。
0 请登录后投票
   发表时间:2010-02-03   最后修改:2010-02-03
可以用border-image +  background-color实现,对任意大小的都可以用。
效果如下:





不过背景色填充的时候我不知道怎么填充的。
具体请看:http://www.iteye.com/problems/35557
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics