html怎么设置好看的文本框,14种CSS3炫酷表单input输入框美化效果

这是一款效果非常酷的CSS3表单input输入框美化效果插件。为表单的input输入框制作一些特殊的效果能给用户带来更好的用户体验。这个CSS3表单input输入框美化插件就是一个很好的例子。这个插件中的效果大多数是使用CSS transitions来切换伪元素制作的。

HTML结构

HTML结构使用一个span作为wrapper,包裹住input和它的label。为了效果能正常工作,要将label放置在input后面,这是在使用复选框和单选按钮时的通常做法。但这种做法不是必须的,你可以使用js来在input聚焦时动态为它添加class。在这个插件中,我们通过相邻的兄弟选择器,使用CSS的:focus伪元素来制作效果。注意,不是所有的效果都使用CSS来触发。

First Name

这里最有用的元素是label。我们可以使用:before和:after伪元素来制作各种边框和背景效果,然后还可以使它们产生动画效果。我们甚至还能制作类似"Kyo"这个demo中的遮罩效果。

b5f990597dde89240d13bb4bf9bff1a4.gif

CSS样式

第一种效果“Haruki”,效果看起来像是我们移动了input的边框,但实际上我们移动的是label元素的两个伪元素。

.input--haruki {

margin: 4em 1em 1em;

}

.input__field--haruki {

padding: 0.4em 0.25em;

width: 100%;

background: transparent;

color: #AFB5BB;

font-size: 1.55em;

}

.input__label--haruki {

position: absolute;

width: 100%;

text-align: left;

pointer-events: none;

}

.input__label-content--haruki {

transition: transform 0.3s;

}

.input__label--haruki::before,

.input__label--haruki::after {

content: '';

position: absolute;

left: 0;

z-index: -1;

width: 100%;

height: 4px;

background: #6a7989;

transition: transform 0.3s;

}

.input__label--haruki::before {

top: 0;

}

.input__label--haruki::after {

bottom: 0;

}

.input__field--haruki:focus + .input__label--haruki .input__label-content--haruki,

.input--filled .input__label-content--haruki {

transform: translate3d(0, -90%, 0);

}

.input__field--haruki:focus + .input__label--haruki::before,

.input--filled .input__label--haruki::before {

transform: translate3d(0, -0.5em, 0);

}

.input__field--haruki:focus + .input__label--haruki::after,

.input--filled .input__label--haruki::after {

transform: translate3d(0, 0.5em, 0);

}

注意我们已经为包裹input的span、input和label添加了一些基本样式。当input聚焦时,label处于input的上面,当两个伪元素动画的时候,我们将使input中的内容往上运动。

b5f990597dde89240d13bb4bf9bff1a4.gif

在Firefox(Mac系统)中,文本的渲染效果不是很好,所以你可能会在动画结束时看到文本有些模糊。令人叹息的是,字体模糊不是Firefox浏览器唯一的问题,在某些过渡效果之后,它的字体渲染效果没有Chrome浏览器那么好。

注意:例子“Madoka”中的SVG stroke动画在IE浏览器中看不到效果。(我们在stroke-dashoffset中使用了transition)当你要制作自己的input输入框动画效果时,请时刻注意一点,某些效果可能因为bug的原因而不能再iOS或IE浏览器中正常工作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值