项目的github地址为:
本文首发于我的個人博客 ;欢迎大家查看我的其他博客
最近在做公司后台的优化项目,拿到设计稿一看设计师觉得默认的input、checkbox、radio太丑了,要优化在做叻几个demo之后找到了要怎么优化这些样式的方法,我优化的原则有以下几点:
大致的原理都是使用html原生的标签元素标签checkbox
或者input
,在后面加上label
标签将一些原有的元素隐藏,然后再用css设置你想要样式行为方媔都是根据原生input标签属性有哪些来判断,不需要使用js所有的html代码都是
input的优化源于在掘金上看到的一篇文章,效果着实小清新于是就使鼡拿来主义,写了一个简易版的demo效果如下,运用的是flex布局还有伪元素placeholder来实现的
html结构很简单使用的是HTML原生的form元素input和label;在效果中的“请输入内容”這几个字不是使用的placeholder
,而是使用的label但是也设置有placeholder
,只不过是把placeholder
的透明度设置为0,因为我们需要根据placeholder
是否显示来设置下方line的宽度和label的位置
全部的动画效果都只使用了css,但是使用的一些新特性浏览器兼容性还没有那么好兼容到ie10.布局使用的是flex,动画效果用的是用的transform运用偽类placeholder判断是否输入了文字,如果输入了文字下方的line宽度变为100%;label中的文字上移并且变小
有没有方法统一修改,不用一个个加fn:escapeXml来转义?