html输入框点击边框颜色不变,css--处理输入框后颜色问题

input:-webkit-autofill , textarea:-webkit-autofill, select:-webkit-autofill {

-webkit-text-fill-color: #ededed !important;

-webkit-box-shadow: 0 0 0px 1000px transparent  inset !important;

background-color:transparent;

background-image: none;

transition: background-color 50000s ease-in-out 0s; //背景色透明  生效时长  过渡效果  启用时延迟的时间

}

input {

background-color:transparent;

}

input{outline:none;}

这样点击输入框的时候就不会触发边框颜色了

input:-webkit-autofill { box-shadow: 0 0 0px 1000px white inset;}

chrome表单自动填充后,input文本框的背景会变成偏×××的,这是由于chrome会默认给自动填充的input表单加上input:-webkit-autofill私有属性,然后对其赋予以下样式:

input:-webkit-autofill {

background-color:#FAFFBD;

background-image:none;

color:#000;

}

在有些情况下,这个×××的背景会影响到我们界面的效果,尤其是在我们给input文本框使用图片背景的时候,原来的圆角和边框都被覆盖了:

情景一:input文本框是纯色背景的

可以对input:-webkit-autofill使用足够大的纯色内阴影来覆盖input输入框的×××背景;如:input:-webkit-autofill {

-webkit-box-shadow:000px1000pxwhite inset;

border:1pxsolid #CCC!important;

}

如果你有使用圆角等属性,或者发现输入框的长度高度不太对,可以对其进行调整,除了chrome默认定义的background- color,background-image,color不能用!important提升其优先级以外,其他的属性均可使用!important提升其 优先级,如:input:-webkit-autofill {

-webkit-box-shadow:000px1000pxwhite inset;

border:1pxsolid #CCC!important;

height:27px!important;

line-height:27px!important;

border-radius:04px4px0;

}

情景二:input文本框是使用图片背景的

这个比较麻烦,目前还没找到完美的解决方法,有两种选择:

1、如果你的图片背景不太复杂,只有一些简单的内阴影,那个人觉得完全可以使用上面介绍的方法用足够大的纯色内阴影去覆盖掉×××背景,此时只不过是没有了原来的内阴影效果罢了。

2、如果你实在想留住原来的内阴影效果,那就只能牺牲chrome自动填充表单的功能,使用js去实现,例如:$(function(){

if(navigator.userAgent.toLowerCase().indexOf("chrome")>=0){

$(window).load(function(){

$('ul input:not(input[type=submit])').each(function(){

varoutHtml =this.outerHTML;

$(this).append(outHtml);

});

});

}

});

遍历的对象可能要根据你的需求去调整。如果你不想使用js,好吧,在form标签上直接关闭了表单的自动填充功能:autocomplete=”off”。

三、使用网上的几种处理方法后的问题:

方法一:

添加如下代码:

input:-webkit-autofill {-webkit-box-shadow: 0 0 0px 1000px white inset;}

问题为:第一次打开页面,文本框正常,为白色背景,如下面左图;但是点击文本框后,背景再次被填充为×××了,如下面右图;所以未达到效果。

方法二:

添加如下代码:

input:-webkit-autofill {-webkit-box-shadow: 0 0 0px 1000px white inset !important;}

与上一个对比,在样式后面添加了“!important”,使用!important提高其优先级。

问题为:第一次打开,文本框背景没有被填充;点击文本框,背景也没有被填充;但是自己为文本框添加的点击获得焦点后添加阴影的效果没有了。

审查元素后,看看原来如此,后加的阴影样式覆盖了自己写的外边框阴影;如此还是没有达到效果。

四、目前我使用解决方案:

在form标签上直接关闭了表单的自动填充功能:autocomplete=”off”

第一次打开页面文本框没有填充×××背景,点击获得焦点后也没有填充×××背景,我自己添加的外边框蓝色阴影也还有。算是达到了预期效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值