APP中嵌入webview时 碰到的文字对齐需求 ----主测 chrome firefox safaricss
第一感受就是直接在placeholder属性中写入 \n <br> 之类的 ,然而并没什么用html
网上查了下 各类说辞不一, 概括总结以下:android
有效方法列表:web
· 相似\n的解决方式 如:chrome
[1] placeholder="Line 1 Line 2"浏览器
[2] placeholder="Line 1ide
Line2" ----这个是随便测试的,由于会打乱代码格式 我的并不推荐测试
---- chrome 浏览器中测试有效 safari firefox 无效spa
·使用 css ::before 或 ::after 样式实现firefox
<textarea id="textline" placeholder="..." rows="5"></textarea> <style> #textline::-webkit-input-placeholder::before { display:block; color:#666; content: "line1 \A line2 \A line3 \A"; } </style>
---- safari 浏览器中测试有效 chrome firefox无效
同理 使用 -moz-placeholder before after 尝试解决 firefox 浏览器兼容问题
搜索参考了网上的一段css样式 内容以下:
/* all */ ::-webkit-input-placeholder { color:#f00; } ::-moz-placeholder { color:#f00; } /* firefox 19+ */ :-ms-input-placeholder { color:#f00; } /* ie */ input:-moz-placeholder { color:#f00; } /* individual: webkit */ #field2::-webkit-input-placeholder { color:#00f; } #field3::-webkit-input-placeholder { color:#090; background:lightgreen; text-transform:uppercase; } #field4::-webkit-input-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; } /* individual: mozilla */ #field2::-moz-placeholder { color:#00f; } #field3::-moz-placeholder { color:#090; background:lightgreen; text-transform:uppercase; } #field4::-moz-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }
然而实际测试发现并无什么用 -------
不过 到这边 已经解决了 android 及 iOS 嵌入的webview中 placeholder 提示换行问题
就不过分纠结了
其余搜集方法列表:
· 使用js 在定义的字符串中 如: var ph = "line \n another line \n third line";
而后再赋值到placeholder 属性上
·结合div css 实现样式覆盖
实现起来感受比较麻烦 仍是算了吧
若是你也碰到了这个问题 看到这个 ,而且方便的解决了 firefox 的兼容问题,欢迎留言交流 :)