解决方法
button[disabled],
textarea[disabled],
input:disabled,
input[disabled] {
-webkit-text-fill-color: #2c363f;
-webkit-opacity: 1;
opacity: 1;
color: #2c363f;
}
input[disabled]::placeholder {
-webkit-text-fill-color: darkgray;
}
原因
IOS输入框disabled状态下有默认样式,当input元素被禁用(disabled)时,默认将disabled属性的透明度(opacity)设置为0.3,导致文本内容在视觉效果上不显示。
样式设置不生效
如果设置完以上样式依然不生效,则看下是不是有其他样式覆盖,比如以下设置是不生效的:
.el-input.is-disabled .el-input__inner,
.el-cascader.is-disabled .el-cascader__label,
.el-radio__input.is-disabled + span.el-radio__label,
.el-textarea.is-disabled .el-textarea__inner,
.el-checkbox__input.is-disabled + span.el-checkbox__label {
color: #2c363f !important;
}
button[disabled],
textarea[disabled],
input:disabled,
input[disabled] {
-webkit-text-fill-color: #2c363f;
-webkit-opacity: 1;
opacity: 1;
color: #2c363f;
}
解决:在element选择器处加上同样opacity配置,避免!important滥用
其他
最近发现一个奇怪的问题,iOS混合APP里面接口请求404,其他浏览器则正常,猜测是webview实现原理原因,导致请求http.jsp没有带上相对路径而报404,最后解决方法也是为老项目这个请求加上相对路径才生效/xxx/http.jsp