YUI网页布局:自适应宽度的输入框

2016-02-20 00:30 27 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是YUI网页布局:自适应宽度的输入框,一起来学习了解下吧!

【 tulaoshi.com - Web开发 】

YUI中有一种布局思想:栅格决定宽度,内容决定高度,今天讨论的是自适应宽度的输入框,先上代码:

!DOCTYPE htmlhtmlheadmeta charset="utf-8"title宽度自适应输入框/titlelink rel="stylesheet" href="http://yui.yahooapis.com/3.0.0/build/cssreset/reset-min.css"style.col{padding:10px;width:500px;background-color:yellow;}.fluid-input{display:inline-block;width:100%;overflow:hidden;}.fluid-input-inner{display:block;padding-right:10px;#zoom:1;}.fluid-input .text, .fluid-input textarea{border:2px #ccc solid;padding:3px;width:100%;}.fluid-input textarea{height:300px;}/style/headbodydiv class="col"b class="fluid-input"b class="fluid-input-inner"input class="text" type="text"/b/bb class="fluid-input"b class="fluid-input-inner"textarea/textarea/b/b/div/body/html

简单说一下原理:

为了有较好的体验,input[type='text']及textarea一般会有border值及padding值(鄙视某些padding设为0滴淫儿),利用如下公式:

.fluid-input-inner{padding-right:输入框左边框 + 输入框右边框 + 输入框左padding + 输入框右padding}

让输入框继承fluid-input-inner的宽度即可实现自适应;而IE6有个宽度超出自动撑开的bug,故再多套一层fluid-input,宽度100%,溢出隐藏即可。

col宽度随意,在宽度自适应布局中默认为auto,这里方便演示定了宽度。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

这里由内而外解说,不过命名是由外而内的。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

更进一步

focus时border变为4px咋整?

问的好(其实是偶自己在问),输入框focus后增加class=focus,即变为:

textarea class="focus"/textarea

CSS:

.focus{position:relative;left:-2px;border-width:4px !important;}

乡民问答分隔线 -

美女反馈了个bug,IE6下textarea输入文字的时候就自己撑开了(昨晚下班路上也跟我说过,不过我没当回事,嘿~),我试了一下果真如此,解决方法很简单:触发fluid-input-inner的hasLayout即可。

来源:http://www.tulaoshi.com/n/20160220/1631973.html

延伸阅读
标签: Web开发
公司的项目中需要显示由用户提供URI链接的图片,可是预先无法获知图片的尺寸大小,假如图片尺寸过大将会影响页面布局。最理想的解决方案自然是自动生成缩略图,涉及的后台工作较为复杂,用CSS进行控制是个能够接受的捷径。 假如用width属性强行设定显示尺寸似乎太不智能。幸好Firefox/Opera/IE7都提供了max-width属性支持。 假定...
标签: FLASH flash教程
poluoluo核心提示:在网页局部的布局上,需要采用大量的自适应,来满足不同长度数据、内容的合理呈现。以此保证页面不至于因为内容过多等原因,导致重叠、溢出、撑开等破坏整体视觉效果的情况。这里就简单谈谈几个自己碰到过的自适应问题。 在网页局部的布局上,需要采用大量的自适应,来满足不同长度数据、内容的合理呈现。以此保证页面不...
标签: Web开发
div.IPDiv{background:#ffffff;width:120;font-size:9pt;text-align:center;border:2 ridge threedshadow;border-right:inset threedhighlight;border-bottom:inset threedhighlight; } input.IPInput{width:24;font-size:9pt;text-align:center;border-width:0; }
标签: Web开发
公司的项目中需要显示由用户提供URI链接的图片,可是预先无法获知图片的尺寸大小,如果图片尺寸过大将会影响页面布局。最理想的解决方案自然是自动生成缩略图,涉及的后台工作较为复杂,用CSS进行控制是一个可以接受的捷径。 如果用width属性强行设定显示尺寸似乎太不智能。幸好Firefox/Opera/IE7都提供了max-width属性支持。假定希望...
表单是由许多细小的元素所组合而成的集合体,标题和输入框的排列方式有着重要的地位,标题要放在输入框的左侧还是上面?要靠左还是靠右?要怎么排列才能提高表单的完成率呢? 标题和输入框常见的排列方式 1. 放在输入框左边,而且靠左对齐 2. 放在输入框左边,但是靠右对齐 3. 放在输入框上面 4. 放在输入框里面 排列方式的比较...

经验教程

843

收藏

91
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部