html里input的大小怎么控制(如何使用div模仿input效果)

前言

在很多web或者app页面中,我们可以看到各种各样的输入框,从外观上看它们可以直观的看做是input元素,但是实际上并非如此。我们可以通过别的标签去模拟input标签的效果,今天我们就来看看如何使用div标签模拟input标签的效果。

html里input的大小怎么控制(如何使用div模仿input效果)(1)

div css

页面效果

这里我们用ofo的主页面作为例子,在点击下面数字的时候,数字的内容会出现在输入框内,这个输入框就是用div模拟实现的。

当然页面内容是静态的,只是一个简单的html,我们来看下实现后的效果。如果感兴趣的可以直接去github上去看看,源码地址:

https://github.com/zhouxiongking/article-pages/tree/master/articles/divToInput

html里input的大小怎么控制(如何使用div模仿input效果)(2)

css样式

:before

我们使用:before伪元素来装载输入的内容,在:before元素中使用content属性来动态的元素的属性值。

html里input的大小怎么控制(如何使用div模仿input效果)(3)

使用:before伪元素

闪烁动作

在input标签中,如果input元素获取焦点后,在input元素内会有光标在闪烁,这个效果我们可以通过:after伪元素来实现。

我们会用到动画animation的知识,首先定义一个动画效果,利用opacity属性来控制显示与不显示,从而造成闪烁效果。

html里input的大小怎么控制(如何使用div模仿input效果)(4)

定义闪烁动作

然后在:after伪元素中使用。

html里input的大小怎么控制(如何使用div模仿input效果)(5)

:after伪元素

Javascript控制输入

在设置好div效果后,需要在点击下面的数字时,将值显示在div中,这就需要用到Javascript去控制。

首先获取页面上所有存在动作的元素。

html里input的大小怎么控制(如何使用div模仿input效果)(6)

获取元素

然后给数字和删除元素分别添加对应的事件。

html里input的大小怎么控制(如何使用div模仿input效果)(7)

元素绑定事件

绑定事件后,在点击数字时会将值动态的显示在div中,在删除时也会相应删掉最后一个添加的元素值。

页面设计

对于整个页面的设计,采用了header,div和footer的布局。

header和div的html部分代码如下。

html里input的大小怎么控制(如何使用div模仿input效果)(8)

header与div

相应的footer部分代码如下,其主要采用的是table布局,相对简单实用。

html里input的大小怎么控制(如何使用div模仿input效果)(9)

footer部分

至此,整个页面的实现就讲解完毕了,中间有很多的css样式部分我并没有放出来,感兴趣的可以自行去github上clone下来看看。

总结

今天这篇文章主要以ofo主页面实现来讲解了一下如何使用div来模拟input的效果,你有收获吗

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页